avformat/dashdec: Fix calc_cur_seg_no if availability_start_time not
authorJacek Jendrzej <overx300@gmail.com>
Wed, 29 Aug 2018 07:20:00 +0000 (15:20 +0800)
committerSteven Liu <lq@chinaffmpeg.org>
Wed, 29 Aug 2018 07:20:00 +0000 (15:20 +0800)
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
libavformat/dashdec.c

index c6dddeb..85fbe6a 100644 (file)
@@ -1296,7 +1296,7 @@ static int64_t calc_cur_seg_no(AVFormatContext *s, struct representation *pls)
             if (pls->presentation_timeoffset) {
                 num = pls->presentation_timeoffset * pls->fragment_timescale / pls->fragment_duration;
             } else if (c->publish_time > 0 && !c->availability_start_time) {
-                num = pls->first_seq_no + (((c->publish_time - c->availability_start_time) - c->suggested_presentation_delay) * pls->fragment_timescale) / pls->fragment_duration;
+                num = pls->first_seq_no + (((c->publish_time - c->time_shift_buffer_depth + pls->fragment_duration) - c->suggested_presentation_delay) * pls->fragment_timescale) / pls->fragment_duration;
             } else {
                 num = pls->first_seq_no + (((get_current_time_in_sec() - c->availability_start_time) - c->suggested_presentation_delay) * pls->fragment_timescale) / pls->fragment_duration;
             }