[gst-devel] Bug on state change for udpsrc?

MailingList SVR lists at svrinformatica.it
Fri Jul 3 10:33:56 CEST 2009


Hi,

I'm using a very simple pipeline to receive an udp stream using udpsrc. If the stream is available all works fine but if I disconnect the network cable to the source stream and I try to lauche my pipeline (I'm simulating a simple network failure) I have on the bus the following messages:

<gst.Message GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; from multiudpsink1 at 0x9684380>           
<class 'gst._gst.MessageType'>                                                                   
<flags GST_MESSAGE_STATE_CHANGED of type GstMessageType>                                                                                                                        
<gst.Message GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING; from udpsrc1 at 0x9684408>                 
<class 'gst._gst.MessageType'>
<flags GST_MESSAGE_STATE_CHANGED of type GstMessageType>
<gst.Message GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PLAYING; from rtp-pipeline at 0x9684448>
<class 'gst._gst.MessageType'>
<flags GST_MESSAGE_STATE_CHANGED of type GstMessageType>
<gst.Message GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING; from udpsrc1 at 0x94d2e98>
<class 'gst._gst.MessageType'>
<flags GST_MESSAGE_STATE_CHANGED of type GstMessageType>
<gst.Message GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_PLAYING; from rtp-pipeline at 0x94d2ed8>
<class 'gst._gst.MessageType'>
<flags GST_MESSAGE_STATE_CHANGED of type GstMessageType>
<gst.Message GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING; from udpsrc1 at 0x9684300>
<class 'gst._gst.MessageType'>
<flags GST_MESSAGE_STATE_CHANGED of type GstMessageType>

obviuosly the state cannot be playing and the timeline is in a blocking state, I'm wainting for a state change failure message since 10 minutes,

this is a bug in udpsrc or in my implementation? I'm using the pipeline as follow:

self.pipeline = gst.Pipeline("rtp-pipeline")
source=gst.element_factory_make("udpsrc")
source.set_property("port",self.sourceport)
source.set_property("timeout",3000)
source.set_property("caps",self.caps)
destination=gst.element_factory_make("multiudpsink")
destination.set_property("clients",self.destinations)
self.pipeline.add(source,destination)
gst.element_link_many(source,destination)
self.pipeline.set_state(gst.STATE_PLAYING)

any hints?

thanks
Nicola

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20090703/8feab31b/attachment.htm>


More information about the gstreamer-devel mailing list