[gst-devel] plug-in interaction question

Robert Stewart rstewart at xvdcorp.com
Wed Sep 1 14:56:05 CEST 2004

Hi All!

I am in the process of creating a plug-in that will be able to
demux a proprietary data stream.

I am using the gst-editor graphical utility in order to test out
my new plug-in.  It seems to be working okay (I am only up to
demuxing the audio streams so far...) as I am able to get the
audio track to play out my PC's sound card.

I have created the plug-in using the loop style rather than the
chain style of plug-in.  Both the gst generic state transitions
as well as my own internal state transitions seem to be working
just fine.  I seem to be obtaining data correctly from my input
pad and seem to be pushing correct data to my output pads.  I
use internal states to switch from one portion of the demux to
the next (ie from the "NULL" to the "READING HEADER" state, or
from the "READING HEADER" to the "PLAYING" state).  During each
of these internal states loops are used to process the input
data.  Processing the header is a very quick step, but actually
playing the data can take some amount of time.

My question is this:

When I am in my "PLAYING" state, I have noticed that the X windows
cursor is no longer active and I am unable to interact with X at
all.  Is there some call that I can issue that will in effect return
control to X for X event processing and that will then return control
back to me at the location following the call when I want to "give up"
the cpu and allow X to continue functioning?

Or am I doing something wrong in my implementation?

Thanks much!
-Bob Stewart

More information about the gstreamer-devel mailing list