- From: Philipp Hancke via GitHub <sysbot+gh@w3.org>
- Date: Wed, 22 Jun 2016 16:34:36 +0000
- To: public-ortc@w3.org
fippo has just created a new issue for https://github.com/openpeer/ortc: == determining common capabilities == Trying to fix my remaining items for h264 interop between Chrome/Firefox and Edge I ran into an issue with determining the intersection of codec parameters and rtcpFeedback. Some code lives [here](https://github.com/webrtc/adapter/blob/master/src/js/edge/edge_shim.js#L193-L231). The ORTC demo on Microsofts TestDrive also has a function [filterCodecParams](https://ortcdemo.azurewebsites.net/scripts/ortc-peer.js) which does a similar thing. It would be useful to at least have some high-level about matching local and remote capabilities. After I determine that a codec is common (same name, clockrate and number of channels), I need to determine what rtcp feedback and parameters can be used. rtcp-fb is easy, chrome sends this: * ccm fir * nack * nack pli * goog-remb * transport-cc Since Edge only supports nack pli and goog-remb, only those two should be in the answer (I am not sure if there is a distinction between 'capabilities in the answer' and 'common capabilities'). This is also described in [RFC 4585](https://tools.ietf.org/html/rfc4585#section-4.2): ``` When used in conjunction with the offer/answer model [8], the offerer MAY present a set of these AVPF attributes to its peer. The answerer MUST remove all attributes it does not understand as well as those it does not support in general or does not wish to use in this particular media session. ``` The parameters are something where I need advice. When Firefox offers, the profile-level-id is * profile-level-id=42e01f whereas Edge has this capability * profile-level-id=42C02A How do I deal with this? A filter operation as I do for rtcp-fb is not right. Same problem for audio (so its not just a matter of h264 profile levels), Chrome sends a=fmtp:111 minptime=10; useinbandfec=1 which currently gets passed into Edge's RTPSender.send (without issues, I assume it ignores them). Should I rather put the 'left' (local) parameters into the answer and the offerer (browser engine) is responsible for figuring out the right thing to do? This smells a lot like the offer-answer rules from [RFC 3264](https://tools.ietf.org/html/rfc3264#section-6.1): ``` The interpretation of fmtp parameters in an offer depends on the parameters. In many cases, those parameters describe specific configurations of the media format, and should therefore be processed as the media format value itself would be. This means that the same fmtp parameters with the same values MUST be present in the answer if the media format they describe is present in the answer. Other fmtp parameters are more like parameters, for which it is perfectly acceptable for each agent to use different values. In that case, the answer MAY contain fmtp parameters, and those MAY have the same values as those in the offer, or they MAY be different. SDP extensions that define new parameters SHOULD specify the proper interpretation in offer/answer. ``` the tl;dr of this is 'it depends' i guess Please view or discuss this issue at https://github.com/openpeer/ortc/issues/569 using your GitHub account
Received on Wednesday, 22 June 2016 16:34:38 UTC