chromium/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://w3c.github.io/webrtc-pc/#rtcrtpreceiver-interface
[Exposed=Window]
interface RTCRtpReceiver {
    readonly attribute MediaStreamTrack track;
    readonly attribute RTCDtlsTransport? transport;
    readonly attribute RTCDtlsTransport? rtcpTransport;
    // https://henbos.github.io/webrtc-extensions/#dom-rtcrtpreceiver-playoutdelayhint
    [RaisesException=Setter, Measure] attribute double? playoutDelayHint;
    // https://w3c.github.io/webrtc-extensions/#dom-rtcrtpreceiver-jitterbuffertarget
    [RaisesException=Setter, Measure, RuntimeEnabled=RTCJitterBufferTarget] attribute double? jitterBufferTarget;
    [CallWith=ScriptState, HighEntropy, Measure] static RTCRtpCapabilities? getCapabilities(DOMString kind);
    RTCRtpReceiveParameters               getParameters();
    [CallWith=ScriptState, RaisesException] sequence<RTCRtpSynchronizationSource> getSynchronizationSources();
    [CallWith=ScriptState, RaisesException] sequence<RTCRtpContributingSource> getContributingSources();
    [CallWith=ScriptState] Promise<RTCStatsReport> getStats();
    [Measure,
     CallWith=ScriptState,
     RaisesException] RTCInsertableStreams createEncodedStreams();
    [RuntimeEnabled=RTCRtpScriptTransform, RaisesException=Setter]
    attribute RTCRtpScriptTransform? transform;
};