[gst-devel] Image conversion through a pipeline
Olivier Aubert
olivier.aubert at liris.cnrs.fr
Thu Apr 30 16:10:15 CEST 2009
Hello.
Two years ago, I posted some code
( http://article.gmane.org/gmane.comp.video.gstreamer.devel/17603 ) that
allowed me to convert a frame (from the playbin 'frame' property) into
PNG, through a fakesrc/fakesink-based pipeline. A condition variable is
used to "transform" the asynchronous gstreamer behaviour into a
synchronous "snapshot" call.
It has worked perfectly for 2 years, and stopped working in recent
gstreamer releases (at least 0.10.22). It appears that the "handoff"
signal from fakesink is generated only on its first occurrence (i.e. the
first time a snapshot is taken), but never after.
I have tried to use True or False as return values for the handoff
signal handler, to no avail.
I know that the preferred way is now to use appsrc/appsink, but the
fakesrc/sink version is still more generic for the moment (i.e. the
Debian packages have only recently began to ship appsrc/appsink), so I
would like to understand what changed in gstreamer to break my code.
Does anyone have a clue ?
Subsidiary question: how come I cannot do a "get_state" on the
conversion pipeline ? ( fakesrc name=src ! queue name=queue !
videoscale ! ffmpegcolorspace ! video/x-raw-rgb,width=160 ! pngenc !
fakesink name=sink signal-handoffs=true ).
Thanks for any hint.
Olivier
More information about the gstreamer-devel
mailing list