[gst-devel] (newbie) set_blocked problem

Edward Hervey bilboed at gmail.com
Tue Jan 9 09:26:10 CET 2007


Hi,

On 1/9/07, Erik Blankinship <jedierikb at yahoo.com> wrote:
> The Pipeline -->
> vrl2src ! tee ! queue ! ffmpegcolorspace ! jpegenc ! fakesink
>
> The Culprit -->
> ...before ever PLAYING the pipeline I call
> queue.get_pad("src").set_blocked(True)

  That function call (gst.Pad.set_blocked()) is a blocking function.
It will only return when a buffer or event has arrived on that pad.
You should be using the asynchronous version (set_blocked_async())
where the callback you give will be called when there's something
blocking (or not, depending on the blocked boolean argument) on that
pad.
  Remember that blocking a pad means that the thread pushing data
through that pad will block ! You need to put a callback and do
something in that callback that will eventually unblock that pad !

   Edward

>
> The Problem -->
> freezes my whole app before it even starts!!
>
> The Details -->
> - I also have tee hooked up to an xvimagesink.
> - I am trying to make a program to take multiple snap shots and keep live video running.
>
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>


-- 
Edward Hervey
Multimedia editing developer / Fluendo S.A.
http://www.pitivi.org/




More information about the gstreamer-devel mailing list