mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
webrtcbin: Match unassociated transceiver by kind too
When a new m-line comes in that doesn't have a transceiver, only match existing transceivers of the same kind. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
This commit is contained in:
parent
7db5848376
commit
83e546f935
1 changed files with 12 additions and 1 deletions
|
@ -4527,12 +4527,16 @@ static gboolean
|
||||||
_find_compatible_unassociated_transceiver (GstWebRTCRTPTransceiver * p1,
|
_find_compatible_unassociated_transceiver (GstWebRTCRTPTransceiver * p1,
|
||||||
gconstpointer data)
|
gconstpointer data)
|
||||||
{
|
{
|
||||||
|
GstWebRTCKind kind = GPOINTER_TO_INT (data);
|
||||||
|
|
||||||
if (p1->mid)
|
if (p1->mid)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (p1->mline != -1)
|
if (p1->mline != -1)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (p1->stopped)
|
if (p1->stopped)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
if (p1->kind != GST_WEBRTC_KIND_UNKNOWN && p1->kind != kind)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -4659,7 +4663,14 @@ _update_transceivers_from_sdp (GstWebRTCBin * webrtc, SDPSource source,
|
||||||
g_strcmp0 (gst_sdp_media_get_media (media), "video") == 0) {
|
g_strcmp0 (gst_sdp_media_get_media (media), "video") == 0) {
|
||||||
/* No existing transceiver, find an unused one */
|
/* No existing transceiver, find an unused one */
|
||||||
if (!trans) {
|
if (!trans) {
|
||||||
trans = _find_transceiver (webrtc, NULL,
|
GstWebRTCKind kind;
|
||||||
|
|
||||||
|
if (g_strcmp0 (gst_sdp_media_get_media (media), "audio") == 0)
|
||||||
|
kind = GST_WEBRTC_KIND_AUDIO;
|
||||||
|
else
|
||||||
|
kind = GST_WEBRTC_KIND_VIDEO;
|
||||||
|
|
||||||
|
trans = _find_transceiver (webrtc, GINT_TO_POINTER (kind),
|
||||||
(FindTransceiverFunc) _find_compatible_unassociated_transceiver);
|
(FindTransceiverFunc) _find_compatible_unassociated_transceiver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue