From 379d5adfcefa761d35905aca458468359b8035d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Stadler?= Date: Thu, 24 Mar 2011 22:32:42 +0200 Subject: [PATCH] mpegtsdemux: ensure cleanup of pes/section filter helper structures In particular, the section_filter would not be cleared for a private section stream, leaking a GstAdapter. Seen on bug #645502. --- gst/mpegdemux/gstmpegtsdemux.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c index fa5b41bd90..a8bdb202c7 100644 --- a/gst/mpegdemux/gstmpegtsdemux.c +++ b/gst/mpegdemux/gstmpegtsdemux.c @@ -365,16 +365,9 @@ gst_mpegts_demux_reset (GstMpegTSDemux * demux) if (stream->PAT.entries) g_array_free (stream->PAT.entries, TRUE); - switch (stream->PID_type) { - case PID_TYPE_ELEMENTARY: - gst_pes_filter_uninit (&stream->filter); - break; - case PID_TYPE_PROGRAM_ASSOCIATION: - case PID_TYPE_CONDITIONAL_ACCESS: - case PID_TYPE_PROGRAM_MAP: - gst_section_filter_uninit (&stream->section_filter); - break; - } + gst_pes_filter_uninit (&stream->filter); + gst_section_filter_uninit (&stream->section_filter); + if (stream->pes_buffer) { gst_buffer_unref (stream->pes_buffer); stream->pes_buffer = NULL;