- From: Bernard Aboba <Bernard.Aboba@microsoft.com>
- Date: Wed, 1 Jun 2016 22:47:05 +0000
- To: IƱaki Baz Castillo <ibc@aliax.net>
- CC: "public-ortc@w3.org" <public-ortc@w3.org>, Robin Raymond <robin@hookflash.com>
> [BA] At least at the moment, feature codecs (CN, telephone-event, etc.) are included in parameters.codecs[]. > > So we can check whether a payload type included in parameters.codecs[j].payloadType has no corresponding parameters.encodings[i].codecPayloadType entry or if it has an entry, that parameters.encodings[i].ssrc is unset. Inaki said: "I don't agree. That would break multiple RtpReceivers over the same Transport. This is: two RtpReceivers could not share the same Transport if both use the same payloadType=111 for, for example, CN codec. They would conflict." [BA] Right. Is this fixed by your proposal https://github.com/openpeer/ortc/pull/557 ? If one of the audio codecs had encodings[i].ssrc unset (see scenario below) then wouldn't we add pt_table entries for G722, uLaw and CN? The uLaw packets are no longer dropped, but now we have a conflict if multiple RtpReceivers attempt to do voice activity detection with G.722 (even though an SSRC is specified for G.722 so it shouldn't be an issue). Inaki proposed rule: If parameters.muxId is unset and parameters.encodings[i].ssrc is unset for some value of i from 0 to the number of encodings, or parameters.encodings[i].rtx is set but parameters.encodings[i].rtx.ssrc is unset for some value of i from 0 to the number of encodings, or parameters.encodings[i].fec is set but parameters.encodings[i].fec.ssrc is unset for some value of i from 0 to the number of encodings, then add entries to pt_table by setting pt_table[parameters.codecs[j].payloadType] to receiver, for values of j from 0 to the number of codecs. If pt_table[pt] is already set to a value other than receiver, or parameters.codecs[j].payloadType is unset for any value of j from 0 to the number of codecs, then receiver.receive() will throw an InvalidParameters exception. Test parameters: { codecs : [ { name : 'audio/g722', payloadType : 100 }, { name : 'audio/ulaw', payloadType : 0 }, { name : 'audio/CN', payloadType : 111 } ], encodings : [ { codecPayloadType : 100, ssrc : 1111 }, { codecPayloadType : 0, }, { codecPayloadType : 111, } ] }
Received on Wednesday, 1 June 2016 22:47:37 UTC