mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 13:06:23 +00:00
gst/mpegtsparse/mpegtspacketizer.c: Ensure that the plugin does not crash when the property pat-info is queried befor...
Original commit message from CVS: Patch by: Wai-Ming Ho <webregbox at yahoo dot co dot uk> * gst/mpegtsparse/mpegtspacketizer.c: (foreach_stream_clear), (remove_all), (mpegts_packetizer_clear): Ensure that the plugin does not crash when the property pat-info is queried before a PAT is available. It also ensures that the PAT info is cleared when the changing from PLAYING to READY. Fixes #487892.
This commit is contained in:
parent
0830d14b27
commit
5d794c0007
2 changed files with 23 additions and 3 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2007-11-15 Wim Taymans <wim.taymans@gmail.com>
|
||||
|
||||
Patch by: Wai-Ming Ho <webregbox at yahoo dot co dot uk>
|
||||
|
||||
* gst/mpegtsparse/mpegtspacketizer.c: (foreach_stream_clear),
|
||||
(remove_all), (mpegts_packetizer_clear):
|
||||
Ensure that the plugin does not crash when the property pat-info is
|
||||
queried before a PAT is available. It also ensures that the PAT info is
|
||||
cleared when the changing from PLAYING to READY.
|
||||
Fixes #487892.
|
||||
|
||||
2007-11-15 Wim Taymans <wim.taymans@gmail.com>
|
||||
|
||||
Patch by: Wouter Paesen <wouter at blue-gate dot be>
|
||||
|
|
|
@ -428,20 +428,29 @@ error:
|
|||
static void
|
||||
foreach_stream_clear (gpointer key, gpointer value, gpointer data)
|
||||
{
|
||||
MpegTSPacketizer *packetizer = (MpegTSPacketizer *) data;
|
||||
MpegTSPacketizerStream *stream = (MpegTSPacketizerStream *) value;
|
||||
|
||||
mpegts_packetizer_clear_section (packetizer, stream);
|
||||
/* remove the stream */
|
||||
g_object_unref (stream->section_adapter);
|
||||
g_free (stream);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
remove_all (gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
mpegts_packetizer_clear (MpegTSPacketizer * packetizer)
|
||||
{
|
||||
g_hash_table_foreach (packetizer->streams, foreach_stream_clear, packetizer);
|
||||
|
||||
/* FIXME can't use remove_all because we don't depend on 2.12 yet */
|
||||
g_hash_table_foreach_remove (packetizer->streams, remove_all, NULL);
|
||||
gst_adapter_clear (packetizer->adapter);
|
||||
}
|
||||
|
||||
|
||||
MpegTSPacketizer *
|
||||
mpegts_packetizer_new ()
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue