
PASS setCodecPreferences() on audio transceiver with codecs returned from RTCRtpSender.getCapabilities('audio') should succeed 
PASS setCodecPreferences() on video transceiver with codecs returned from RTCRtpReceiver.getCapabilities('video') should succeed 
PASS setCodecPreferences() with both sender receiver codecs combined should succeed 
PASS setCodecPreferences([]) should succeed 
PASS setCodecPreferences() with reordered codecs should succeed 
FAIL setCodecPreferences() on audio transceiver with codecs returned from getCapabilities('video') should throw InvalidAccessError assert_throws: undefined threw object "TypeError: undefined is not an object (evaluating 'func.call')" that is not a DOMException () => transceiver.setCodecPreferences(capabilities.codecs): property "code" is equal to undefined, expected function "() => transceiver.setCodecPreferences(capabilities.codecs)"
FAIL setCodecPreferences() with user defined codec should throw InvalidAccessError assert_throws: undefined threw object "TypeError: undefined is not an object (evaluating 'func.call')" that is not a DOMException () => transceiver.setCodecPreferences(codecs): property "code" is equal to undefined, expected function "() => transceiver.setCodecPreferences(codecs)"
FAIL setCodecPreferences() with user defined codec together with codecs returned from getCapabilities() should throw InvalidAccessError assert_throws: undefined threw object "TypeError: undefined is not an object (evaluating 'func.call')" that is not a DOMException () => transceiver.setCodecPreferences(codecs): property "code" is equal to undefined, expected function "() => transceiver.setCodecPreferences(codecs)"
FAIL setCodecPreferences() with modified codecs returned from getCapabilities() should throw InvalidAccessError assert_throws: undefined threw object "TypeError: undefined is not an object (evaluating 'func.call')" that is not a DOMException () => transceiver.setCodecPreferences(codecs): property "code" is equal to undefined, expected function "() => transceiver.setCodecPreferences(codecs)"

