pipewiresrc: unlock loop when failing to wait negotiated

This commit is contained in:
Elliot Chen 2026-06-26 17:41:13 +09:00 committed by Wim Taymans
parent acbcf5cece
commit 9b2ff82aea

View file

@ -1786,8 +1786,11 @@ gst_pipewire_src_change_state (GstElement * element, GstStateChange transition)
* be moved from idle to suspended, which would mean format cleared via
* handle_format_change. Wait for new format to avoid basesrc calling
* create() and get not-negotiated error as response. */
if (wait_negotiated(this) == PW_STREAM_STATE_ERROR)
if (wait_negotiated(this) == PW_STREAM_STATE_ERROR) {
pw_thread_loop_unlock (this->stream->core->loop);
goto open_failed;
}
pw_thread_loop_unlock (this->stream->core->loop);
break;
case GST_STATE_CHANGE_PLAYING_TO_PAUSED: