From: spartazhc <[email protected]>

hls_read_header will add all streams to s->internal->packet_buffer.
Use av_packet_buffer_filter to remove the AVPackets from other streams that
are not needed, otherwise abr will allow them to be added to ffplay's
packet_queue.

Signed-off-by: spartazhc <[email protected]>
---
 fftools/ffplay.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index bcee507f40..ba71dbb38e 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -3018,6 +3018,10 @@ static int read_thread(void *arg)
 
     /* clean packet list filled in hls_read_header if abr is enabled */
     if (abr) {
+        ret = av_packet_buffer_filter(ic, st_index);
+        if (ret < 0) {
+            av_log(NULL, AV_LOG_WARNING, "Failed to clean av_packet\n");
+        }
         is->abr_list = av_mallocz(sizeof(ABRList));
         if (!is->abr_list) {
             ret = AVERROR(ENOMEM);
-- 
2.27.0

_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to