RE: Towards a new charter for the WebRTC Working Group

Tim Panton said: 

"Given that we haven't implemented 1.0 anywhere yet"

[BA] The Web Platform Test site (https://wpt.fyi/webrtc) provides an artificially pessimistic view of the implementation status of WebRTC 1.0. 

In fact, there has been great progress made on WebRTC 1.0 and object model implementations over the last few months.   For example, here is an inventory of the methods/objects supported by various browsers (point your browser at http://internaut.com:8080/~baboba/cluecon-tutorial/cap-dumper/ to see for yourself): 

Chrome Canary 65.0.3309.0 

Phase 1: Object/Method Inventory 
RTCPeerConnection supported
   addTrack supported
   getReceivers supported
   getSenders supported
   ontrack supported
   removeTrack supported
RTCRtpReceiver supported
RTCRtpSender supported

Safari Version 11.0.2 (13604.4.7.1.3)


Phase 1: Object/Method Inventory 
RTCPeerConnection supported
   addTrack supported
   addTransceiver supported
   getReceivers supported
   getSenders supported
   getTransceivers supported
   ontrack supported
   removeTrack supported
RTCRtpTransceiver supported
   setDirection supported
   stop supported
RTCIceTransport supported
RTCRtpReceiver supported
   getParameters supported
RTCRtpSender supported
   getParameters supported
   replaceTrack supported


Firefox Nightly 59.0a1 

Phase 1: Object/Method Inventory 
RTCPeerConnection supported
   addTrack supported
   addTransceiver supported
   getReceivers supported
   getSenders supported
   getTransceivers supported
   ontrack supported
   removeTrack supported
RTCRtpTransceiver supported
   stop supported
RTCRtpReceiver supported
   getContributingSources supported
   getSynchronizationSources supported
   getStats supported
RTCRtpSender supported
   getParameters supported
   getStats supported
   replaceTrack supported
   setParameters supported

 
Edge Fall Creator's Update

Phase 1: Object/Method Inventory 
RTCPeerConnection supported
RTCIceGatherer supported
   getLocalParameters supported
   getLocalCandidates supported
   createAssociatedGatherer supported
   onerror supported
   onlocalcandidate supported
RTCIceTransport supported
   getRemoteCandidates supported
   start supported
   stop supported
   getRemoteParameters supported
   createAssociatedTransport supported
   addRemoteCandidate supported
   setRemoteCandidate supported
   oncandidatepairchange supported
RTCDtlsTransport supported
   getLocalParameters supported
   getRemoteParameters supported
   getRemoteCertificates supported
   start supported
   stop supported
   onerror supported
RTCSrtpSdesTransport supported
RTCRtpReceiver supported
   getCapabilities supported
   setTransport supported
   receive supported
   getContributingSources supported
   stop supported
RTCRtpSender supported
   getCapabilities supported

Phase 2: Sender/Receiver Capabilities
RTCRtpReceiver.getCapabilities(audio): 
{
  "codecs": [
    {
      "name": "SILK",
      "kind": "audio",
      "clockRate": 16000,
      "preferredPayloadType": 104,
      "maxptime": 100,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "opus",
      "kind": "audio",
      "clockRate": 48000,
      "preferredPayloadType": 102,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 2,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "G722",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 9,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "PCMU",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 0,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "PCMA",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 8,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "SILK",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 103,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "RED",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 97,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "CN",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 13,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "CN",
      "kind": "audio",
      "clockRate": 16000,
      "preferredPayloadType": 118,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "telephone-event",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 101,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {
        "events": "0-16"
      },
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    }
  ],
  "headerExtensions": [
    {
      "kind": "audio",
      "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
      "preferredId": 1,
      "preferredEncrypt": false
    },
    {
      "kind": "audio",
      "uri": "http://skype.com/experiments/rtp-hdrext/fast_bandwidth_feedback#version_2",
      "preferredId": 3,
      "preferredEncrypt": false
    }
  ],
  "fecMechanisms": [
    "RED"
  ]
}
RTCRtpReceiver.getCapabilities(video): 
{
  "codecs": [
    {
      "name": "X-H264UC",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 122,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:src,x-pli recv:src,x-pli"
        }
      ],
      "parameters": {
        "packetization-mode": "1",
        "mst-mode": "NI-TC"
      },
      "options": {},
      "maxTemporalLayers": 3,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": true
    },
    {
      "name": "H264",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 107,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": "pli"
        },
        {
          "type": "goog-remb",
          "parameter": ""
        }
      ],
      "parameters": {
        "profile-level-id": "42C02A",
        "packetization-mode": "1"
      },
      "options": {},
      "maxTemporalLayers": 3,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "VP8",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 100,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": "pli"
        },
        {
          "type": "goog-remb",
          "parameter": ""
        }
      ],
      "parameters": {
        "max-fr": "30",
        "max-fs": "3600"
      },
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "rtx",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 99,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {
        "apt": "107"
      },
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "rtx",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 96,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {
        "apt": "100"
      },
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "x-ulpfecuc",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 123,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    }
  ],
  "headerExtensions": [
    {
      "kind": "video",
      "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
      "preferredId": 1,
      "preferredEncrypt": false
    },
    {
      "kind": "video",
      "uri": "http://skype.com/experiments/rtp-hdrext/fast_bandwidth_feedback#version_2",
      "preferredId": 3,
      "preferredEncrypt": false
    }
  ],
  "fecMechanisms": []
}
RTCRtpSender.getCapabilities(audio): 
{
  "codecs": [
    {
      "name": "SILK",
      "kind": "audio",
      "clockRate": 16000,
      "preferredPayloadType": 104,
      "maxptime": 100,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "opus",
      "kind": "audio",
      "clockRate": 48000,
      "preferredPayloadType": 102,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 2,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "G722",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 9,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "PCMU",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 0,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "PCMA",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 8,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "SILK",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 103,
      "maxptime": 60,
      "ptime": 20,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:dsh recv:dsh"
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "RED",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 97,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "CN",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 13,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "CN",
      "kind": "audio",
      "clockRate": 16000,
      "preferredPayloadType": 118,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "telephone-event",
      "kind": "audio",
      "clockRate": 8000,
      "preferredPayloadType": 101,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {
        "events": "0-16"
      },
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    }
  ],
  "headerExtensions": [
    {
      "kind": "audio",
      "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
      "preferredId": 1,
      "preferredEncrypt": false
    },
    {
      "kind": "audio",
      "uri": "http://skype.com/experiments/rtp-hdrext/fast_bandwidth_feedback#version_2",
      "preferredId": 3,
      "preferredEncrypt": false
    }
  ],
  "fecMechanisms": [
    "RED"
  ]
}
RTCRtpSender.getCapabilities(video): 
{
  "codecs": [
    {
      "name": "X-H264UC",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 122,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "x-message",
          "parameter": "app send:src,x-pli recv:src,x-pli"
        }
      ],
      "parameters": {
        "packetization-mode": "1",
        "mst-mode": "NI-TC"
      },
      "options": {},
      "maxTemporalLayers": 3,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": true
    },
    {
      "name": "H264",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 107,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": "pli"
        },
        {
          "type": "goog-remb",
          "parameter": ""
        }
      ],
      "parameters": {
        "profile-level-id": "42C02A",
        "packetization-mode": "1"
      },
      "options": {},
      "maxTemporalLayers": 3,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "VP8",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 100,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [
        {
          "type": "x-cinfo",
          "parameter": ""
        },
        {
          "type": "x-bwe",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": ""
        },
        {
          "type": "nack",
          "parameter": "pli"
        },
        {
          "type": "goog-remb",
          "parameter": ""
        }
      ],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "rtx",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 99,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {
        "apt": "107",
        "rtx-time": "3000"
      },
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "rtx",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 96,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {
        "apt": "100",
        "rtx-time": "3000"
      },
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    },
    {
      "name": "x-ulpfecuc",
      "kind": "video",
      "clockRate": 90000,
      "preferredPayloadType": 123,
      "maxptime": 0,
      "ptime": 0,
      "numChannels": 1,
      "rtcpFeedback": [],
      "parameters": {},
      "options": {},
      "maxTemporalLayers": 0,
      "maxSpatialLayers": 0,
      "svcMultiStreamSupport": false
    }
  ],
  "headerExtensions": [
    {
      "kind": "video",
      "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
      "preferredId": 1,
      "preferredEncrypt": false
    },
    {
      "kind": "video",
      "uri": "http://skype.com/experiments/rtp-hdrext/fast_bandwidth_feedback#version_2",
      "preferredId": 3,
      "preferredEncrypt": false
    }
  ],
  "fecMechanisms": []
}

Received on Tuesday, 2 January 2018 19:05:54 UTC