Pipeline won't get into Play state

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Pipeline won't get into Play state

Sam-4
I've coded up a C# application to mimic the following pipeline (broken into separate lines for readability here):

gstrtpbin name=rtpbin 
filesrc location="<a file path>" ! decodebin2 name=decoder 
decoder.src0 ! queue ! ffmpegcolorspace ! x264enc threads=0 ! queue ! rtph264pay ! rtpbin.send_rtp_sink_0
rtpbin.send_rtp_src_0 ! udpsink host=127.0.0.1 port=8444
decoder.src1 ! queue ! audioconvert ! faac ! queue ! rtpmp4apay ! rtpbin.send_rtp_sink_1
rtpbin.send_rtp_src_1 ! udpsink host=127.0.0.1 port=8002 

gstrtpbin has a PadAdded handler to add the udpsink.
decodebin2 has an OnNewDecodedPad handler to add audio and video elements as detected.

If I construct the above pipeline in gst-launch, it works and streams and playable with VLC via a SDP file.

However, through the C# application where elements in the pipeline are constructed and linked dynamically and with properties set like above, the pipeline will not go into PLAY state.  It remains in PAUSED state and returns ASYNC in the GetState call.   One scenario where I can get the pipeline to reach PLAY state is to not link up any audio and set decodebin2's async-handling to true.  

I know gst-launch performs additional "magic" under the covers and I need a hint as to what that magic might be.  Been going over the documents and examples and can't find that missing link.

Using Winbuild v0.10.6

Thanks,
Sam

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel