mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 13:41:48 +00:00
webrtcbin test: Wait for set-local-desc & set-remote-desc to continue
To avoid racing betwen the SDPs being set and the next step of the test, let's wait for setting the SDP both locally and remotely to succeed. of the test Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
This commit is contained in:
parent
12ab469ad3
commit
474c4bf08f
1 changed files with 12 additions and 10 deletions
|
@ -159,12 +159,13 @@ _on_answer_set (GstPromise * promise, gpointer user_data)
|
||||||
GstElement *answerer = TEST_GET_ANSWERER (t);
|
GstElement *answerer = TEST_GET_ANSWERER (t);
|
||||||
|
|
||||||
g_mutex_lock (&t->lock);
|
g_mutex_lock (&t->lock);
|
||||||
if (++t->answer_set_count >= 2 && t->on_answer_set) {
|
if (++t->answer_set_count >= 2) {
|
||||||
t->on_answer_set (t, answerer, promise, t->answer_set_data);
|
if (t->on_answer_set)
|
||||||
|
t->on_answer_set (t, answerer, promise, t->answer_set_data);
|
||||||
|
if (t->state == STATE_ANSWER_CREATED)
|
||||||
|
t->state = STATE_ANSWER_SET;
|
||||||
|
g_cond_broadcast (&t->cond);
|
||||||
}
|
}
|
||||||
if (t->state == STATE_ANSWER_CREATED)
|
|
||||||
t->state = STATE_ANSWER_SET;
|
|
||||||
g_cond_broadcast (&t->cond);
|
|
||||||
gst_promise_unref (promise);
|
gst_promise_unref (promise);
|
||||||
g_mutex_unlock (&t->lock);
|
g_mutex_unlock (&t->lock);
|
||||||
}
|
}
|
||||||
|
@ -232,12 +233,13 @@ _on_offer_set (GstPromise * promise, gpointer user_data)
|
||||||
GstElement *offeror = TEST_GET_OFFEROR (t);
|
GstElement *offeror = TEST_GET_OFFEROR (t);
|
||||||
|
|
||||||
g_mutex_lock (&t->lock);
|
g_mutex_lock (&t->lock);
|
||||||
if (++t->offer_set_count >= 2 && t->on_offer_set) {
|
if (++t->offer_set_count >= 2) {
|
||||||
t->on_offer_set (t, offeror, promise, t->offer_set_data);
|
if (t->on_offer_set)
|
||||||
|
t->on_offer_set (t, offeror, promise, t->offer_set_data);
|
||||||
|
if (t->state == STATE_OFFER_CREATED)
|
||||||
|
t->state = STATE_OFFER_SET;
|
||||||
|
g_cond_broadcast (&t->cond);
|
||||||
}
|
}
|
||||||
if (t->state == STATE_OFFER_CREATED)
|
|
||||||
t->state = STATE_OFFER_SET;
|
|
||||||
g_cond_broadcast (&t->cond);
|
|
||||||
gst_promise_unref (promise);
|
gst_promise_unref (promise);
|
||||||
g_mutex_unlock (&t->lock);
|
g_mutex_unlock (&t->lock);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue