ext/ogg/gstoggdemux.c: Don't add pads and activate them for skeleton streams. These...
authorAlessandro Dessina <alessandro@nnva.org>
Sat, 23 Aug 2008 15:19:59 +0000 (15:19 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Sat, 23 Aug 2008 15:19:59 +0000 (15:19 +0000)
Original commit message from CVS:
Patch by: Alessandro Dessina <alessandro nnva org>
* 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.

ChangeLog
ext/ogg/gstoggdemux.c

index 4897d5d..993599d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-08-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
+       Patch by: Alessandro Dessina <alessandro nnva org>
+
+       * 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  <wim.taymans@collabora.co.uk>
 
        * ext/vorbis/vorbisdec.c: (vorbis_dec_change_state):
index bb059e8..469a18a 100644 (file)
@@ -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 */