• Matthew Waters's avatar
    webrtc: fix the location of signalling-state change notification · 95488812
    Matthew Waters authored
    1. The spec indicates that the notification should occur near the end of
       'setting the description' processing
    2. The current location with the drop of the lock could cause the 'check
       if negotiation is needed' logic to execute and become confused about
       the state of the webrtcbin's current local descriptions.
       In the bad case, the following assertions could be hit:
       g_assert (trans->mline < gst_sdp_message_medias_len (webrtc->current_local_description->sdp));
       g_assert (trans->mline < gst_sdp_message_medias_len (webrtc->current_remote_description->sdp));
    Moving the signalling state change later in the set description task
    means that checking for a renegotiation will early abort as the
    signalling state is not STABLE before the session description and
    transceivers have been updated.
gstwebrtcbin.c 188 KB