Bug 1363667 - P5 - RTP Source PeerConnection JS IF
MozReview-Commit-ID: HLG5MFzhMNK
--- a/dom/webidl/PeerConnectionImpl.webidl
+++ b/dom/webidl/PeerConnectionImpl.webidl
@@ -48,25 +48,36 @@ interface PeerConnectionImpl {
[Throws]
boolean checkNegotiationNeeded();
[Throws]
void insertDTMF(TransceiverImpl transceiver, DOMString tones,
optional unsigned long duration = 100,
optional unsigned long interToneGap = 70);
[Throws]
DOMString getDTMFToneBuffer(RTCRtpSender sender);
+ sequence<RTCRtpSourceEntry> getRtpSources(MediaStreamTrack track,
+ DOMHighResTimeStamp rtpSourceNow);
+ DOMHighResTimeStamp getNowInRtpSourceReferenceTime();
+
[Throws]
void replaceTrackNoRenegotiation(TransceiverImpl transceiverImpl,
MediaStreamTrack? withTrack);
[Throws]
void closeStreams();
void addRIDExtension(MediaStreamTrack recvTrack, unsigned short extensionId);
void addRIDFilter(MediaStreamTrack recvTrack, DOMString rid);
+ // Inserts CSRC data for the RtpSourceObserver for testing
+ void insertAudioLevelForContributingSource(MediaStreamTrack recvTrack,
+ unsigned long source,
+ DOMHighResTimeStamp timestamp,
+ boolean hasLevel,
+ byte level);
+
void enablePacketDump(unsigned long level,
mozPacketDumpType type,
boolean sending);
void disablePacketDump(unsigned long level,
mozPacketDumpType type,
boolean sending);
--- a/dom/webidl/RTCPeerConnection.webidl
+++ b/dom/webidl/RTCPeerConnection.webidl
@@ -130,16 +130,26 @@ interface RTCPeerConnection : EventTarge
RTCRtpTransceiver addTransceiver((MediaStreamTrack or DOMString) trackOrKind,
optional RTCRtpTransceiverInit init);
sequence<RTCRtpSender> getSenders();
sequence<RTCRtpReceiver> getReceivers();
sequence<RTCRtpTransceiver> getTransceivers();
+ // test-only: for testing getContributingSources
+ [ChromeOnly]
+ DOMHighResTimeStamp mozGetNowInRtpSourceReferenceTime();
+ // test-only: for testing getContributingSources
+ [ChromeOnly]
+ void mozInsertAudioLevelForContributingSource(RTCRtpReceiver receiver,
+ unsigned long source,
+ DOMHighResTimeStamp timestamp,
+ boolean hasLevel,
+ byte level);
[ChromeOnly]
void mozAddRIDExtension(RTCRtpReceiver receiver, unsigned short extensionId);
[ChromeOnly]
void mozAddRIDFilter(RTCRtpReceiver receiver, DOMString rid);
[ChromeOnly]
void mozSetPacketCallback(mozPacketCallback callback);
[ChromeOnly]
void mozEnablePacketDump(unsigned long level,