Switching in an rtmpsink

superlou lousimons at gmail.com
Wed Feb 19 17:55:35 PST 2014

I have a pipeline (running via Python bindings) that lets me stream a
videotestsrc to UStream successfully, based heavily on
http://sourceforge.net/p/snowmix/wiki/Snowmix%20and%20CDNs/.  It looks like
the following:

videotestsrc ! videoconvert ! intervideosrc
intervideosink ! queue ! videoconvert ! x264enc ! h264parse ! queue ! flvmux
! queue ! rtmpsink

The UStream channel goes live with the video test pattern.

What I really want to do is start the pipeline with a fakesink in place of
the rtmpsink, and then after a few seconds, swap in an rtmpsink.  I do the
whole pad-blocking dance to replace the element, and when I'm done, the
debug graph shows everything playing, and UStream shows the station is live,
but the video is just black with no video test pattern.

The only interesting thing I can see so far is that when returning from the
blocking probe callback, I receive the message "TypeError: int() argument
must be a string or a number, not 'NoneType'".  I had thought it might be a
bindings quirk, but it's the only lead I have right now.

I have tried to make a simpler test case, but it segfaults when leaving the
probe callback.  The script is at https://gist.github.com/superlou/9105561.

View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Switching-in-an-rtmpsink-tp4665387.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.

More information about the gstreamer-devel mailing list