Thu, 15 Jan 2015 15:55:04 +0100
Back out 97036ab72558 which inappropriately compared turds to third parties.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim:set ts=2 sw=2 sts=2 et cindent: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef __FFmpegRuntimeLinker_h__
8 #define __FFmpegRuntimeLinker_h__
10 extern "C" {
11 #pragma GCC visibility push(default)
12 #include <libavcodec/avcodec.h>
13 #include <libavformat/avformat.h>
14 #include <libavutil/imgutils.h>
15 #pragma GCC visibility pop
16 }
18 #include "nsAutoPtr.h"
20 namespace mozilla
21 {
23 class FFmpegRuntimeLinker
24 {
25 public:
26 static bool Link();
27 static void Unlink();
29 private:
30 static void* sLinkedLibs[];
32 static enum LinkStatus {
33 LinkStatus_INIT = 0,
34 LinkStatus_FAILED,
35 LinkStatus_SUCCEEDED
36 } sLinkStatus;
37 };
39 #define AV_FUNC(lib, func) extern typeof(func)* func;
40 #include "FFmpegFunctionList.h"
41 #undef AV_FUNC
42 }
44 #endif // __FFmpegRuntimeLinker_h__