W3C home > Mailing lists > Public > public-webrtc@w3.org > September 2015

RE: Re: Issue #4 (Need API to read the CSRC on received tracks) and Issue #6 (Need API to receive mixer to client audio level information for a track)

From: Bernard Aboba <Bernard.Aboba@microsoft.com>
Date: Fri, 11 Sep 2015 19:07:17 +0000
To: "public-webrtc@w3.org" <public-webrtc@w3.org>
Message-ID: <BLUPR03MB149A5A5EBA84A1B01FE0705EC500@BLUPR03MB149.namprd03.prod.outlook.com>
[BA] Some questions:

1.    When an RTP packet is received with a Mixer-Client extension and CSRCs is an RTCRtpContributing source dictionary created for the SSRC as well as the CSRCs?   If so, is an audioLevel attribute computed with that dictionary?   Or is the audioLevel only computed for the SSRC when there are no CSRCs?

2.    If an RTP packet is received with no Mixer-Client extension, but with CSRCs, would the RTCRtpContributingSource dictionaries for the CSRCs have the audioLevel attribute unset since that cannot be determined?

3.    How is the timestamp value obtained?  Is this the timestamp value from the RTP packet?  Or is it an NTP timestamp?

From: Bernard Aboba
Sent: Friday, September 11, 2015 11:22 AM
To: public-webrtc@w3.org
Subject: Re: Issue #4 (Need API to read the CSRC on received tracks) and Issue #6 (Need API to receive mixer to client audio level information for a track)

At the interim yesterday,  PR 300<https://github.com/w3c/webrtc-pc/pull/300/files> was presented, to address Issue #4<https://github.com/w3c/webrtc-pc/issues/4> and #6<https://github.com/w3c/webrtc-pc/issues/6> .

The pull request is still being edited, but to solicit comment, here is a slightly cleaned up version of what being worked on there:

partial interface RTCRtpReceiver : RTCStatsProvider {

    sequence<RTCRtpContributingSource> getContributingSources ();


Returns an RTCRtpContributingSource for each unique CSRC or SSRC received by this RTCRtpReceiver in the last second.
No parameters.
Return type: sequence<RTCRtpContributingSource>

6.4 dictionary RTCRtpContributingSource

The RTCRtpContributingSource object contains information about a contributing source, such as the most recent time a packet was received from the source. The browser must keep information from RTP packets received in the previous second. When an RTP packet is received, the entries are updated for the SSRC of the RTP packet and for any CSRC contained within it.

interface RTCRtpContributingSource {

    readonly    attribute DOMHiResTimeStamp 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]. If the RTP packet does not contain a client-to-mixer header extension, then the browser will compute the level value as described in [RFC6464] and will provide that. 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 DOMHiResTimeStamp, readonly
Time of reception of the most recent RTP packet containing the contributing source.
Received on Friday, 11 September 2015 19:07:48 UTC

This archive was generated by hypermail 2.3.1 : Monday, 23 October 2017 15:19:46 UTC