Bug 1207429: P2. Enable FFmpeg by default if available. r=kentuckyfriedtakahe

By default we only use libav 9 or FFmpeg 1.2 if found on the system.

If media.fragmented-mp4.ffmpeg.enabled is set, will allow use of libav 0.7 and ffmpeg 0.8 or later.
This commit is contained in:
Jean-Yves Avenard 2015-09-25 17:08:58 +10:00
parent cf06612670
commit fc375544be
3 changed files with 15 additions and 6 deletions

View File

@ -25,6 +25,10 @@
#endif
#include "mozilla/layers/LayersTypes.h"
#ifdef MOZ_FFMPEG
#include "FFmpegRuntimeLinker.h"
#endif
namespace mozilla {
#if defined(MOZ_GONK_MEDIACODEC) || defined(XP_WIN) || defined(MOZ_APPLEMEDIA) || defined(MOZ_FFMPEG)
@ -184,7 +188,8 @@ IsFFmpegAvailable()
#ifndef MOZ_FFMPEG
return false;
#else
return Preferences::GetBool("media.fragmented-mp4.ffmpeg.enabled", false);
nsRefPtr<PlatformDecoderModule> m = FFmpegRuntimeLinker::CreateDecoderModule();
return !!m;
#endif
}

View File

@ -173,11 +173,9 @@ PlatformDecoderModule::CreatePDM()
return m.forget();
#endif
#ifdef MOZ_FFMPEG
if (sFFmpegDecoderEnabled) {
nsRefPtr<PlatformDecoderModule> m = FFmpegRuntimeLinker::CreateDecoderModule();
if (m) {
return m.forget();
}
nsRefPtr<PlatformDecoderModule> mffmpeg = FFmpegRuntimeLinker::CreateDecoderModule();
if (mffmpeg) {
return mffmpeg.forget();
}
#endif
#ifdef MOZ_APPLEMEDIA

View File

@ -21,7 +21,13 @@ public:
static already_AddRefed<PlatformDecoderModule>
Create()
{
uint32_t major, minor;
GetVersion(major, minor);
if (major < 54 && !sFFmpegDecoderEnabled) {
return nullptr;
}
nsRefPtr<PlatformDecoderModule> pdm = new FFmpegDecoderModule();
return pdm.forget();
}