On 5/20/2015 11:01 AM, [email protected] wrote:
When I make a call from Firefox to our endpoint, the endpoint's answer includes
this:
a=fmtp:97 profile-level-id=42801F
On Firefox I then see an error in the error callback on setRemoteDescription,
of type InvalidSessionDescriptionError:
"Failed to negotiate codec details for all codecs"
I believe our endpoint supports packetisation mode 0 and constrained baseline
profile (reffered to by 42801F ?) - is this acceptable to Firefox?
(Note: I'm an author on RFC 6184, H264 packetization/negotiation)
Constrained Baseline is 42 with constraint_set0_flag *and*
constraint_set1_flag. 4280xx is Baseline, not Constrained Baseline.
Page 306 of
https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-201304-S!!PDF-E&type=items
|Decoders conforming to the Constrained Baseline profile at a
specific level shall be capable of decoding all bitstreams
in which all of the following are true:
– profile_idc is equal to 66 or constraint_set0_flag is equal to 1,
– constraint_set1_flag is equal to 1,
||– level_idc and constraint_set3_flag represent a level
less than or equal to the specified level.|
So an offer/answer with 4280xx is not compatible with 42E0xx
Admittedly, there are more than a few legacy devices that are actually
42e0xx but negotiate as 4280xx, so it's worth considering if we should
relax the negotiation and allow that anyways - but right now we don't.
Your application can of course translate the profile-level-id value.
(note that 'level' includes one bit from the middle byte -
constraint-set3-flag, xxxx1xxx)
--
Randell Jesup, Mozilla
_______________________________________________
dev-media mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-media