Bug 1296531 - Don't use direct audio listener with full duplex in MediaRecorder. r?jesup
MozReview-Commit-ID: LS6eF6n7t7M
--- a/dom/media/encoder/MediaEncoder.cpp
+++ b/dom/media/encoder/MediaEncoder.cpp
@@ -534,17 +534,23 @@ MediaEncoder::ConnectMediaStreamTrack(Me
return;
}
if (!mAudioListener) {
MOZ_ASSERT(false, "No audio listener for this audio track");
return;
}
mAudioTrack = audio;
- audio->AddDirectListener(mAudioListener);
+ // With full duplex we don't risk having audio come in late to the MSG
+ // so we won't need a direct listener.
+ const bool enableDirectListener =
+ !Preferences::GetBool("media.navigator.audio.full_duplex", false);
+ if (enableDirectListener) {
+ audio->AddDirectListener(mAudioListener);
+ }
audio->AddListener(mAudioListener);
} else if (VideoStreamTrack* video = aTrack->AsVideoStreamTrack()) {
if(!mVideoEncoder) {
MOZ_ASSERT(false, "No video encoder for this video track");
return;
}
if (mVideoTrack) {
MOZ_ASSERT(false, "Only one video track supported.");