зеркало из https://github.com/mozilla/gecko-dev.git
Bug 959501 - [Media Encoder] Add preferences for video encoder. r=roc
This commit is contained in:
Родитель
a83311c4c0
Коммит
37ebcfc36a
|
@ -7,6 +7,7 @@
|
|||
#include "nsIPrincipal.h"
|
||||
#include "nsMimeTypes.h"
|
||||
#include "prlog.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
|
||||
#ifdef MOZ_OGG
|
||||
#include "OggWriter.h"
|
||||
|
@ -92,7 +93,7 @@ MediaEncoder::CreateEncoder(const nsAString& aMIMEType, uint8_t aTrackTypes)
|
|||
return nullptr;
|
||||
}
|
||||
#ifdef MOZ_WEBM_ENCODER
|
||||
else if (MediaDecoder::IsWebMEnabled() &&
|
||||
else if (MediaEncoder::IsWebMEncoderEnabled() &&
|
||||
(aMIMEType.EqualsLiteral(VIDEO_WEBM) ||
|
||||
(aTrackTypes & ContainerWriter::HAS_VIDEO))) {
|
||||
if (aTrackTypes & ContainerWriter::HAS_AUDIO) {
|
||||
|
@ -107,8 +108,9 @@ MediaEncoder::CreateEncoder(const nsAString& aMIMEType, uint8_t aTrackTypes)
|
|||
}
|
||||
#endif //MOZ_WEBM_ENCODER
|
||||
#ifdef MOZ_OMX_ENCODER
|
||||
else if (aMIMEType.EqualsLiteral(VIDEO_MP4) ||
|
||||
(aTrackTypes & ContainerWriter::HAS_VIDEO)) {
|
||||
else if (MediaEncoder::IsOMXEncoderEnabled() &&
|
||||
(aMIMEType.EqualsLiteral(VIDEO_MP4) ||
|
||||
(aTrackTypes & ContainerWriter::HAS_VIDEO))) {
|
||||
if (aTrackTypes & ContainerWriter::HAS_AUDIO) {
|
||||
audioEncoder = new OmxAudioTrackEncoder();
|
||||
NS_ENSURE_TRUE(audioEncoder, nullptr);
|
||||
|
@ -296,4 +298,20 @@ MediaEncoder::CopyMetadataToMuxer(TrackEncoder *aTrackEncoder)
|
|||
return rv;
|
||||
}
|
||||
|
||||
#ifdef MOZ_WEBM_ENCODER
|
||||
bool
|
||||
MediaEncoder::IsWebMEncoderEnabled()
|
||||
{
|
||||
return Preferences::GetBool("media.encoder.webm.enabled");
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_OMX_ENCODER
|
||||
bool
|
||||
MediaEncoder::IsOMXEncoderEnabled()
|
||||
{
|
||||
return Preferences::GetBool("media.encoder.omx.enabled");
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
|
|
@ -128,6 +128,14 @@ public :
|
|||
return mState == ENCODE_ERROR;
|
||||
}
|
||||
|
||||
#ifdef MOZ_WEBM_ENCODER
|
||||
static bool IsWebMEncoderEnabled();
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_OMX_ENCODER
|
||||
static bool IsOMXEncoderEnabled();
|
||||
#endif
|
||||
|
||||
private:
|
||||
// Get encoded data from trackEncoder and write to muxer
|
||||
nsresult WriteEncodedDataToMuxer(TrackEncoder *aTrackEncoder);
|
||||
|
|
|
@ -272,6 +272,12 @@ pref("media.mediasource.enabled", false);
|
|||
#ifdef MOZ_WEBSPEECH
|
||||
pref("media.webspeech.recognition.enable", false);
|
||||
#endif
|
||||
#ifdef MOZ_WEBM_ENCODER
|
||||
pref("media.encoder.webm.enabled", true);
|
||||
#endif
|
||||
#ifdef MOZ_OMX_ENCODER
|
||||
pref("media.encoder.omx.enabled", true);
|
||||
#endif
|
||||
|
||||
// Whether to enable Web Audio support
|
||||
pref("media.webaudio.enabled", true);
|
||||
|
|
Загрузка…
Ссылка в новой задаче