Transceivers don't have media identifier assigned after setRemoteDescription in createAnswer

67 views
Skip to first unread message

Jindrich Sarson

unread,
Jun 4, 2024, 8:02:30 AMJun 4
to discuss-webrtc
Hi,

I am developing iOS app using WebRTC. Lets have this scenario:

1. There is Bob and Alice, both have video and audio transceivers set to inactive state.
2. Alice sets its video and audio transceiver to sendOnly state
3. Bob create offer and send it to Alice
4. Alice sets remoteDescription and creates Answer

What I expected, that video transmission will be available from Alice to Bob. However, when I show all transceivers to logs, I see:

Transceiver mid: 0, direction: 3, sender track ID: no track, receiver track ID: d0d5f5f4-a7fb-430d-a9b8-2944ba6c16f0

mid: 1, direction: 3, sender track ID: no track, receiver track ID: ce66f8a0-30e2-4458-9599-f00d244a8c71

Transceiver mid: , direction: 1, sender track ID: audio0, receiver track ID: 7dcf7403-8f40-4a2f-83b9-6c7e2d009c14

Transceiver mid: , direction: 1, sender track ID: video0, receiver track ID: 18bb34f1-e088-48a3-a677-a716dad91f45

The first 2 (mid 0 and mid 1) are Bob's inactive transceivers. The other 2 are Alice's sendOnly transceivers, but they don't have mids assigned. They are not assigned after setRemoteDesription are called, also not assigned when createAnswer is called.

From the other way, when I call offer from Alice's side, the transceivers are assigned correctly.

I tried to find if this is correct behaviour or not using WebRTC specs, but as far as I understand, it should work. For my specific scenario, I wanted to use "Bob" to always create offer, even in case "Alice" needs to negotiate anything, it says "Bob" - please renegotiate. I got impression, that in one offer / answer roundtrip are resolved request of both sides and that "Alice" don't have to createOffer.

Do I miss something?

Thanks,

Jindrich

Reply all
Reply to author
Forward
0 new messages