[FFmpeg-devel] [PATCH] [GSoC 6/6] ffplay: add av_packet_clean to remove AVPackets not needed
Hongcheng Zhong
sj.hc_Zhong at sjtu.edu.cn
Sun Jul 5 14:34:59 EEST 2020
From: spartazhc <spartazhc at 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 at gmail.com>
---
fftools/ffplay.c | 4 ++++
1 file changed, 4 insertions(+)
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) {
--
2.27.0
More information about the ffmpeg-devel
mailing list