gecko-dev/dom/media/webrtc
Chun-Min Chang 6ee4485293 Bug 1706524 - Track AudioDeviceID in AudioInputTrack r=padenot
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
2021-04-28 18:33:58 +00:00
..
common
jsapi
jsep
libwebrtcglue Backed out changeset 80745715b204 (bug 1509951) for build bustages on MFTEncoder.cpp and linting opt failures. CLOSED TREE 2021-04-16 23:12:35 +03:00
sdp
tests Bug 1637248 - update disabling condition for test_setSinkId_preMutedElement r=intermittent-reviewers,jmaher DONTBUILD 2021-04-27 16:56:36 +00:00
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 Bug 1706524 - Track AudioDeviceID in AudioInputTrack r=padenot 2021-04-28 18:33:58 +00:00
MediaEngineWebRTCAudio.h Bug 1706524 - Track AudioDeviceID in AudioInputTrack r=padenot 2021-04-28 18:33:58 +00:00
MediaTrackConstraints.cpp Bug 1698238 replace bool aIsChrome parameters with CallerType r=pehrsons 2021-04-15 06:40:03 +00:00
MediaTrackConstraints.h Bug 1698238 replace bool aIsChrome parameters with CallerType r=pehrsons 2021-04-15 06:40:03 +00:00
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