new/yocto/meta-rockchip/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20/0002-interim-fix-vc1-stream-may-memory-leak-when-pending.patch
2025-05-10 21:58:58 +08:00

34 lines
1.2 KiB
Diff

From 4482a87d25acc8eb0362492b6604a3f7163ef245 Mon Sep 17 00:00:00 2001
From: "james.lin" <james.lin@rock-chips.com>
Date: Tue, 17 Apr 2018 11:14:01 +0800
Subject: [PATCH 02/33] interim fix vc1 stream may memory leak when pending
Signed-off-by: james.lin <james.lin@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
gst/mpegtsdemux/tsdemux.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index 73e1c06..9aaa968 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -3446,6 +3446,14 @@ gst_ts_demux_push_pending_data (GstTSDemux * demux, TSDemuxStream * stream,
if (G_UNLIKELY (stream->pending_ts && !check_pending_buffers (demux))) {
if (buffer) {
+ GList *walk;
+ for (walk = demux->program->stream_list; walk; walk = g_list_next (walk)) {
+ MpegTSBaseStream *bs = (MpegTSBaseStream*)walk->data;
+ if (bs->registration_id == DRF_ID_VC1) {
+ gst_buffer_unref(buffer);
+ goto beach;
+ }
+ }
PendingBuffer *pend;
pend = g_slice_new0 (PendingBuffer);
pend->buffer = buffer;
--
2.20.1