зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1616875: Add some functions to PeerConnectionObserver that PeerConnectionImpl can use to fire track/stream association events. r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D64237 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
1898507132
Коммит
9a84c4d7b4
|
@ -1989,6 +1989,32 @@ class PeerConnectionObserver {
|
|||
);
|
||||
}
|
||||
|
||||
fireTrackEvent(receiver, streams) {
|
||||
const pc = this._dompc;
|
||||
const transceiver = pc.getTransceivers().find(t => t.receiver == receiver);
|
||||
if (!transceiver) {
|
||||
return;
|
||||
}
|
||||
const track = receiver.track;
|
||||
this.dispatchEvent(
|
||||
new this._win.RTCTrackEvent("track", {
|
||||
transceiver,
|
||||
receiver,
|
||||
track,
|
||||
streams,
|
||||
})
|
||||
);
|
||||
// Fire legacy event as well for a little bit.
|
||||
this.dispatchEvent(
|
||||
new this._win.MediaStreamTrackEvent("addtrack", { track })
|
||||
);
|
||||
}
|
||||
|
||||
fireStreamEvent(stream) {
|
||||
const ev = new this._win.MediaStreamEvent("addstream", { stream });
|
||||
this.dispatchEvent(ev);
|
||||
}
|
||||
|
||||
onDTMFToneChange(track, tone) {
|
||||
var pc = this._dompc;
|
||||
var sender = pc.getSenders().find(sender => sender.track == track);
|
||||
|
|
|
@ -42,6 +42,16 @@ interface PeerConnectionObserver
|
|||
transceiver to be created on the C++ side */
|
||||
void onTransceiverNeeded(DOMString kind, TransceiverImpl transceiverImpl);
|
||||
|
||||
/*
|
||||
Lets PeerConnectionImpl fire track events on the RTCPeerConnection
|
||||
*/
|
||||
void fireTrackEvent(RTCRtpReceiver receiver, sequence<MediaStream> streams);
|
||||
|
||||
/*
|
||||
Lets PeerConnectionImpl fire addstream events on the RTCPeerConnection
|
||||
*/
|
||||
void fireStreamEvent(MediaStream stream);
|
||||
|
||||
/* DTMF callback */
|
||||
void onDTMFToneChange(MediaStreamTrack track, DOMString tone);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче