Make sure set_explicit_caps() is called before adding pad.
authorDavid Schleef <ds@schleef.org>
Wed, 4 Feb 2004 21:40:49 +0000 (21:40 +0000)
committerDavid Schleef <ds@schleef.org>
Wed, 4 Feb 2004 21:40:49 +0000 (21:40 +0000)
Original commit message from CVS:
Make sure set_explicit_caps() is called before adding pad.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* gst/id3/gstid3types.c: (gst_id3types_loop):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead):
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream):

common
ext/ffmpeg/gstffmpegdemux.c

diff --git a/common b/common
index 508678c..90e64b9 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 508678c12ea745e207eb8bb3be12c156e3bb698c
+Subproject commit 90e64b98d566fd8df793cfc0a9b08b8e5fb356d3
index 2fd9a8f..fc52b04 100644 (file)
@@ -321,12 +321,14 @@ gst_ffmpegdemux_loop (GstElement *element)
 
     /* store pad internally */
     ffmpegdemux->srcpads[pkt.stream_index] = pad;
-    gst_element_add_pad (GST_ELEMENT (ffmpegdemux), pad);
 
     /* get caps that belongs to this stream */
     caps = gst_ffmpeg_codecid_to_caps (st->codec.codec_id,
                                       &st->codec);
     gst_pad_set_explicit_caps (pad, caps);
+
+    gst_element_add_pad (GST_ELEMENT (ffmpegdemux), pad);
+
     /* we continue here, in the next pad-is-usable check,
      * we'll return nonetheless */
   }