level-asymmetry-allowed and profile-level-id capabilities and settings #382

Closed
aboba opened this Issue Feb 20, 2016 · 0 comments

Projects

None yet

1 participant

@aboba
Contributor
aboba commented Feb 20, 2016

In looking at the H.264 SDP used by Mozilla Firefox (see below), I noticed the level-asymmetry-allowed SDP parameter (set to 1, to indicate that FF supports level asymmetry).

In the ORTC API, we provide a profileLevelId capability within an RTCRtpReceiver (to indicate the maximum profile-level-id that a receiver can handle), as well as a profileLevelId setting within an RTCRtpSender (to configure the profile-level-id for the sender). Currently there is no levelAsymmetryAllowed capability.

Is there an assumption within the ORTC API that all implementations support level asymmetry? Also, since there is no profileLevelId capability within an RTCRtpSender, how does a developer determine the maximum profile-level-id that a sender can support?

Mozilla FF SDP returned by createOffer():

v=0
o=mozilla...THIS_IS_SDPARTA-47.0a1 5983883222922123900 0 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 2E:92:F3:20:7D:3F:19:53:37:F5:0E:AB:2B:4B:C9:6A:59:C6:E1:D0:1F:EB:7C:C2:00:E2:CB:05:6C:C1:9A:19
a=group:BUNDLE sdparta_0 sdparta_1
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 9 UDP/TLS/RTP/SAVPF 109 9 0 8
c=IN IP4 0.0.0.0
a=sendrecv
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=ice-pwd:ebd7decbfa8c702b923d585b5144c3e0
a=ice-ufrag:97edf848
a=mid:sdparta_0
a=msid:{df8df6c4-5206-4b75-9e31-1a84dd513abf} {31ac2e92-dcbe-4643-b23b-91000ed9dac8}
a=rtcp-mux
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000/1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=setup:actpass
a=ssrc:3124154477 cname:{6c71c29f-72ff-4cc4-8cb1-eb4e3be55244}
m=video 9 UDP/TLS/RTP/SAVPF 120 126 97
c=IN IP4 0.0.0.0
a=bundle-only
a=sendrecv
a=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1
a=fmtp:120 max-fs=12288;max-fr=60
a=ice-pwd:ebd7decbfa8c702b923d585b5144c3e0]
a=ice-ufrag:97edf848
a=mid:sdparta_1
a=msid:{df8df6c4-5206-4b75-9e31-1a84dd513abf} {cb329e17-e276-4e85-8923-f01029c9bccc}
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=rtcp-mux
a=rtpmap:120 VP8/90000
a=rtpmap:126 H264/90000
a=rtpmap:97 H264/90000
a=setup:actpass
a=ssrc:19456627 cname:{6c71c29f-72ff-4cc4-8cb1-eb4e3be55244}

@aboba aboba added 1.1 1.0 labels Feb 20, 2016
@aboba aboba added a commit that referenced this issue Feb 21, 2016
@aboba aboba level-asymmetry-allowed
Fix for Issue #382
1e6ad47
@aboba aboba added the PR exists label Feb 21, 2016
@aboba aboba closed this Feb 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment