Although libwebrtc put keyframe interval in codec specific data
structures, it is actually used by all supported codecs and can
be shared in the common config type. This makes adding VPx specific
data structures easier.
Differential Revision: https://phabricator.services.mozilla.com/D121019
Although libwebrtc put keyframe interval in codec specific data
structures, it is actually used by all supported codecs and can
be shared in the common config type. This makes adding VPx specific
data structures easier.
Differential Revision: https://phabricator.services.mozilla.com/D121019
"media.getusermedia.microphone.deny" and "media.getusermedia.camera.deny" now
override "media.navigator.permission.disabled".
User permission checks are removed because they are repeated in the app.
Differential Revision: https://phabricator.services.mozilla.com/D120065
selectAudioOutput() grants are per-device, but getUserMedia() grants expose all
speakers associated with any microphone.
When exposed, speaker devices have labels even when there is no active capture device.
Differential Revision: https://phabricator.services.mozilla.com/D118443
Now that we always have an MTA active, we don't need to explicitly try to
start it anymore. These locations in our source were doing so, which is now
not only redundant, but fails (since `EnsureMTA`'s default constructor is now
`private`).
We also fix a spot in `JumpListBuilder` where we need a lambda to capture by
reference to fix a static analysis issue.
Differential Revision: https://phabricator.services.mozilla.com/D113563
Now that we always have an MTA active, we don't need to explicitly try to
start it anymore. These locations in our source were doing so, which is now
not only redundant, but fails (since `EnsureMTA`'s default constructor is now
`private`).
We also fix a spot in `JumpListBuilder` where we need a lambda to capture by
reference to fix a static analysis issue.
Differential Revision: https://phabricator.services.mozilla.com/D113563
Now that we always have an MTA active, we don't need to explicitly try to
start it anymore. These locations in our source were doing so, which is now
not only redundant, but fails (since `EnsureMTA`'s default constructor is now
`private`).
We also fix a spot in `JumpListBuilder` where we need a lambda to capture by
reference to fix a static analysis issue.
Differential Revision: https://phabricator.services.mozilla.com/D113563
Add an utility function named AppendFromInterleavedBuffer in
AudioSegment to append data from the given interleaved buffer. This
function does the same job as what AudioInputProcessing::InsertInGraph
and NativeInputTrack::ProcessInput were used to do. As a result, these
two functions can be eliminated or simplified.
Depends on D116673
Differential Revision: https://phabricator.services.mozilla.com/D116674
The AudioInputProcessing now needs to call ProcessInput to process the
given input data instead of processing them in NotifyInputData
Differential Revision: https://phabricator.services.mozilla.com/D116673
Each AudioInputTrack has its own AudioSegments storing the input audio
data. When the AudioInputTrack is in pass-through mode, the AudioSegment
is just the data de-interleaved from its raw data, without any audio
processing magic applied on it. If there are multiple AudioInputTracks
in pass-through mode exist in the same graph, then all of their
AudioSegments are same.
Before this patch, each of these AudioInputTracks allocates its own
space to store its own AudioSegments even those data are same. This
patch makes it possible for these AudioInputTracks to share the same
AudioSegment data they need. By creating the AudioSegment in the
NativeInputTrack, which is mapped to one specific device and is
connected to the AudioInputTrack, the AudioInputTrack can fetch the
AudioSegment data when they need and then append shared-references of
the AudioChunk, inside the fetched AudioSegment, into their own
AudioSegment. Therefore, we can have some AudioChunks created by the
NativeInputTrack and shared among the AudioInputTracks in pass-through
mode.
Differential Revision: https://phabricator.services.mozilla.com/D114801
Instead of receiving and processing audio input data in
AudioInputProcessing::NotifyInputData, we can get the audio input data
from the connected source via the MediaInputPort and process it in
AudioInputTrack::ProcessInput
Differential Revision: https://phabricator.services.mozilla.com/D114807
- Create a NativeInputTrack that is managed by main-thread in MTG
- Replace mInputDeviceUsers by a <device-id, NativeInputTrack> map
Differential Revision: https://phabricator.services.mozilla.com/D113680
Each AudioInputTrack has its own AudioSegments storing the input audio
data. When the AudioInputTrack is in pass-through mode, the AudioSegment
is just the data de-interleaved from its raw data, without any audio
processing magic applied on it. If there are multiple AudioInputTracks
in pass-through mode exist in the same graph, then all of their
AudioSegments are same.
Before this patch, each of these AudioInputTracks allocates its own
space to store its own AudioSegments even those data are same. This
patch makes it possible for these AudioInputTracks to share the same
AudioSegment data they need. By creating the AudioSegment in the
NativeInputTrack, which is mapped to one specific device and is
connected to the AudioInputTrack, the AudioInputTrack can fetch the
AudioSegment data when they need and then append shared-references of
the AudioChunk, inside the fetched AudioSegment, into their own
AudioSegment. Therefore, we can have some AudioChunks created by the
NativeInputTrack and shared among the AudioInputTracks in pass-through
mode.
Differential Revision: https://phabricator.services.mozilla.com/D114801
Instead of receiving and processing audio input data in
AudioInputProcessing::NotifyInputData, we can get the audio input data
from the connected source via the MediaInputPort and process it in
AudioInputTrack::ProcessInput
Differential Revision: https://phabricator.services.mozilla.com/D114807
- Create a NativeInputTrack that is managed by main-thread in MTG
- Replace mInputDeviceUsers by a <device-id, NativeInputTrack> map
Differential Revision: https://phabricator.services.mozilla.com/D113680