[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gstreamer-cvs
Subject:    gst-plugins-good: multipartdemux: Ensure caps before pad added.
From:       slomo () kemper ! freedesktop ! org (Sebastian Dröge)
Date:       2014-08-29 8:38:22
Message-ID: 20140829083822.C9889761F1 () kemper ! freedesktop ! org
[Download RAW message or body]

Module: gst-plugins-good
Branch: master
Commit: bcbdcbf638f657c10c5fe1baebff072766fd22a5
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=bcbdcbf638f657c10c5fe1baebff072766fd22a5


Author: Jason Litzinger <jlitzinger@control4.com>
Date:   Thu Aug 28 13:48:50 2014 -0600

multipartdemux: Ensure caps before pad added.

This stores the stream-start, sets caps, and then adds the pad,
which ensures that the caps are set for the "pad-added" callback.

https://bugzilla.gnome.org/show_bug.cgi?id=735626

---

 gst/multipart/multipartdemux.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gst/multipart/multipartdemux.c b/gst/multipart/multipartdemux.c
index a62c2a0..8cc0f64 100644
--- a/gst/multipart/multipartdemux.c
+++ b/gst/multipart/multipartdemux.c
@@ -322,7 +322,6 @@ gst_multipart_find_pad_by_mime (GstMultipartDemux * demux, gchar \
* mime,  
     gst_pad_use_fixed_caps (pad);
     gst_pad_set_active (pad, TRUE);
-    gst_element_add_pad (GST_ELEMENT_CAST (demux), pad);
 
     /* prepare and send stream-start */
     if (!demux->have_group_id) {
@@ -346,7 +345,7 @@ gst_multipart_find_pad_by_mime (GstMultipartDemux * demux, gchar \
* mime,  if (demux->have_group_id)
       gst_event_set_group_id (event, demux->group_id);
 
-    gst_pad_push_event (pad, event);
+    gst_pad_store_sticky_event (pad, event);
     g_free (stream_id);
 
     /* take the mime type, convert it to the caps name */
@@ -354,6 +353,7 @@ gst_multipart_find_pad_by_mime (GstMultipartDemux * demux, gchar \
* mime,  caps = gst_caps_from_string (capsname);
     GST_DEBUG_OBJECT (demux, "caps for pad: %s", capsname);
     gst_pad_set_caps (pad, caps);
+    gst_element_add_pad (GST_ELEMENT_CAST (demux), pad);
     gst_caps_unref (caps);
 
     if (created) {

_______________________________________________
gstreamer-commits mailing list
gstreamer-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic