HYL_OK3568_LINUX/buildroot/package/gstreamer1/gst1-plugins-bad/0002-interim-fix-vc1-stream-may-memory-leak-when-pending.patch
2025-05-10 21:49:39 +08:00

34 lines
1.2 KiB
Diff

From dc2059b66e72508986b90f1485f583705a3b44d1 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/41] 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 8adefeb..36f8311 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -3447,6 +3447,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