summaryrefslogtreecommitdiff
path: root/libavformat/mux_utils.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-05-06 17:13:55 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-05-10 07:32:16 +0200
commit20ca491664513c936f7960473b833038b0d5ca99 (patch)
tree08b8e757687756d9b20b6d3b9249869ecef3997e /libavformat/mux_utils.c
parent08c14e67bb1422a1075812be211360acc177a826 (diff)
avformat/utils: Move ff_stream_encode_params_copy() to mux_utils.c
Only used by muxers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavformat/mux_utils.c')
-rw-r--r--libavformat/mux_utils.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/libavformat/mux_utils.c b/libavformat/mux_utils.c
index 2fa2ab5b0f..eb8ea3d560 100644
--- a/libavformat/mux_utils.c
+++ b/libavformat/mux_utils.c
@@ -121,6 +121,34 @@ int ff_format_output_open(AVFormatContext *s, const char *url, AVDictionary **op
return 0;
}
+int ff_stream_encode_params_copy(AVStream *dst, const AVStream *src)
+{
+ int ret;
+
+ dst->id = src->id;
+ dst->time_base = src->time_base;
+ dst->nb_frames = src->nb_frames;
+ dst->disposition = src->disposition;
+ dst->sample_aspect_ratio = src->sample_aspect_ratio;
+ dst->avg_frame_rate = src->avg_frame_rate;
+ dst->r_frame_rate = src->r_frame_rate;
+
+ av_dict_free(&dst->metadata);
+ ret = av_dict_copy(&dst->metadata, src->metadata, 0);
+ if (ret < 0)
+ return ret;
+
+ ret = avcodec_parameters_copy(dst->codecpar, src->codecpar);
+ if (ret < 0)
+ return ret;
+
+ ret = ff_stream_side_data_copy(dst, src);
+ if (ret < 0)
+ return ret;
+
+ return 0;
+}
+
int ff_parse_creation_time_metadata(AVFormatContext *s, int64_t *timestamp, int return_seconds)
{
AVDictionaryEntry *entry;