mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/dashdec: add min_buffer_time process logic
if there have min_buffer_time in playlist, use the min_buffer_time value for realtime. Signed-off-by: Steven Liu <lq@onvideo.cn>
This commit is contained in:
parent
e35e915465
commit
8eac027cd1
|
@ -1343,7 +1343,11 @@ 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) {
|
||||
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;
|
||||
} else {
|
||||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue