gst-plugins-bad: mpegtsdemux: ensure cleanup of pes/ section filter helper structures

René Stadler cymacs at kemper.freedesktop.org
Thu Mar 24 13:50:55 PDT 2011


Module: gst-plugins-bad
Branch: master
Commit: 379d5adfcefa761d35905aca458468359b8035d8
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=379d5adfcefa761d35905aca458468359b8035d8

Author: René Stadler <mail at renestadler.de>
Date:   Thu Mar 24 22:32:42 2011 +0200

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 files changed, 3 insertions(+), 10 deletions(-)

diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c
index fa5b41b..a8bdb20 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;



More information about the gstreamer-commits mailing list