diff options
author | Anssi Hannula <anssi.hannula@iki.fi> | 2016-11-05 18:04:00 +0200 |
---|---|---|
committer | Anssi Hannula <anssi.hannula@iki.fi> | 2016-11-07 18:56:36 +0200 |
commit | 9a51cd35b87d75658cdefa029485775f77ed4866 (patch) | |
tree | 7a87ee2213df760fe25c21ce08d3d69cec52bdf5 | |
parent | 34aeb5dbc4fe7267df5f0ebe2ec84c5a8d36a896 (diff) | |
download | ffmpeg-9a51cd35b87d75658cdefa029485775f77ed4866.tar.gz |
avformat/hls: Factor copying stream info to a separate function
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
-rw-r--r-- | libavformat/hls.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c index 3c09dd8be0..6fb652cfeb 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -1528,6 +1528,16 @@ static void add_stream_to_programs(AVFormatContext *s, struct playlist *pls, AVS av_dict_set_int(&stream->metadata, "variant_bitrate", bandwidth, 0); } +static void set_stream_info_from_input_stream(AVStream *st, struct playlist *pls, AVStream *ist) +{ + avcodec_parameters_copy(st->codecpar, ist->codecpar); + + if (pls->is_id3_timestamped) /* custom timestamps via id3 */ + avpriv_set_pts_info(st, 33, 1, MPEG_TIME_BASE); + else + avpriv_set_pts_info(st, ist->pts_wrap_bits, ist->time_base.num, ist->time_base.den); +} + /* add new subdemuxer streams to our context, if any */ static int update_streams_from_subdemuxer(AVFormatContext *s, struct playlist *pls) { @@ -1540,13 +1550,7 @@ static int update_streams_from_subdemuxer(AVFormatContext *s, struct playlist *p return AVERROR(ENOMEM); st->id = pls->index; - - avcodec_parameters_copy(st->codecpar, ist->codecpar); - - if (pls->is_id3_timestamped) /* custom timestamps via id3 */ - avpriv_set_pts_info(st, 33, 1, MPEG_TIME_BASE); - else - avpriv_set_pts_info(st, ist->pts_wrap_bits, ist->time_base.num, ist->time_base.den); + set_stream_info_from_input_stream(st, pls, ist); dynarray_add(&pls->main_streams, &pls->n_main_streams, st); |