summaryrefslogtreecommitdiffstats
path: root/dom/webidl/RTCRtpReceiver.webidl
blob: d8002e6511acf6c8d8e55915cdf702b7f07da21d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * The origin of this IDL file is
 * http://lists.w3.org/Archives/Public/public-webrtc/2014May/0067.html
 */

[Pref="media.peerconnection.enabled",
 Exposed=Window]
interface RTCRtpReceiver {
  readonly attribute MediaStreamTrack   track;
  readonly attribute RTCDtlsTransport?  transport;
  static RTCRtpCapabilities? getCapabilities(DOMString kind);
  sequence<RTCRtpContributingSource>    getContributingSources();
  sequence<RTCRtpSynchronizationSource> getSynchronizationSources();
  [NewObject]
  Promise<RTCStatsReport>               getStats();

  // test-only: for testing getContributingSources
  [ChromeOnly]
  undefined mozInsertAudioLevelForContributingSource(unsigned long source,
                                                     DOMHighResTimeStamp timestamp,
                                                     unsigned long rtpTimestamp,
                                                     boolean hasLevel,
                                                     byte level);
};

//https://w3c.github.io/webrtc-extensions/#rtcrtpreceiver-jitterbuffertarget-rtcrtpreceiver-interface
partial interface RTCRtpReceiver {
  [Throws]
  attribute DOMHighResTimeStamp? jitterBufferTarget;
};

// https://w3c.github.io/webrtc-encoded-transform/#specification
partial interface RTCRtpReceiver {
  [SetterThrows,
   Pref="media.peerconnection.scripttransform.enabled"] attribute RTCRtpTransform? transform;
};