Commit c7c0046e authored by Jesper Ek's avatar Jesper Ek

Fix bug when incrementing initial_prog_date_time when removing segments

initial_prog_date_time shouldn't be adjusted when deleting segments
from disk, but rather when segments are removed from the playlist.
Signed-off-by: 's avatarJesper Ek <deadbeef84@gmail.com>
Signed-off-by: 's avatarSteven Liu <lq@chinaffmpeg.org>
parent b347ca93
...@@ -185,7 +185,6 @@ static int hls_delete_old_segments(HLSContext *hls) { ...@@ -185,7 +185,6 @@ static int hls_delete_old_segments(HLSContext *hls) {
segment = hls->old_segments; segment = hls->old_segments;
while (segment) { while (segment) {
playlist_duration -= segment->duration; playlist_duration -= segment->duration;
hls->initial_prog_date_time += segment->duration;
previous_segment = segment; previous_segment = segment;
segment = previous_segment->next; segment = previous_segment->next;
if (playlist_duration <= -previous_segment->duration) { if (playlist_duration <= -previous_segment->duration) {
...@@ -414,6 +413,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls, double ...@@ -414,6 +413,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls, double
if (hls->max_nb_segments && hls->nb_entries >= hls->max_nb_segments) { if (hls->max_nb_segments && hls->nb_entries >= hls->max_nb_segments) {
en = hls->segments; en = hls->segments;
hls->initial_prog_date_time += en->duration;
hls->segments = en->next; hls->segments = en->next;
if (en && hls->flags & HLS_DELETE_SEGMENTS && if (en && hls->flags & HLS_DELETE_SEGMENTS &&
!(hls->flags & HLS_SINGLE_FILE || hls->wrap)) { !(hls->flags & HLS_SINGLE_FILE || hls->wrap)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment