steep-balloon-41261
06/30/2023, 10:49 AMhappy-rain-34172
06/30/2023, 10:50 AMv=0
o=- 5823229336453791980 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS PA_ZwbMA6gwsbbi
m=video 9 UDP/TLS/RTP/SAVPF 96 97 35 36 98 99 100 101 127 122 125 121 124 107 108 109 123 120 114 115 116
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:xT6H
a=ice-pwd:bJdzVwPsVqzbbwSD0vBmajdm
a=ice-options:trickle
a=fingerprint:sha-256 2E:4E:D9:7E:59:70:A0:30:E7:15:CC:69:34:AD:0C:34:DB:FE:CE:A4:A2:50:12:B7:A6:D7:BA:84:4A:66:3A:80
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 <http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time>
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 <http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01>
a=extmap:5 <http://www.webrtc.org/experiments/rtp-hdrext/playout-delay>
a=extmap:6 <http://www.webrtc.org/experiments/rtp-hdrext/video-content-type>
a=extmap:7 <http://www.webrtc.org/experiments/rtp-hdrext/video-timing>
a=extmap:8 <http://www.webrtc.org/experiments/rtp-hdrext/color-space>
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendonly
a=msid:PA_ZwbMA6gwsbbi 4be2b3e9-7baa-4075-bb75-c6b55e0bd9bf
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:35 AV1/90000
a=rtcp-fb:35 goog-remb
a=rtcp-fb:35 transport-cc
a=rtcp-fb:35 ccm fir
a=rtcp-fb:35 nack
a=rtcp-fb:35 nack pli
a=rtpmap:36 rtx/90000
a=fmtp:36 apt=35
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=125
a=rtpmap:124 H264/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=124
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:123 H265/90000
a=rtcp-fb:123 goog-remb
a=rtcp-fb:123 transport-cc
a=rtcp-fb:123 ccm fir
a=rtcp-fb:123 nack
a=rtcp-fb:123 nack pli
a=fmtp:123 level-id=120;profile-id=1;profile-space=0;tier-flag=0
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=123
a=rtpmap:114 red/90000
a=rtpmap:115 rtx/90000
a=fmtp:115 apt=114
a=rtpmap:116 ulpfec/90000
a=ssrc-group:FID 2221504740 1316308789
a=ssrc:2221504740 cname:1guiifXI9pT229lr
a=ssrc:2221504740 msid:PA_ZwbMA6gwsbbi 4be2b3e9-7baa-4075-bb75-c6b55e0bd9bf
a=ssrc:1316308789 cname:1guiifXI9pT229lr
a=ssrc:1316308789 msid:PA_ZwbMA6gwsbbi 4be2b3e9-7baa-4075-bb75-c6b55e0bd9bf
Received remote sdp(answer by livekit):
v=0
o=- 7437225389344299552 1688096144 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 A7:89:CA:C5:C6:89:9D:B8:18:E8:00:43:7D:F6:00:BF:93:A4:40:D7:C0:00:0E:29:BA:D7:AC:80:09:2F:48:A0
a=ice-lite
a=extmap-allow-mixed
a=group:BUNDLE 0
m=video 9 UDP/TLS/RTP/SAVPF 124 108
c=IN IP4 0.0.0.0
a=setup:active
a=mid:0
a=ice-ufrag:QHrRjNHLoIKXQtYB
a=ice-pwd:GHbuZhGhaZCfMATczNdHtRlPqbyfrrVB
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:124 H264/90000
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=rtpmap:108 H264/90000
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=extmap:4 <http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01>
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=recvonly
Created local sdp again, (OnRenegotiationNeeded() callback triggered, after removing the track from pc):
v=0
o=- 5823229336453791980 3 IN IP4 127.0.0.1
s=-
t=0 0
a=extmap-allow-mixed
a=msid-semantic: WMS
m=video 0 UDP/TLS/RTP/SAVPF 96 97 35 36 98 99 100 101 127 122 125 121 124 107 108 109 123 120 114 115 116
c=IN IP4 169.254.83.107
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:1691626629 1 udp 2122260223 169.254.83.107 53434 typ host generation 0 network-id 8 network-cost 50
a=candidate:3143976315 1 udp 2122199807 fdae:5d54:7d99::9526:61bc:9e61:85f9 53435 typ host generation 0 network-id 2
a=candidate:3594733067 1 udp 2122134271 fdae:5d54:7d99::956b:41d:4331:3103 53436 typ host generation 0 network-id 3
a=candidate:3293016977 1 udp 2122068735 fdae:5d54:7d99::d728:db91:9b8c:85fb 53437 typ host generation 0 network-id 4
a=candidate:36268794 1 udp 2122003199 fdae:5d54:7d99::eb2 53438 typ host generation 0 network-id 5
a=candidate:3708875704 1 udp 2121932543 192.168.99.32 53439 typ host generation 0 network-id 1
a=ice-ufrag:xT6H
a=ice-pwd:bJdzVwPsVqzbbwSD0vBmajdm
a=ice-options:trickle
a=fingerprint:sha-256 2E:4E:D9:7E:59:70:A0:30:E7:15:CC:69:34:AD:0C:34:DB:FE:CE:A4:A2:50:12:B7:A6:D7:BA:84:4A:66:3A:80
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 <http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time>
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 <http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01>
a=extmap:5 <http://www.webrtc.org/experiments/rtp-hdrext/playout-delay>
a=extmap:6 <http://www.webrtc.org/experiments/rtp-hdrext/video-content-type>
a=extmap:7 <http://www.webrtc.org/experiments/rtp-hdrext/video-timing>
a=extmap:8 <http://www.webrtc.org/experiments/rtp-hdrext/color-space>
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=inactive
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:35 AV1/90000
a=rtcp-fb:35 goog-remb
a=rtcp-fb:35 transport-cc
a=rtcp-fb:35 ccm fir
a=rtcp-fb:35 nack
a=rtcp-fb:35 nack pli
a=rtpmap:36 rtx/90000
a=fmtp:36 apt=35
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=125
a=rtpmap:124 H264/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=124
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:123 H265/90000
a=rtcp-fb:123 goog-remb
a=rtcp-fb:123 transport-cc
a=rtcp-fb:123 ccm fir
a=rtcp-fb:123 nack
a=rtcp-fb:123 nack pli
a=fmtp:123 level-id=120;profile-id=1;profile-space=0;tier-flag=0
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=123
a=rtpmap:114 red/90000
a=rtpmap:115 rtx/90000
a=fmtp:115 apt=114
a=rtpmap:116 ulpfec/90000
Received the remote sdp from livekit:
v=0
o=- 7437225389344299552 1688096145 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 A7:89:CA:C5:C6:89:9D:B8:18:E8:00:43:7D:F6:00:BF:93:A4:40:D7:C0:00:0E:29:BA:D7:AC:80:09:2F:48:A0
a=ice-lite
a=extmap-allow-mixed
a=group:BUNDLE 0
m=video 9 UDP/TLS/RTP/SAVPF 124 108
c=IN IP4 0.0.0.0
a=setup:active
a=mid:0
a=ice-ufrag:QHrRjNHLoIKXQtYB
a=ice-pwd:GHbuZhGhaZCfMATczNdHtRlPqbyfrrVB
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:124 H264/90000
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=rtpmap:108 H264/90000
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=extmap:4 <http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01>
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=inactive
.
.
.
a=candidate:4267975093 1 tcp 2124414975 192.168.99.64 7881 typ host tcptype passive
a=candidate:4267975093 2 tcp 2124414975 192.168.99.64 7881 typ host tcptype passive
a=end-of-candidates
---
Error occurred:
[<http://sdp_offer_answer.cc:758|sdp_offer_answer.cc:758>]: Failed to set remote answer sdp: A BUNDLE group was added in the answer that did not exist in the offer.
Could anybody give some hints, thanks!boundless-energy-78552
06/30/2023, 11:17 AMhappy-rain-34172
06/30/2023, 11:38 AMsdp_semantics to`SdpSemantics::kUnifiedPlan`, other configs are left to default.happy-rain-34172
07/04/2023, 9:12 AME/RTCEngine$onAnswer: error setting remote description for answer: Failed to set remote answer sdp: A BUNDLE group in answer contains a MID='3' that was not in the offered group. I only modified this code block to
val transceivers = engine.publisher.peerConnection.transceivers
for (t in transceivers) {
if (t.sender.id() == track.rtcTrack.id()) {
engine.publisher.peerConnection.removeTrack(t.sender)
t.stop()
}
}
After I did publish & unpublish the screen several times, I can see more m-lines generated into the local offer sdp if I did NOT change the code, and the memory usage will keep growing until pc.close() got called.happy-rain-34172
07/04/2023, 9:28 AMStopping a transceiver allows freeing its network port, encoder and decoder resources. This also makes its m= section in the SDP reusable by future transceivers, preventing the SDP from growing indefinitely as transceivers are added and removed.I should call the
transceiver.stop() if I need to publish/unpublish the same video source repeatedly, could this be a bug related to pion?dry-elephant-14928
07/04/2023, 10:52 PMsetCameraEnabled APIs)happy-rain-34172
07/05/2023, 2:52 AMAndroid does not use Pion. what you are seeing is libwebrtc behavior.You are right, this is what I meant, I have tried use two clients (one for publishing, another for subscribing) without connect to the SFU server, and they did work fine (for the publisher side: add transceiver, stop transceiver again and again..., the m= section was removed but the a=mid was increase).
we recommend using publisher mute instead of fully unpublishingThis is a very good idea, but if I need to publish multi video sources (add multi transceivers to the pc) to the SFU, this could be an issue because the encoders & ports are not released. I did not find a public API to remove the transceiver and I guess its not support by the WebRTC stack.
dry-elephant-14928
07/05/2023, 7:16 AMreplaceTrack to switch between different sources.dry-elephant-14928
07/05/2023, 7:17 AMhappy-rain-34172
07/05/2023, 8:08 AM