diff --git a/libavformat/hls.c b/libavformat/hls.c index e4770ab33b..e50220b0b2 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -1629,6 +1629,8 @@ static int hls_read_seek(AVFormatContext *s, int stream_index, pls->pb.buf_end = pls->pb.buf_ptr = pls->pb.buffer; /* Reset the pos, to let the mpegts demuxer know we've seeked. */ pls->pb.pos = 0; + /* Flush the packet queue of the subdemuxer. */ + ff_read_frame_flush(pls->ctx); pls->seek_timestamp = seek_timestamp; pls->seek_flags = flags;