Request pipeline terminate from pulsesink

Nicolas Dufresne nicolas at ndufresne.ca
Thu May 20 12:57:01 UTC 2021


Le jeudi 20 mai 2021 à 13:03 +0530, Tarun Tej K via gstreamer-devel a écrit :
> Hi,
> 
> I need to stop my pipeline from a pulsesink element, whenever pulseaudio sends
> a custom defined stream event.
> I able to get the event from pulseaudio in the callback -
> gst_pulsering_stream_event_cb (     
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/blob/master/ext/pulse/pulsesink.c#L789
> )
> I am looking for the proper way to get the pipeline terminated upon getting
> the event from pulseaudio
> I am thinking of two options :
> 1. send EOS from the pulsesink/basesink and use the EOS event in the
> application bus callback to stop the pipeline

This is not really doable from a streaming thread.

> 2. post NULL state msg request to the bus (like how PAUSED is posted upon CORK
> stream event currently)
> I am not sure if the clean up will be proper with the above two ways.
> Is there any better way for the sink elements to request for termination of
> the pipeline? 

Perhaps we could have some generic kind of message. So you'd be sending a custom
pulse audio message with the string from the pulse event type. This allow for
"custom" work like yours without changing the element. The application take care
of doing the right thing.

> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list