From e588ee0fc6d398e5e7ebd79ddbb7cae6e5bfd1a1 Mon Sep 17 00:00:00 2001 From: Andreas Pehrson Date: Tue, 22 Nov 2016 09:54:47 +0100 Subject: [PATCH] Bug 1296531 - Don't use direct audio listener with full duplex in MediaRecorder. r=jesup MozReview-Commit-ID: LS6eF6n7t7M --HG-- extra : rebase_source : c04bf7299ddb43d39ea9cada71206922a8b6af7a extra : source : f4b79213b8d946e80f471ae1edfcc6fafea447e1 --- dom/media/encoder/MediaEncoder.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dom/media/encoder/MediaEncoder.cpp b/dom/media/encoder/MediaEncoder.cpp index a4ce70d62e8e..e9468072877a 100644 --- a/dom/media/encoder/MediaEncoder.cpp +++ b/dom/media/encoder/MediaEncoder.cpp @@ -539,7 +539,13 @@ MediaEncoder::ConnectMediaStreamTrack(MediaStreamTrack* aTrack) } 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) {