Backed out changeset 3016dc350c6d (bug 1243857) for Windows dt2 bustage in browser_wa_properties-view-media-nodes.js
authorWes Kocher <wkocher@mozilla.com>
Tue, 19 Apr 2016 16:33:12 -0700
changeset 333813 4236b0313ce3efab36d2f06126c7ce7aaf05dbc6
parent 333812 27fb9ff0bb636d5ee863c2dde8a2c383482ddbb3
child 333814 49293302ac513b9f91da0780c0383612dbf39744
push id1146
push userCallek@gmail.com
push dateMon, 25 Jul 2016 16:35:44 +0000
treeherdermozilla-release@a55778f9cd5a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1243857
milestone48.0a1
backs out3016dc350c6d124ae829b694238d61a99384741b
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 3016dc350c6d (bug 1243857) for Windows dt2 bustage in browser_wa_properties-view-media-nodes.js MozReview-Commit-ID: Cu6chuq0wmL
dom/media/webrtc/MediaEngineWebRTC.cpp
dom/media/webrtc/MediaEngineWebRTC.h
modules/libpref/init/all.js
--- a/dom/media/webrtc/MediaEngineWebRTC.cpp
+++ b/dom/media/webrtc/MediaEngineWebRTC.cpp
@@ -7,19 +7,16 @@
 #include "nsIPrefService.h"
 #include "nsIPrefBranch.h"
 #include "CamerasUtils.h"
 
 #include "CSFLog.h"
 #include "prenv.h"
 
 #include "mozilla/Logging.h"
-#ifdef XP_WIN
-#include "mozilla/WindowsVersion.h"
-#endif
 
 static mozilla::LogModule*
 GetUserMediaLog()
 {
   static mozilla::LazyLogModule sLog("GetUserMedia");
   return sLog;
 }
 
@@ -288,26 +285,16 @@ MediaEngineWebRTC::EnumerateVideoDevices
   }
 
   if (mHasTabVideoSource || dom::MediaSourceEnum::Browser == aMediaSource) {
     aVSources->AppendElement(new MediaEngineTabVideoSource());
   }
 #endif
 }
 
-bool
-MediaEngineWebRTC::SupportsDuplex()
-{
-#ifndef XP_WIN
-  return mFullDuplex;
-#else
-  return IsVistaOrLater() && mFullDuplex;
-#endif
-}
-
 void
 MediaEngineWebRTC::EnumerateAudioDevices(dom::MediaSourceEnum aMediaSource,
                                          nsTArray<RefPtr<MediaEngineAudioSource> >* aASources)
 {
   ScopedCustomReleasePtr<webrtc::VoEBase> ptrVoEBase;
   // We spawn threads to handle gUM runnables, so we must protect the member vars
   MutexAutoLock lock(mMutex);
 
@@ -347,17 +334,17 @@ MediaEngineWebRTC::EnumerateAudioDevices
   if (!mAudioEngineInit) {
     if (ptrVoEBase->Init() < 0) {
       return;
     }
     mAudioEngineInit = true;
   }
 
   if (!mAudioInput) {
-    if (SupportsDuplex()) {
+    if (mFullDuplex) {
       // The platform_supports_full_duplex.
       mAudioInput = new mozilla::AudioInputCubeb(mVoiceEngine);
     } else {
       mAudioInput = new mozilla::AudioInputWebRTC(mVoiceEngine);
     }
   }
 
   int nDevices = 0;
@@ -391,17 +378,17 @@ MediaEngineWebRTC::EnumerateAudioDevices
 
     RefPtr<MediaEngineAudioSource> aSource;
     NS_ConvertUTF8toUTF16 uuid(uniqueId);
     if (mAudioSources.Get(uuid, getter_AddRefs(aSource))) {
       // We've already seen this device, just append.
       aASources->AppendElement(aSource.get());
     } else {
       AudioInput* audioinput = mAudioInput;
-      if (SupportsDuplex()) {
+      if (mFullDuplex) {
         // The platform_supports_full_duplex.
 
         // For cubeb, it has state (the selected ID)
         // XXX just use the uniqueID for cubeb and support it everywhere, and get rid of this
         // XXX Small window where the device list/index could change!
         audioinput = new mozilla::AudioInputCubeb(mVoiceEngine, i);
       }
       aSource = new MediaEngineWebRTCMicrophoneSource(mThread, mVoiceEngine, audioinput,
--- a/dom/media/webrtc/MediaEngineWebRTC.h
+++ b/dom/media/webrtc/MediaEngineWebRTC.h
@@ -546,19 +546,16 @@ class MediaEngineWebRTC : public MediaEn
 {
 public:
   explicit MediaEngineWebRTC(MediaEnginePrefs& aPrefs);
 
   // Clients should ensure to clean-up sources video/audio sources
   // before invoking Shutdown on this class.
   void Shutdown() override;
 
-  // Returns whether the host supports duplex audio stream.
-  bool SupportsDuplex();
-
   void EnumerateVideoDevices(dom::MediaSourceEnum,
                              nsTArray<RefPtr<MediaEngineVideoSource>>*) override;
   void EnumerateAudioDevices(dom::MediaSourceEnum,
                              nsTArray<RefPtr<MediaEngineAudioSource>>*) override;
 private:
   ~MediaEngineWebRTC() {
     Shutdown();
 #if defined(MOZ_B2G_CAMERA) && defined(MOZ_WIDGET_GONK)
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -441,17 +441,17 @@ pref("media.getusermedia.agc", 1);
 // full_duplex: enable cubeb full-duplex capture/playback
 #if defined(XP_MACOSX)
 pref("media.peerconnection.capture_delay", 50);
 pref("media.getusermedia.playout_delay", 10);
 pref("media.navigator.audio.full_duplex", true);
 #elif defined(XP_WIN)
 pref("media.peerconnection.capture_delay", 50);
 pref("media.getusermedia.playout_delay", 40);
-pref("media.navigator.audio.full_duplex", true);
+pref("media.navigator.audio.full_duplex", false);
 #elif defined(ANDROID)
 pref("media.peerconnection.capture_delay", 100);
 pref("media.getusermedia.playout_delay", 100);
 pref("media.navigator.audio.full_duplex", false);
 // Whether to enable Webrtc Hardware acceleration support
 pref("media.navigator.hardware.vp8_encode.acceleration_enabled", false);
 pref("media.navigator.hardware.vp8_decode.acceleration_enabled", false);
 #elif defined(XP_LINUX)