diff --git a/package/ffmpeg/patches/replay_dash.patch b/package/ffmpeg/patches/replay_dash.patch new file mode 100644 index 00000000..3c3b4be0 --- /dev/null +++ b/package/ffmpeg/patches/replay_dash.patch @@ -0,0 +1,11 @@ +--- a/libavformat/dashdec.c ++++ b/libavformat/dashdec.c +@@ -1401,6 +1401,8 @@ static int64_t calc_cur_seg_no(AVFormatContext *s, struct representation *pls) + } 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 if (c->period_start && c->availability_start_time && pls->fragment_timescale) { ++ num = pls->first_seq_no + (((get_current_time_in_sec() - (c->availability_start_time + c->period_start)) * pls->fragment_timescale) - pls->fragment_duration) / 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; + }