diff mbox

[FFmpeg-devel,8/8] avformat/dashdec: refine compute current fragment for presentation_timeoffset mode

Message ID 20180903100600.85023-8-lq@chinaffmpeg.org
State Accepted
Commit ad9b4ecc26bef7babb31b58f19c869f6464c2db9
Headers show

Commit Message

Liu Steven Sept. 3, 2018, 10:06 a.m. UTC
use ((wallclock - availability_start_time) * timescale -presentation_timeoffset) / duration

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
---
 libavformat/dashdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Carl Eugen Hoyos Sept. 3, 2018, 11:55 a.m. UTC | #1
2018-09-03 12:06 GMT+02:00, Steven Liu <lq@chinaffmpeg.org>:
> use ((wallclock - availability_start_time) * timescale
> -presentation_timeoffset) / duration

Please mention ticket #7382 if it is related.

Carl Eugen
Carl Eugen Hoyos Sept. 3, 2018, 11:55 a.m. UTC | #2
2018-09-03 12:06 GMT+02:00, Steven Liu <lq@chinaffmpeg.org>:
> use ((wallclock - availability_start_time) * timescale
> -presentation_timeoffset) / duration

Please mention ticket #7382 if it is related.

Carl Eugen
Liu Steven Sept. 3, 2018, 1:42 p.m. UTC | #3
> On Sep 3, 2018, at 19:55, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> 
> 2018-09-03 12:06 GMT+02:00, Steven Liu <lq@chinaffmpeg.org>:
>> use ((wallclock - availability_start_time) * timescale
>> -presentation_timeoffset) / duration
> 
> Please mention ticket #7382 if it is related.

Ok, will mention ticket #7382.
> 
> Carl Eugen
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Thanks

Steven
Liu Steven Sept. 5, 2018, 6:37 a.m. UTC | #4
> 在 2018年9月3日,下午9:42,Steven Liu <lq@chinaffmpeg.org> 写道:
> 
> 
> 
>> On Sep 3, 2018, at 19:55, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>> 
>> 2018-09-03 12:06 GMT+02:00, Steven Liu <lq@chinaffmpeg.org>:
>>> use ((wallclock - availability_start_time) * timescale
>>> -presentation_timeoffset) / duration
>> 
>> Please mention ticket #7382 if it is related.
> 
> Ok, will mention ticket #7382.
patchset pushed with new comment
>> 
>> Carl Eugen
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> Thanks
> 
> Steven
> 
> 
> 
> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
diff mbox

Patch

diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c
index 854d7edc59..1fce8861a1 100644
--- a/libavformat/dashdec.c
+++ b/libavformat/dashdec.c
@@ -1341,7 +1341,7 @@  static int64_t calc_cur_seg_no(AVFormatContext *s, struct representation *pls)
         } else if (pls->fragment_duration){
             av_log(s, AV_LOG_TRACE, "in fragment_duration mode fragment_timescale = %"PRId64", presentation_timeoffset = %"PRId64"\n", pls->fragment_timescale, pls->presentation_timeoffset);
             if (pls->presentation_timeoffset) {
-                num = pls->presentation_timeoffset * pls->fragment_timescale / pls->fragment_duration;
+                num = pls->first_seq_no + (((get_current_time_in_sec() - c->availability_start_time) * pls->fragment_timescale)-pls->presentation_timeoffset) / pls->fragment_duration;
             } else if (c->publish_time > 0 && !c->availability_start_time) {
                 if (c->min_buffer_time) {
                     num = pls->first_seq_no + (((c->publish_time + pls->fragment_duration) - c->suggested_presentation_delay) * pls->fragment_timescale) / pls->fragment_duration - c->min_buffer_time;