Add an option to avoid early initialization of audio capture

This can cause issues on Android S if this initialization happens when
the app doesn't have permission to access the microphone.

Bug: b/197461765
Change-Id: Iebccff9d15f5bb12a7b2c78e1c373e379b37a127
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246104
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Xavier Lepaul‎ <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35689}
This commit is contained in:
Xavier Lepaul
2022-01-13 17:06:26 +01:00
committed by WebRTC LUCI CQ
parent a3361ff2f5
commit 1e12f2a800
6 changed files with 58 additions and 9 deletions

View File

@ -106,6 +106,8 @@ const char MediaConstraints::kTypingNoiseDetection[] =
const char MediaConstraints::kAudioMirroring[] = "googAudioMirroring";
const char MediaConstraints::kAudioNetworkAdaptorConfig[] =
"googAudioNetworkAdaptorConfig";
const char MediaConstraints::kInitAudioRecordingOnSend[] =
"InitAudioRecordingOnSend";
// Constraint keys for CreateOffer / CreateAnswer defined in W3C specification.
const char MediaConstraints::kOfferToReceiveAudio[] = "OfferToReceiveAudio";
@ -211,6 +213,9 @@ void CopyConstraintsIntoAudioOptions(const MediaConstraints* constraints,
if (options->audio_network_adaptor_config) {
options->audio_network_adaptor = true;
}
ConstraintToOptional<bool>(constraints,
MediaConstraints::kInitAudioRecordingOnSend,
&options->init_recording_on_send);
}
bool CopyConstraintsIntoOfferAnswerOptions(