[gst-devel] Asynchronously Pausing and Playing From inside the pipeline.
keith preston
keithpre at gmail.com
Tue Oct 9 00:11:07 CEST 2007
I have been looking into an audio class policy mechanism in which when I get
a phone call that my music is paused, and when the phone call is over the
music starts back up again. I have most of this implemented in pulseaudio
and have the gst-pulse plugin modified to do this behavior, but it doesn't
implement correctly and I was wondering if I am just missing something
obvious.
Basically gst-pulse is implemented as a gst-audiosink -> gstbaseaudiosink ->
gst-basesink. gst-baseaudisink contains a gst-ringbuffer. The primary
funciton of the pulsesink is that gst-audiosink starts a separate thread
that continously pushes buffer off the ringbuffer to pulseaudio.
>From this thread I receive my asynchronous signals and I try to pause the
pipeline but this always results in a deadlock. I tried using some start
stop methods from the base classes, but all of these result in deadlock.
Is there a proper way to pause and play the pipeline, from inside an element
of the pipeline?
Keith Preston
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20071008/e58c2c8e/attachment.htm>
More information about the gstreamer-devel
mailing list