aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnssi Hannula <anssi.hannula@iki.fi>2016-11-05 18:04:00 +0200
committerAnssi Hannula <anssi.hannula@iki.fi>2016-11-07 19:06:08 +0200
commit32ceeb579e81ff71612a3967a061aaa7be54d862 (patch)
tree96119e601efc76121ab782d1c25549578661a1c3
parentebf8ec5b0fdc0b79602312feecbe9f1797e90033 (diff)
downloadffmpeg-32ceeb579e81ff71612a3967a061aaa7be54d862.tar.gz
avformat/hls: Factor copying stream info to a separate function
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> (cherry picked from commit 9a51cd35b87d75658cdefa029485775f77ed4866)
-rw-r--r--libavformat/hls.c18
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);