hls: Copy the time base from the chained demuxer
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 7 Mar 2013 12:42:12 +0000 (13:42 +0100)
committerMartin Storsjö <martin@martin.st>
Mon, 29 Jul 2013 06:50:03 +0000 (09:50 +0300)
When a variant stream isn't mpegts but e.g. raw adts, the
default time base (90k) isn't correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/hls.c

index 464faee..b9b1fea 100644 (file)
@@ -530,11 +530,13 @@ static int hls_read_header(AVFormatContext *s)
         /* Create new AVStreams for each stream in this variant */
         for (j = 0; j < v->ctx->nb_streams; j++) {
             AVStream *st = avformat_new_stream(s, NULL);
+            AVStream *ist = v->ctx->streams[j];
             if (!st) {
                 ret = AVERROR(ENOMEM);
                 goto fail;
             }
             st->id = i;
+            avpriv_set_pts_info(st, ist->pts_wrap_bits, ist->time_base.num, ist->time_base.den);
             avcodec_copy_context(st->codec, v->ctx->streams[j]->codec);
             if (v->bandwidth)
                 av_dict_set(&st->metadata, "variant_bitrate", bitrate_str,