blob: 1dc5d9760baa6576092e3c534c4d713e713b3388 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// 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/#rtcrtpsender-interface
[Exposed=Window]
interface RTCRtpSender {
readonly attribute MediaStreamTrack? track;
readonly attribute RTCDtlsTransport? transport;
readonly attribute RTCDtlsTransport? rtcpTransport;
[CallWith=ScriptState, HighEntropy, Measure] static RTCRtpCapabilities? getCapabilities(DOMString kind);
[CallWith=ScriptState] Promise<void> setParameters(RTCRtpSendParameters parameters);
RTCRtpSendParameters getParameters();
[Measure, CallWith=ScriptState] Promise<void> replaceTrack(MediaStreamTrack? withTrack);
[Measure] readonly attribute RTCDTMFSender? dtmf;
[Measure, RaisesException] void setStreams(MediaStream... streams);
[CallWith=ScriptState] Promise<RTCStatsReport> getStats();
[Measure,
CallWith=ScriptState,
RaisesException] RTCInsertableStreams createEncodedStreams();
[DeprecateAs=V8RTCRtpSender_CreateEncodedAudioStreams_Method,
RuntimeEnabled=RTCInsertableStreams,
CallWith=ScriptState,
RaisesException] RTCInsertableStreams createEncodedAudioStreams();
[DeprecateAs=V8RTCRtpSender_CreateEncodedVideoStreams_Method,
RuntimeEnabled=RTCInsertableStreams,
CallWith=ScriptState,
RaisesException] RTCInsertableStreams createEncodedVideoStreams();
};