summaryrefslogtreecommitdiffstats
path: root/plugins/decoder/ffmpeg/configure.in.in
blob: 84b345a5f073459a2707b45aa5b1c4e3100f36c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
dnl --------------- FFMPEG CHECK ---------------------------------

AC_ARG_WITH(
	ffmpeg, 
	AS_HELP_STRING(
		[--without-ffmpeg], 
		[build K3b without ffmpeg audio decoder support (default=no)]),
	[ac_cv_use_ffmpeg=$withval], 
	[ac_cv_use_ffmpeg=yes]
)

#
# The ffmpeg decoder plugin needs ffmpeg 0.4.9 or higher
#
have_ffmpeg=no
if test "$ac_cv_use_ffmpeg" = "yes"; then
	k3b_cxxflags_save="$CXXFLAGS"
	CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS"
	AC_MSG_CHECKING(for ffmpeg >= 0.4.9)
	AC_LANG_SAVE
	AC_LANG_CPLUSPLUS
	AC_COMPILE_IFELSE( 
		extern "C" {
		#include <libavformat/avformat.h>
		#include <libavcodec/avcodec.h>
		}

		int main() {
		  AVFormatContext* fc = 0;
		  AVPacket* p = 0;
		  av_register_all();
		  return av_read_frame( fc, p );
		},
	[ffmpeg_compiles=yes], [ffmpeg_compiles=no] )
	OLD_LIBS=$LIBS
	LIBS="-lavformat -lavcodec $LIBS"
	AC_LINK_IFELSE( 
		extern "C" {
		#include <libavformat/avformat.h>
		#include <libavcodec/avcodec.h>
		}

		int main() {
		  AVFormatContext* fc = 0;
		  AVPacket* p = 0;
		  av_register_all();
		  return av_read_frame( fc, p );
		},
	[ffmpeg_links=yes], [ffmpeg_links=no] )
	AC_LANG_RESTORE
	LIBS=$OLD_LIBS
	have_ffmpeg=$ffmpeg_links
	AC_MSG_RESULT($have_ffmpeg)
	CXXFLAGS=$k3b_cxxflags_save
fi
AM_CONDITIONAL(include_FFMPEG, [test x$have_ffmpeg = xyes])

dnl --------------- FFMPEG CHECK END ------------------------------

AC_ARG_ENABLE(
	ffmpeg-all-codecs, 
	AS_HELP_STRING(
		[--enable-ffmpeg-all-codecs], 
		[Build K3b's ffmeg decoder plugin with all audio codecs enabled (default=disabled)]),
	[AC_DEFINE(K3B_FFMPEG_ALL_CODECS, 1, [Defined if all ffmpeg codecs should be allowed])
	 enable_ffmpeg_all_codecs=yes], 
	[enable_ffmpeg_all_codecs=no]
)