mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
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.
This commit is contained in:
parent
1d8482c0c6
commit
379d5adfce
1 changed files with 3 additions and 10 deletions
|
@ -365,16 +365,9 @@ gst_mpegts_demux_reset (GstMpegTSDemux * demux)
|
||||||
if (stream->PAT.entries)
|
if (stream->PAT.entries)
|
||||||
g_array_free (stream->PAT.entries, TRUE);
|
g_array_free (stream->PAT.entries, TRUE);
|
||||||
|
|
||||||
switch (stream->PID_type) {
|
gst_pes_filter_uninit (&stream->filter);
|
||||||
case PID_TYPE_ELEMENTARY:
|
gst_section_filter_uninit (&stream->section_filter);
|
||||||
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;
|
|
||||||
}
|
|
||||||
if (stream->pes_buffer) {
|
if (stream->pes_buffer) {
|
||||||
gst_buffer_unref (stream->pes_buffer);
|
gst_buffer_unref (stream->pes_buffer);
|
||||||
stream->pes_buffer = NULL;
|
stream->pes_buffer = NULL;
|
||||||
|
|
Loading…
Reference in a new issue