diff --git a/ChangeLog b/ChangeLog index 4897d5d8e2..993599d5a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-08-23 Sebastian Dröge + + Patch by: Alessandro Dessina + + * ext/ogg/gstoggdemux.c: (gst_ogg_demux_deactivate_current_chain), + (gst_ogg_demux_activate_chain): + Don't add pads and activate them for skeleton streams. These are already + handled inside oggdemux. Fixes bug #537599. + 2008-08-22 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_dec_change_state): diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index bb059e848d..469a18a7a2 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -1746,6 +1746,9 @@ gst_ogg_demux_deactivate_current_chain (GstOggDemux * ogg) for (i = 0; i < chain->streams->len; i++) { GstOggPad *pad = g_array_index (chain->streams, GstOggPad *, i); + if (pad->is_skeleton) + continue; + gst_pad_push_event (GST_PAD_CAST (pad), gst_event_new_eos ()); GST_DEBUG_OBJECT (ogg, "removing pad %" GST_PTR_FORMAT, pad); @@ -1786,6 +1789,10 @@ gst_ogg_demux_activate_chain (GstOggDemux * ogg, GstOggChain * chain, GstOggPad *pad; pad = g_array_index (chain->streams, GstOggPad *, i); + + if (pad->is_skeleton) + continue; + GST_DEBUG_OBJECT (ogg, "adding pad %" GST_PTR_FORMAT, pad); /* mark discont */