summaryrefslogtreecommitdiff
path: root/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp')
-rw-r--r--dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
index 05bec24c7..97fb756d1 100644
--- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
@@ -23,12 +23,15 @@ public:
static const char* sLibs[] = {
#if defined(XP_DARWIN)
+ "libavcodec.58.dylib",
"libavcodec.57.dylib",
"libavcodec.56.dylib",
"libavcodec.55.dylib",
"libavcodec.54.dylib",
"libavcodec.53.dylib",
#else
+ "libavcodec.so.58",
+ "libavcodec-ffmpeg.so.58",
"libavcodec-ffmpeg.so.57",
"libavcodec-ffmpeg.so.56",
"libavcodec.so.57",
@@ -129,6 +132,15 @@ FFmpegRuntimeLinker::Bind(const char* aLibName)
}
version = AV_FUNC_57;
break;
+ case 58:
+ if (micro < 100) {
+ // A micro version >= 100 indicates that it's FFmpeg (as opposed to LibAV).
+ // Due to current AVCodecContext binary incompatibility we can only
+ // support FFmpeg at this point.
+ return false;
+ }
+ version = AV_FUNC_58;
+ break;
default:
// Not supported at this stage.
return false;
@@ -168,6 +180,7 @@ FFmpegRuntimeLinker::CreateDecoderModule()
case 55:
case 56: module = FFmpegDecoderModule<55>::Create(); break;
case 57: module = FFmpegDecoderModule<57>::Create(); break;
+ case 58: module = FFmpegDecoderModule<58>::Create(); break;
default: module = nullptr;
}
return module.forget();