Mozilla said on Thursday that Firefox 17 for Android now supports HTML5-based H.264 video playback. Prior to this release, web developers have relied on Adobe Flash to bring H.264 content to compatible smartphones and tablets. But with Flash no longer receiving support from Adobe for the Android platform, another content delivery solution was needed.
Earlier this year, Mozilla wanted to only support open-source, patent-free video codecs in its browser, and pushed really hard to make that happen. But the majority of the web didn't buy it, and now relies on the license-heavy H.264 codec. Mozilla finally decided to fully support H.264 in Firefox once the studio realized Google wasn't going to drop support in Chrome and stick to using its own HTML5 video codec, WebM, as originally promised.
Although Mozilla reportedly has the money to pay for H.264 licensing, the company has chosen to allow the browser to access the codec from the desktop operating system rather than bake it straight into the browser itself. Most Android devices support H.264 decoding on a hardware level, making it even easier Mozilla to flip the switch on in Firefox for Android and use the system's "Stagefright" library.
According to Mozilla, Firefox currently supports H.264 playback on any device running Android 4.1 (Jelly Bean) and any Samsung device running Android 4.0 (Ice Cream Sandwich). To test whether Firefox supports H.264 on a compatible device, try playing this "Big Buck Bunny" video.
"We have temporarily blocked non-Samsung devices running Ice Cream Sandwich until we can fix or workaround some bugs," Mozilla said. "Support for Gingerbread and Honeycomb devices is planned for a later release." (Bug 787228)
If an Android device currently isn't supported, curious users can still manually turn on H.264 playback for testing by first entering "about:config" in the address bar, searching for "stagefright", and then toggling the "stagefright.force-enabled" preference to "true". H.264 playback should work on most Ice Cream Sandwich devices, but it will likely crash on those powered by Honeycomb (v3.x) and Gingerbread (v2.3).
"If Firefox does not recognize your hardware decoder, it will use a safer (but slower) software decoder," the company said. "Daring users can manually enable hardware decoding. Enter about:config as described above and search for 'stagefright'. To force hardware video decoding, change the “media.stagefright.omxcodec.flags” preference to 16. The default value is 0, which will try the hardware decoder and fall back to the software decoder if there are problems." (Bug 797225)
Videos with green lines or crashes will be the most likely problems users will encounter, Mozilla said. Firefox for Android users are encouraged to file a bug report so that the team can quickly support the codec on more configurations. The report should include the device model, Android OS version, the URL of the video, and any about:config preferences that were changed.