GNOME Bugzilla – Bug 483923
audio pipeline cannot change its state to "PLAYING"
Last modified: 2007-10-07 21:58:30 UTC
Please describe the problem: I made a pipeline that connects an audiotestsrc to a gconfaudiosink (which is audioconvert ! audioresample ! esdsink). The pipeline is requested to change its state to PLAYING. The pipeline stays in state PAUSED forever. Steps to reproduce: sample program attached Actual results: The pipeline stays in state PAUSED forever. Expected results: I was expecting the pipeline to eventually change its state to PLAYING. Does this happen every time? yes Other information: The gstreamer sample program is run on linux, and the esdsink is connected via network to a remote cygwin esound daemon version 0.2.36. The "Test" button in the "Default output" of the gstreamer-properties app is working fine. The sample program emits sound despite the pipeline being in PAUSED state.
Created attachment 96733 [details] sample program to trigger the problem compile with g++ gst_audio_test.cpp $(pkg-config --cflags --libs gstreamer-0.10)
If changed the esound server from cygwin's to pulseaudio v0.9.6's esound-protocol-tcp module, running on mswindows. The pipeline also stays in PAUSED state. Sound is also played. Then i changed my gconfaudio settings to use pulsesink instead of esdsink. Now the pipeline stays in READY state... Sound is still played!
It turns out testing the state of the pipeline by using GST_STATE doesn't not work. Calling gst_element_get_state instead solved the problem. I'm still having problems with "fakesrc ! xxxsink" pipelines, but as i read in the documentation, using fakesrc and its handoff signal/callback is unsupported, so i'll just close the "bug".