From b05c5c39f6588a6e94d5fdb68bd87f8149e90b1a 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 11/40] 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 f95c325..23e8570 100644
|
--- a/gst/mpegtsdemux/tsdemux.c
|
+++ b/gst/mpegtsdemux/tsdemux.c
|
@@ -3149,6 +3149,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.17.1
|