add API to get SSRC and audio level #236

aboba opened this Issue Sep 11, 2015 · 2 comments


None yet

1 participant

aboba commented Sep 11, 2015

At the WEBRTC WG Interim Meeting September 9-10, 2015, PR 300 was proposed and appeared to have WG consensus:

This is an issue to sync the ORTC API with the proposed text in WebRTC 1.0.

@aboba aboba added 1.1 1.0 labels Sep 11, 2015
aboba commented Sep 11, 2015

Here is a posting with the proposed text:

aboba commented Sep 21, 2015

Here is a proposal:

partial interface RTCRtpReceiver : RTCStatsProvider {
sequence getContributingSources ();

6.3.2 Methods

Returns an RTCRtpContributingSource object for each unique CSRC or SSRC received by this RTCRtpReceiver. The browser must keep information from RTP packets received in the last 60 seconds.

No parameters.
Return type: sequence

6.4 dictionary RTCRtpContributingSource

The RTCRtpContributingSource object contains information about a contributing source. Each time an RTP packet is received, the RTCRtpContributingSource objects are updated. If the RTP packet contains CSRCs, then the RTCRtpContributingSource objects corresponding to those CSRCs are updated, and the level values for those CSRCs are updated based on the mixer-client header extension [RFC6565] if present. If the RTP packet contains no CSRCs, then the RTCRtpContributingSource object corresponding to the SSRC is updated, and the level value for the SSRC is updated based on the client-mixer header extension [RFC6464] if present.

interface RTCRtpContributingSource {
readonly attribute DOMHighResTimeStamp timestamp;
readonly attribute unsigned long source;
readonly attribute byte? audioLevel;
6.4.1 Attributes

audioLevel of type byte, readonly , nullable
The audio level contained in the last RTP packet received from this source. If the source was set from an SSRC, this will be the level value in [RFC6464]. If the source was set from a CSRC, this will be the level value in [RFC6465]. Both [RFC6464] and [RFC6465] define the level as a integral value from 0 to -127 representing the audio level in decibels relative to the loudest signal that they system could possibly encode.

source of type unsigned long, readonly
The CSRC or SSRC value of the contributing source.

timestamp of type DOMHighResTimeStamp, readonly
The timestamp of type DOMHighResTimeStamp [HIGHRES-TIME], indicating the time of reception of the most recent RTP packet containing the source. The time is relative to the UNIX epoch (Jan 1, 1970, UTC). The timestamp corresponds to the local clock.

@robin-raymond robin-raymond pushed a commit that referenced this issue Sep 21, 2015
Robin Raymond Added support for the WebRTC 1.0 certificate management API, as noted…
… in: Issue #195

Added certificate argument to the RTCDtlsTransport constructor, as noted in: Issue #218
Added the "failed" state to RTCDtlsTransportState, as noted in: Issue #219
Changed getNominatedCandidatePair to getSelectedCandidatePair, as noted in: Issue #220
Added support for WebRTC 1.0 RTCIceCredentialType, as noted in: Issue #222
Clarified behavior of createAssociatedGatherer(), as noted in: Issue #223
Changed spelling from "iceservers" to "iceServers" for consistency with WebRTC 1.0, as noted in: Issue #225
Added support for SCTP port numbers, as noted in: Issue #227
Changed "outbound-rtp" to "outboundrtp" within the Statistics API, as noted in: Issue #229
Changed maxPacketLifetime and maxRetransmits from unsigned short to unsigned long, as noted in: Issue #231
Clarified DataChannel negotiation, as noted in: Issue #233
Added getContributingSources() method, as noted in: Issue #236
Fixes to Examples 5 and 6, as noted in: Issue 237 and Issue #239
Fixed cut and paste errors in Example 11, as noted in: Issue #241
@aboba aboba closed this Oct 6, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment