diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js index d13c82dfac83..e1f1957789ef 100644 --- a/toolkit/content/aboutSupport.js +++ b/toolkit/content/aboutSupport.js @@ -1052,6 +1052,12 @@ var snapshotFormatters = { // Media Capabilitites insertEnumerateDatabase(); + + // Codec decode/encode support information (inc. HW accel) + // Currently supported on Windows with Linux/OS X support under development + if (AppConstants.platform == "win") { + insertBasicInfo("media-codec-support-info", data.codecSupportInfo); + } }, remoteAgent(data) { diff --git a/toolkit/locales/en-US/toolkit/about/aboutSupport.ftl b/toolkit/locales/en-US/toolkit/about/aboutSupport.ftl index 1ffd55ceac98..172eab392185 100644 --- a/toolkit/locales/en-US/toolkit/about/aboutSupport.ftl +++ b/toolkit/locales/en-US/toolkit/about/aboutSupport.ftl @@ -164,6 +164,7 @@ media-device-channels = Channels media-device-rate = Rate media-device-latency = Latency media-capabilities-title = Media Capabilities +media-codec-support-info = Codec Support Information # List all the entries of the database. media-capabilities-enumerate = Enumerate database diff --git a/toolkit/modules/Troubleshoot.jsm b/toolkit/modules/Troubleshoot.jsm index 1bbd482d47b6..1515f3d14128 100644 --- a/toolkit/modules/Troubleshoot.jsm +++ b/toolkit/modules/Troubleshoot.jsm @@ -776,6 +776,22 @@ var dataProviders = { .audioDevices(Ci.nsIDOMWindowUtils.AUDIO_INPUT) .QueryInterface(Ci.nsIArray) ); + + data.codecSupportInfo = "Unknown"; + + // We initialize gfxInfo here in the same way as in the media + // section -- should we break this out into a separate function? + try { + // nsIGfxInfo may not be implemented on some platforms. + var gfxInfo = Cc["@mozilla.org/gfx/info;1"].getService(Ci.nsIGfxInfo); + + // Note: CodecSupportInfo is not populated until we have + // actually instantiated a PDM. We may want to add a button + // or some other means of allowing the user to manually + // instantiate a PDM to ensure that the data is available. + data.codecSupportInfo = gfxInfo.CodecSupportInfo; + } catch (e) {} + done(data); }, diff --git a/toolkit/modules/tests/browser/browser_Troubleshoot.js b/toolkit/modules/tests/browser/browser_Troubleshoot.js index 4b654420810e..1d713497bddc 100644 --- a/toolkit/modules/tests/browser/browser_Troubleshoot.js +++ b/toolkit/modules/tests/browser/browser_Troubleshoot.js @@ -859,6 +859,10 @@ const SNAPSHOT_SCHEMA = { }, }, }, + codecSupportInfo: { + required: false, + type: "string", + }, }, }, accessibility: {