Media/openh264
OpenH264 is a codec library that has been is used since Desktop Firefox version 33 to help enable real-time communication technologies, like WebRTC, especially in situations where the WebRTC connection may be gatewayed to devices that support H.264 but not VP8. It is also used when talking to some FxOS devices that are using hardware H.264 codecs to reduce CPU load.
OpenH264 is not packaged with Firefox; it is downloaded and updated from Cisco's servers automatically. It can be disabled from the Addon's page.
With a few specific exceptions (certain Linux systems that don't support sandboxing), OpenH264 is sandboxed for security reasons, and it always runs in a separate process.
- See http://www.openh264.org/ for more information about it.
Project Status Updates
- In Firefox 33
- OpenH264 is for WebRTC only for the time being. Streaming video decode typically requires H.264 profiles not included yet in OpenH264 and also audio codecs that are not freely available.
- which means: it doesn't enable playing back MP4 videos at this time
- it will enable real-time communication from the FxOS phone using the WebRTC and the Hardware H.264 codec to OpenH264 on the browser.
- We have sand-boxing turned on with OpenH264 (except for some Linux variants)
- OpenH264 is for WebRTC only for the time being. Streaming video decode typically requires H.264 profiles not included yet in OpenH264 and also audio codecs that are not freely available.
- Android is not yet supported
OpenH264 support for WebRTC (desktop)
- Bug 948160 tracks continuing development for OpenH264.
ID | Summary | Target milestone | Status | Assigned to | Resolution | Depends on | Blocks | Whiteboard | Feature b2g | Priority |
---|---|---|---|---|---|---|---|---|---|---|
985255 | Breakdown: Implement OpenH264 download | --- | VERIFIED | Benjamin Smedberg | FIXED | 1037767, 1039490, 1039555, 1007694, 1009760, 1009764, 1009765, 1009816, 1009909, 1013345, 1013354, 1013359, 1035854, 1039839, 1040060 | 948160 | p=8 s=it-32c-31a-30b.3 [qa-] | --- | -- |
1007694 | [UX] Decide how to expose the option to disable openh264 | Firefox 32 | VERIFIED | (Currently slow to respond) Philipp Sackl [:phlsa] (Firefox UX) please use needinfo | FIXED | 948160, 985255, 1009909 | [ux] p=2 s=it-32c-31a-30b.2 [qa-] | --- | -- | |
1009760 | Hook up crash reporting for GMP plugins (openh264) | Firefox 33 | VERIFIED | :Felipe Gomes (needinfo for replies!) | FIXED | 1009764, 1035854, 1038961, 1039575, 1041226, 1054965 | 948160, 1015800, 1021232, 985255, 1009765, 1012951, 1017393, 1053473, 1057484 | --- | -- | |
1009765 | Add GMP plugin crashes to FHR crash reporting | Firefox 34 | VERIFIED | Drew Willcoxon :adw | FIXED | 1052141, 1009760 | 948160, 985255, 1053473, 1053748, 1057484 | [openh264-uplift] | --- | -- |
1009816 | Firefox desktop: openh264 updates: check, download, install | Firefox 33 | VERIFIED | Brian R. Bondy [:bbondy] | FIXED | 1013354, 1041181, 1048374, 1415340 | 948160, 1037767, 1039490, 1039555, 1052365, 985255, 1035225, 1037754, 1039226, 1039839, 1040060 | --- | -- | |
1009909 | Firefox desktop: Integrate the openh264 media plugin in the add-ons manager | mozilla33 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 1007694, 1032814 | 948160, 985255, 1039028, 1039226, 1040048, 1086668 | --- | -- | |
1037767 | Use straight nsIChannel instead of nsIIncrementalDownload for GMPInstallManager | --- | NEW | 1039490, 1039555, 1009816, 1013354, 1039839, 1040060 | 948160, 985255, 1035225, 1037754 | --- | -- | |||
1039028 | Provide info when "Show More Information" is selected for the OpenH264 plugin in the addon manager | Firefox 35 | VERIFIED | Blair McBride [:Unfocused] (UNAVAILABLE) | FIXED | 985249, 1009909 | 948160 | --- | -- | |
1039226 | Trigger explicit OpenH264 updates from OpenH264Provider | mozilla34 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 1039490, 1039555, 1009816, 1009909, 1039839, 1040060, 1087674 | 948160, 1042161 | --- | -- | |
1039490 | Get rid of on the main thread IO from GMPInstallManager when updates are being installed | --- | NEW | 1039555, 1009816, 1013354, 1039839, 1040060 | 948160, 1037767, 649889, 985255, 1035225, 1037754, 1039226 | --- | -- | |||
1039555 | factor out common URL var resolution functions for app updates and gmp update/installs | --- | NEW | 1009816, 1013354, 1039839, 1040060 | 948160, 1037767, 1039490, 985255, 1035225, 1037754, 1039226 | --- | -- | |||
1040048 | Register the OpenH264 plugin from the OpenH264Provider on startup | Firefox 33 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 1009909 | 948160 | --- | -- | |
1040937 | Open H264 plugin stuck in disabled state after download | mozilla33 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 948160 | --- | -- | ||
1040941 | Non-functional "preference" button for Open H264 plugin (depending on state) | mozilla34 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 948160 | --- | -- | ||
1041080 | Fix OpenH264Provider path registration, default enabled state and logging | mozilla33 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 948160, 1041097 | --- | -- | ||
1041232 | Disabling a GMP plugin while it's in-use in a call leads to a UAF crash. | mozilla34 | VERIFIED | Randell Jesup [:jesup] (needinfo me) | FIXED | 948160, 1043671, 1038961, 1043531 | --- | -- | ||
1041525 | Possible deadlock in Crashreporter::OOPInit() from GMP plugin initialization | mozilla34 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 948160, 1038961, 1042348, 1043531 | --- | -- | ||
1042161 | Handle OpenH264 updates for long-running sessions | mozilla34 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 1039226 | 948160, 1046182, 1056199 | --- | -- | |
1042348 | crash in libsystem_kernel.dylib@0x15866 (mozilla::ipc::GeckoChildProcessHost::PerformAsyncLaunchInternal) | mozilla34 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 1041525 | 948160 | fixed by bug 1041525 | --- | -- |
1043531 | OpenH264 crash reporting notification not shown | Firefox 34 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 1041226, 1041232, 1041525, 1045500 | 948160, 1044213, 1045100 | --- | -- | |
1044245 | GMP with OpenH264 crashes on Windows. | mozilla34 | VERIFIED | Randell Jesup [:jesup] (needinfo me) | FIXED | 1047442 | 948160 | --- | P1 | |
1045209 | The OpenH264 path should be relative to the profile directory and include a version subdirectory | mozilla34 | VERIFIED | Qeole | FIXED | 1059011 | 948160, 1053727, 1053729, 1058042 | [lang=js] [diamond] | --- | -- |
1045500 | Crash reporter notification cuts off OpenH264 plugin name | Firefox 34 | VERIFIED | Georg Fritzsche [:gfritzsche] | FIXED | 948160, 1043531 | --- | -- | ||
1046052 | Create mochitest-browser test for GMP crash reporting | --- | NEW | 1087246, 1044408, 1146955 | 948160 | [lang=js] | --- | P3 | ||
1046644 | Honor OpenH264 autoupdate pref for the initial GMP install check | Firefox 34 | VERIFIED | Brian R. Bondy [:bbondy] | FIXED | 948160, 1057990 | --- | -- | ||
1049501 | crash in mozilla::gmp::PGMPParent::DeallocShmems() | mozilla34 | VERIFIED | Randell Jesup [:jesup] (needinfo me) | FIXED | 948160 | --- | -- | ||
1053745 | Include OpenH264 plugin in FHR data | Firefox 35 | VERIFIED | Benjamin Smedberg | FIXED | 948160 | [openh264-uplift] [lang=js] | --- | -- | |
1053746 | Add telemetry probes for OpenH264 plugin | Firefox 35 | VERIFIED | Benjamin Smedberg | FIXED | 948160 | [openh264-uplift] [lang=js] | --- | -- | |
1054965 | [Mac Only] Missing "Submit a crash report" button from OpenH264 crash reporting notification | Firefox 34 | VERIFIED | Benjamin Smedberg | FIXED | 948160, 1009760, 1012949 | --- | -- | ||
1055080 | H264 fmtp in SDP from about:webrtc differs from SDP returned by createOffer/Answer | --- | NEW | 948160, 1165687, 1624328 | --- | -- | ||||
1102531 | On-demand download of Cisco H.264 plugin should occur over HTTPS | --- | NEW | 948160 | --- | P3 | ||||
1196703 | Cisco H.264 plugin should be protected by stronger signature | --- | NEW | 948160 | --- | -- | ||||
1444116 | Update Homepage in plugin description from HTTP to HTTPS | --- | VERIFIED | Nils Ohlmeier [:drno] | FIXED | 948160 | --- | P5 | ||
1619988 | [meta] Update OpenH264 to 2.4.1 | --- | ASSIGNED | Andrew Osmond [:aosmond] (he/him) | 1670333, 1831163, 1267495, 1513000, 1795014, 1825401, 1825404, 1827333, 1827703, 1830297, 1832354, 1832568 | 948160, 1663844, 1827407 | --- | P3 | ||
1831163 | Make WebRTC configure new options with OpenH264 2.3.2 | --- | ASSIGNED | Andrew Osmond [:aosmond] (he/him) | 948160, 1619988 | --- | P3 |
35 Total; 9 Open (25.71%); 0 Resolved (0%); 26 Verified (74.29%);