Skip to content

Commit 2615d8e

Browse files
committed
feat(media): decode via RDD process and disable DRM on Android
Route audio/video decoding and encoding through the RDD process with ffvpx instead of the Android MediaCodec, which is required for playback not to crash once isolated content processes and app Zygote preloading are enabled by default. Also disable EME/DRM, whose Widevine CDM path crashes under this configuration.
1 parent a4d2a57 commit 2615d8e

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

mobile/android/app/geckoview-prefs.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,27 @@ pref("media.navigator.permission.device", true);
304304
// this is to preserve battery and data (bug 1540573)
305305
pref("media.throttle-cellular-regardless-of-download-rate", true);
306306

307+
// Waterfox: route audio/video decoding and encoding through the RDD (Remote
308+
// Data Decoder) process and use ffvpx instead of the Android MediaCodec. This
309+
// combination is required for media playback not to crash once isolated content
310+
// processes and app Zygote preloading are enabled by default.
311+
pref("media.use-remote-encoder.audio", true);
312+
pref("media.use-remote-encoder.video", true);
313+
pref("media.ffvpx-hw.enabled", true);
314+
pref("media.rdd-process.enabled", true);
315+
pref("media.rdd-ffvpx.enabled", true);
316+
pref("media.rdd-vorbis.enabled", true);
317+
pref("media.rdd-vpx.enabled", true);
318+
pref("media.rdd-wav.enabled", true);
319+
pref("media.rdd-opus.enabled", true);
320+
pref("media.android-media-codec.enabled", false);
321+
pref("media.ffmpeg.encoder.enabled", true);
322+
323+
// Waterfox: disable EME/DRM on Android. The Widevine CDM crashes the browser
324+
// with the remote media configuration above, so keep EME off by default; this
325+
// makes DRM-protected sites fail to start the CDM rather than crash.
326+
pref("media.eme.enabled", false);
327+
307328
// Increase necko buffer sizes for Android (bug 560591)
308329
pref("network.buffer.cache.size", 16384);
309330

0 commit comments

Comments
 (0)