Pipewireパッケージ(ちょっと変更)
Revisão | 7465175ad0eea825928b47182b3fd0131fe2154d (tree) |
---|---|
Hora | 2023-11-10 05:59:40 |
Autor | George Kiagiadakis <george.kiagiadakis@coll...> |
Commiter | Wim Taymans |
gstpipewiresrc: break out of wait_started() also on STATE_UNCONNECTED
When the session manager sends an error to the client, it typically
also destroys the node after the error, which causes the stream to go
to STATE_UNCONNECTED via proxy_removed(). In that case, make sure
we exit the loop early, otherwise it will take 30 seconds to unblock
gst_element_set_state()
@@ -783,10 +783,9 @@ wait_started (GstPipeWireSrc *this) | ||
783 | 783 | GST_DEBUG_OBJECT (this, "waiting for started signal, state now %s", |
784 | 784 | pw_stream_state_as_string (state)); |
785 | 785 | |
786 | - if (state == PW_STREAM_STATE_ERROR) | |
787 | - break; | |
788 | - | |
789 | - if (this->flushing) { | |
786 | + if (state == PW_STREAM_STATE_ERROR || | |
787 | + state == PW_STREAM_STATE_UNCONNECTED || | |
788 | + this->flushing) { | |
790 | 789 | state = PW_STREAM_STATE_ERROR; |
791 | 790 | break; |
792 | 791 | } |