1From 69e5408f1864feeffe5fb8a5a310c31537615d18 Mon Sep 17 00:00:00 2001 2From: "james.lin" <james.lin@rock-chips.com> 3Date: Tue, 17 Apr 2018 11:14:01 +0800 4Subject: [PATCH 02/41] interim fix vc1 stream may memory leak when pending 5 6Signed-off-by: james.lin <james.lin@rock-chips.com> 7Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 8--- 9 gst/mpegtsdemux/tsdemux.c | 8 ++++++++ 10 1 file changed, 8 insertions(+) 11 12diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c 13index 8adefeb..36f8311 100644 14--- a/gst/mpegtsdemux/tsdemux.c 15+++ b/gst/mpegtsdemux/tsdemux.c 16@@ -3447,6 +3447,14 @@ gst_ts_demux_push_pending_data (GstTSDemux * demux, TSDemuxStream * stream, 17 18 if (G_UNLIKELY (stream->pending_ts && !check_pending_buffers (demux))) { 19 if (buffer) { 20+ GList *walk; 21+ for (walk = demux->program->stream_list; walk; walk = g_list_next (walk)) { 22+ MpegTSBaseStream *bs = (MpegTSBaseStream*)walk->data; 23+ if (bs->registration_id == DRF_ID_VC1) { 24+ gst_buffer_unref(buffer); 25+ goto beach; 26+ } 27+ } 28 PendingBuffer *pend; 29 pend = g_slice_new0 (PendingBuffer); 30 pend->buffer = buffer; 31-- 322.20.1 33 34