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