mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-23 00:47:31 +09:00
Add DirectShow in about:support
This commit is contained in:
parent
47600fab86
commit
77cfca739d
5 changed files with 23 additions and 2 deletions
|
|
@ -12,6 +12,7 @@
|
||||||
#include "SourceFilter.h"
|
#include "SourceFilter.h"
|
||||||
#include "SampleSink.h"
|
#include "SampleSink.h"
|
||||||
#include "VideoUtils.h"
|
#include "VideoUtils.h"
|
||||||
|
#include "mozilla/Preferences.h"
|
||||||
|
|
||||||
using namespace mozilla::media;
|
using namespace mozilla::media;
|
||||||
|
|
||||||
|
|
@ -35,16 +36,22 @@ DirectShowReader::DirectShowReader(AbstractMediaDecoder* aDecoder)
|
||||||
mAudioRate(0),
|
mAudioRate(0),
|
||||||
mBytesPerSample(0),
|
mBytesPerSample(0),
|
||||||
mIsH264(aDecoder->GetResource()->GetContentType().EqualsLiteral("video/h264") ||
|
mIsH264(aDecoder->GetResource()->GetContentType().EqualsLiteral("video/h264") ||
|
||||||
aDecoder->GetResource()->GetContentType().EqualsLiteral("video/avc"))
|
aDecoder->GetResource()->GetContentType().EqualsLiteral("video/avc"))
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread.");
|
MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread.");
|
||||||
MOZ_COUNT_CTOR(DirectShowReader);
|
MOZ_COUNT_CTOR(DirectShowReader);
|
||||||
|
if (mIsH264) {
|
||||||
|
Preferences::SetBool("media.directshow.h264.active", true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DirectShowReader::~DirectShowReader()
|
DirectShowReader::~DirectShowReader()
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread.");
|
MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread.");
|
||||||
MOZ_COUNT_DTOR(DirectShowReader);
|
MOZ_COUNT_DTOR(DirectShowReader);
|
||||||
|
if (mIsH264) {
|
||||||
|
Preferences::SetBool("media.directshow.h264.active", false);
|
||||||
|
}
|
||||||
#ifdef DIRECTSHOW_REGISTER_GRAPH
|
#ifdef DIRECTSHOW_REGISTER_GRAPH
|
||||||
if (mRotRegister) {
|
if (mRotRegister) {
|
||||||
RemoveGraphFromRunningObjectTable(mRotRegister);
|
RemoveGraphFromRunningObjectTable(mRotRegister);
|
||||||
|
|
|
||||||
|
|
@ -394,6 +394,7 @@ pref("media.hardware-video-decoding.force-enabled", false);
|
||||||
|
|
||||||
#ifdef MOZ_DIRECTSHOW
|
#ifdef MOZ_DIRECTSHOW
|
||||||
pref("media.directshow.enabled", true);
|
pref("media.directshow.enabled", true);
|
||||||
|
pref("media.directshow.h264.active", false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef MOZ_FMP4
|
#ifdef MOZ_FMP4
|
||||||
|
|
|
||||||
|
|
@ -337,6 +337,16 @@ var snapshotFormatters = {
|
||||||
addRowFromKey("features", "webgl2Extensions");
|
addRowFromKey("features", "webgl2Extensions");
|
||||||
addRowFromKey("features", "supportsHardwareH264", "hardwareH264");
|
addRowFromKey("features", "supportsHardwareH264", "hardwareH264");
|
||||||
addRowFromKey("features", "currentAudioBackend", "audioBackend");
|
addRowFromKey("features", "currentAudioBackend", "audioBackend");
|
||||||
|
if ("directShowEnabled" in data) {
|
||||||
|
addRow("features", "directShowEnabled",
|
||||||
|
strings.GetStringFromName(data.directShowEnabled ? "yes" : "no"));
|
||||||
|
delete data.directShowEnabled;
|
||||||
|
}
|
||||||
|
if ("directShowH264Active" in data) {
|
||||||
|
addRow("features", "directShowH264Active",
|
||||||
|
strings.GetStringFromName(data.directShowH264Active ? "yes" : "no"));
|
||||||
|
delete data.directShowH264Active;
|
||||||
|
}
|
||||||
addRowFromKey("features", "direct2DEnabled", "#Direct2D");
|
addRowFromKey("features", "direct2DEnabled", "#Direct2D");
|
||||||
|
|
||||||
if ("directWriteEnabled" in data) {
|
if ("directWriteEnabled" in data) {
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,8 @@ clearTypeParameters = ClearType Parameters
|
||||||
compositing = Compositing
|
compositing = Compositing
|
||||||
hardwareH264 = Hardware H264 Decoding
|
hardwareH264 = Hardware H264 Decoding
|
||||||
audioBackend = Audio Backend
|
audioBackend = Audio Backend
|
||||||
|
directShowEnabled = DirectShow H264 Backend Enabled
|
||||||
|
directShowH264Active = DirectShow H264 Decoding Active
|
||||||
mainThreadNoOMTC = main thread, no OMTC
|
mainThreadNoOMTC = main thread, no OMTC
|
||||||
yes = Yes
|
yes = Yes
|
||||||
no = No
|
no = No
|
||||||
|
|
|
||||||
|
|
@ -358,6 +358,8 @@ var dataProviders = {
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
|
|
||||||
data.currentAudioBackend = winUtils.currentAudioBackend;
|
data.currentAudioBackend = winUtils.currentAudioBackend;
|
||||||
|
data.directShowEnabled = Services.prefs.getBoolPref("media.directshow.enabled", false);
|
||||||
|
data.directShowH264Active = Services.prefs.getBoolPref("media.directshow.h264.active", false);
|
||||||
|
|
||||||
if (!data.numAcceleratedWindows && gfxInfo) {
|
if (!data.numAcceleratedWindows && gfxInfo) {
|
||||||
#ifdef XP_WIN
|
#ifdef XP_WIN
|
||||||
|
|
@ -551,4 +553,3 @@ var dataProviders = {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue