diff mbox series

[FFmpeg-devel,GSoC,6/6] ffplay: add av_packet_clean to remove AVPackets not needed

Message ID 20200705113459.77467-6-sj.hc_Zhong@sjtu.edu.cn
State New
Headers show
Series [FFmpeg-devel,GSoC,1/6] avformat/abr: Adaptive Bitrate support
Related show

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

Hongcheng Zhong July 5, 2020, 11:34 a.m. UTC
From: spartazhc <spartazhc@gmail.com>

hls_read_header will add all streams to s->internal->packet_buffer.
Use av_packet_clean 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 <spartazhc@gmail.com>
---
 fftools/ffplay.c | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index b17b75fa8f..019dc7f32e 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_clean(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));
         ret = abr_init_list(is);
         if (ret < 0) {