[gst-devel] Sink autodetect and async state change

Tim Otten tim at cap.american.edu
Sun Jul 27 22:32:02 CEST 2003


I recently filed:

http://bugzilla.gnome.org/show_bug.cgi?id=118033

which concerns autodetection for audio sinks. I don't know much about
GStreamer or media systems in general, so I decided that I was The Right
Man For The Job. My test code

http://unix.cap.american.edu/~tim/csc/gst-detect-sink/

mimics the approach from the xine-libs autodetection routine -- try each
module and look for errors. There are two tests in particular: (a) can we
instantiate the audio sink? (b) can the sink handle a switch to the PLAY
(or READY) state?

My main concern is with (b). An element can change states asynchronously,
but I can't find any examples among the sinks. test4 includes some BS
which calls gst_element_wait_state_change and then checks if the PLAY (or
READY) state was achieved. Is this reasonable?

At any rate, it seems to work with esdsink, osssink, and artsdsink on my
Debian unstable box. I'd appreciate comments/test results from others. If
it seems to work generally, I'll try to repackage test4 as a
voodooautomagicalaudiosink module.

Tim Otten
tim of cap of american of edu







More information about the gstreamer-devel mailing list