Bug 1505284 - P2. Use system's h264 decoder for webrtc call. r=padenot
authorJean-Yves Avenard <jyavenard@mozilla.com>
Thu, 22 Nov 2018 16:30:44 +0000
changeset 504156 e89c4b9db24dd4e14feabcf08f2e975ec13f065b
parent 504155 92a1eb79716cbf0c1524db328ddc8e5cc8c159bb
child 504157 99321f96fd0c043d5a72a26bd0ff6e49759af698
push id10290
push userffxbld-merge
push dateMon, 03 Dec 2018 16:23:23 +0000
treeherdermozilla-beta@700bed2445e6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerspadenot
bugs1505284, 1509316
milestone65.0a1
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
Bug 1505284 - P2. Use system's h264 decoder for webrtc call. r=padenot All H264 system's decoders now handle low latency mode and are typically hardware accelerated. We disable it for now on Android due to bug 1509316 Differential Revision: https://phabricator.services.mozilla.com/D12432
modules/libpref/init/StaticPrefList.h
modules/libpref/init/all.js
--- a/modules/libpref/init/StaticPrefList.h
+++ b/modules/libpref/init/StaticPrefList.h
@@ -1118,21 +1118,29 @@ PREF("media.navigator.hardware.vp8_decod
 // decoding.
 VARCACHE_PREF(
   "media.navigator.mediadatadecoder_enabled",
    MediaNavigatorMediadatadecoderEnabled,
   bool, false
 )
 // Use MediaDataDecoder API for WebRTC. This includes hardware acceleration for
 // decoding.
+# if defined(ANDROID)
+#  define PREF_VALUE false // Bug 1509316
+# else
+#  define PREF_VALUE true
+# endif
+
 VARCACHE_PREF(
   "media.navigator.mediadatadecoder_h264_enabled",
    MediaNavigatorMediadatadecoderH264Enabled,
-  bool, false
+  RelaxedAtomicBool, PREF_VALUE
 )
+#undef PREF_VALUE
+
 #endif // MOZ_WEBRTC
 
 #ifdef MOZ_OMX
 VARCACHE_PREF(
   "media.omx.enabled",
    MediaOmxEnabled,
   bool, false
 )
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -458,16 +458,21 @@ pref("media.navigator.video.default_widt
 pref("media.navigator.video.default_height",0); // adaptive default
 pref("media.peerconnection.enabled", true);
 pref("media.peerconnection.video.enabled", true);
 pref("media.navigator.video.max_fs", 12288); // Enough for 2048x1536
 pref("media.navigator.video.max_fr", 60);
 pref("media.navigator.video.h264.level", 31); // 0x42E01f - level 3.1
 pref("media.navigator.video.h264.max_br", 0);
 pref("media.navigator.video.h264.max_mbps", 0);
+#if defined(ANDROID)
+pref("media.navigator.mediadatadecoder_h264_enabled", false); // bug 1509316
+#else
+pref("media.navigator.mediadatadecoder_h264_enabled", true);
+#endif
 pref("media.peerconnection.video.vp9_enabled", true);
 pref("media.peerconnection.video.vp9_preferred", false);
 pref("media.getusermedia.browser.enabled", false);
 pref("media.getusermedia.channels", 0);
 #if defined(ANDROID)
 pref("media.getusermedia.camera.off_while_disabled.enabled", false);
 pref("media.getusermedia.microphone.off_while_disabled.enabled", false);
 #else