mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-04 19:33:18 +00:00
6ee4485293
This patch adds an `AudioDeviceID` member in `AudioInputTrack`. This aims to simplify `AudioInputTrack::CloseAudioInput`. Before this patch, the `AudioDeviceID` is tracked by `MediaEngineWebRTCMicrophoneSource` only instead so `AudioInputTrack` has no idea of what device it pairs with. One main drawback is that `MediaTrackGraphImpl` needs to search all the `AudioDataListener` inside it to infer what device is closed when `AudioInputTrack::Destroy()` is called, since `AudioInputTrack` doesn't know what is its paired device, which gives an O(N) time complexity, where N is the number of `AudioDataListener` in `MediaTrackGraphImpl` A simple way to reduce the time complexity from O(N) to O(1) is to track the paired device when `AudioInputTrack::OpenAudioInput` is called. This also enables the possibility to remove `mInputDeviceUsers` in Bug 1702646. Differential Revision: https://phabricator.services.mozilla.com/D113040 |
||
---|---|---|
.. | ||
common | ||
jsapi | ||
jsep | ||
libwebrtcglue | ||
sdp | ||
tests | ||
third_party_build | ||
transport | ||
transportbridge | ||
CubebDeviceEnumerator.cpp | ||
CubebDeviceEnumerator.h | ||
MediaEngine.h | ||
MediaEngineDefault.cpp | ||
MediaEngineDefault.h | ||
MediaEnginePrefs.h | ||
MediaEngineRemoteVideoSource.cpp | ||
MediaEngineRemoteVideoSource.h | ||
MediaEngineSource.cpp | ||
MediaEngineSource.h | ||
MediaEngineWebRTC.cpp | ||
MediaEngineWebRTC.h | ||
MediaEngineWebRTCAudio.cpp | ||
MediaEngineWebRTCAudio.h | ||
MediaTrackConstraints.cpp | ||
MediaTrackConstraints.h | ||
MediaTransportChild.h | ||
MediaTransportParent.h | ||
moz.build | ||
PeerIdentity.cpp | ||
PeerIdentity.h | ||
PMediaTransport.ipdl | ||
PWebrtcGlobal.ipdl | ||
RTCCertificate.cpp | ||
RTCCertificate.h | ||
RTCIdentityProviderRegistrar.cpp | ||
RTCIdentityProviderRegistrar.h | ||
SineWaveGenerator.h | ||
WebrtcGlobal.h | ||
WebrtcIPCTraits.h |