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

Reply via email to