alsasink: Fix for being stuck in stop_streaming_threads state

Moving from PLAYING to NULL will set the stop_streaming_threads to TRUE,
but when moving back upwards its not reset to FALSE (as only done in
uncalled init and resume callbacks).

Fix by reseting value in the prepare callback.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4309>
This commit is contained in:
Robert Rosengren 2023-03-30 16:09:06 +02:00 committed by GStreamer Marge Bot
parent 17d1e5d627
commit 6bb1257c99

View file

@ -259,7 +259,7 @@ gst_alsasink_init (GstAlsaSink * alsasink)
alsasink->is_paused = FALSE;
alsasink->after_paused = FALSE;
alsasink->hw_support_pause = FALSE;
alsasink->stop_streaming_threads = FALSE;
alsasink->stop_streaming_threads = TRUE;
g_mutex_init (&alsasink->alsa_lock);
g_mutex_init (&alsasink->delay_lock);
@ -943,6 +943,7 @@ gst_alsasink_prepare (GstAudioSink * asink, GstAudioRingBufferSpec * spec)
alsa->channels, GST_AUDIO_BASE_SINK (alsa)->ringbuffer);
#endif /* SND_CHMAP_API_VERSION */
alsa->stop_streaming_threads = FALSE;
return TRUE;
/* ERRORS */