gstreamer/subprojects/gst-plugins-bad/ext/webrtc
Jan Schmidt 0f8fc27892 webrtcbin: Fix renegotiation checks
When checking for renegotiation against a local offer,
reverse the remote direction in the corresponding answer
to fix falsely not triggering on-negotiation needed when
switching (for example) from local sendrecv -> recvonly
against a peer that answered 'recvonly'.

In the other direction, when the local was the answerer,
renegotiation might trigger when it didn't need to -
whenever the local transceiver direction differs from
the intersected direction we chose. Instead what we want
is to check if the intersected direction we would now
choose differs from what was previously chosen.

This makes the behaviour in both cases match the
behaviour described in
https://www.w3.org/TR/webrtc/#dfn-check-if-negotiation-is-needed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7303>
2024-08-11 21:45:10 +00:00
..
fwd.h webrtc: Split WebRTCICE into base classes and implementation. 2022-07-26 13:51:11 +00:00
gstwebrtc.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstwebrtcbin.c webrtcbin: Fix renegotiation checks 2024-08-11 21:45:10 +00:00
gstwebrtcbin.h webrtc: Add reuse-source-pads property 2024-08-05 13:15:39 +00:00
gstwebrtcstats.c webrtcstats: Properly report IceCandidate type 2023-07-03 03:51:53 +00:00
gstwebrtcstats.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
meson.build meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
transportreceivebin.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
transportreceivebin.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
transportsendbin.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
transportsendbin.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
transportstream.c webrtc: add all SSRC attributes getting CAPS for a PT 2024-03-08 10:28:15 +00:00
transportstream.h webrtc: implement initial simulcast fec/rtx usage 2022-03-29 23:55:41 +00:00
utils.c webrtcbin: Improve SDP intersection for Opus 2024-01-25 13:37:21 +00:00
utils.h webrtcbin: Improve SDP intersection for Opus 2024-01-25 13:37:21 +00:00
webrtcdatachannel.c webrtcdatachannel: Bind to parent webrtcbin using a weak reference 2023-05-08 19:20:22 +00:00
webrtcdatachannel.h webrtcdatachannel: Bind to parent webrtcbin using a weak reference 2023-05-08 19:20:22 +00:00
webrtcsctptransport.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
webrtcsctptransport.h webrtc: Split WebRTCICE into base classes and implementation. 2022-07-26 13:51:11 +00:00
webrtcsdp.c webrtcbin: create and associate transceivers earlier in negotation 2024-08-01 07:38:46 +00:00
webrtcsdp.h webrtcbin: create and associate transceivers earlier in negotation 2024-08-01 07:38:46 +00:00
webrtctransceiver.c webrtcbin: Store pending mid to make create-offer idempotent 2022-09-02 11:52:58 +02:00
webrtctransceiver.h webrtcbin: Store pending mid to make create-offer idempotent 2022-09-02 11:52:58 +02:00