It is possible for receiver.receive(parameters) or sender.send(parameters) to be called with parameter.encodings not set. What happens then?
Here is a proposal:
When parameters.encodings is not set when calling receiver.receive(parameters), then when an incoming packet matches a pt_table[packet.pt] entry, then an ssrc_table entry is added, but the pt_table entry is not removed. The default values of RTCRtpEncodingParameters (e.g. active = true) are assumed.
When parameters.encodings is not set when calling sender.send(parameters), then the browser chooses an SSRC for the sender, otherwise the default values of RTCRtpEncodingParameters are assumed.
How about adding the following text to send() (Section 5.3.2):
"if parameters.encodings is unset, the user agent behaves as though a single encodings entry was provided, with encodings.ssrc set to a value determined by the user agent, encodings.active set to "true", encodings.codecPayloadType set to codecs[j].payloadType where j is the first codec that is not "red", "rtx", "dtmf", "cn" or a forward error correction codec, and all the other encodings attributes (e.g. fec, rtx, priority, maxBitrate, minQuality, resolutionScale,etc.) unset."
send(parameters) behavior when parameters.encodings is unset
Partial fix for Issue #187