summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.in17
-rwxr-xr-xconfigure.in.in17
-rw-r--r--k9author/k9avidecode.cpp5
3 files changed, 35 insertions, 4 deletions
diff --git a/configure.in b/configure.in
index 726148d..c26bb16 100644
--- a/configure.in
+++ b/configure.in
@@ -106,8 +106,21 @@ AC_CHECK_HEADER([ffmpeg/avcodec.h], \
[AC_DEFINE(NEW_FFMPEG,1, [new ffmpeg])], \
[AC_MSG_ERROR([libavcodec may be missing]) ])])
-
-
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+cxx_flags_safe="$CXXFLAGS"
+cflags_safe="$CFLAGS"
+CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS"
+CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
+AC_MSG_CHECKING([if libavformat/avformat.h provides av_free_packet])
+AC_TRY_COMPILE([#include <libavformat/avformat.h>
+],[AVPacket *packet; av_free_packet(packet);],
+[AC_MSG_RESULT(yes)
+AC_DEFINE(NEEDS_AV_FREE_PACKET,1,[no])],
+AC_MSG_RESULT(no))
+CXXFLAGS="$cxx_flags_safe"
+CFLAGS="$cflags_safe"
+AC_LANG_RESTORE
have_hal=no
AC_MSG_CHECKING(for the HAL)
diff --git a/configure.in.in b/configure.in.in
index f8ff819..81d28a6 100755
--- a/configure.in.in
+++ b/configure.in.in
@@ -49,6 +49,19 @@ AC_CHECK_HEADER([ffmpeg/avcodec.h], \
[AC_DEFINE(NEW_FFMPEG,1, [new ffmpeg])], \
[AC_MSG_ERROR([libavcodec may be missing]) ])])
-
-
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+cxx_flags_safe="$CXXFLAGS"
+cflags_safe="$CFLAGS"
+CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS"
+CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
+AC_MSG_CHECKING([if libavformat/avformat.h provides av_free_packet])
+AC_TRY_COMPILE([#include <libavformat/avformat.h>
+],[AVPacket *packet; av_free_packet(packet);],
+[AC_MSG_RESULT(yes)
+AC_DEFINE(NEEDS_AV_FREE_PACKET,1,[no])],
+AC_MSG_RESULT(no))
+CXXFLAGS="$cxx_flags_safe"
+CFLAGS="$cflags_safe"
+AC_LANG_RESTORE
diff --git a/k9author/k9avidecode.cpp b/k9author/k9avidecode.cpp
index 7e19a7f..b89acc1 100644
--- a/k9author/k9avidecode.cpp
+++ b/k9author/k9avidecode.cpp
@@ -16,6 +16,7 @@
#endif
#ifdef NEW_FFMPEG
#include <libavcodec/avcodec.h>
+#include <libavformat/avformat.h>
#endif
#include <qimage.h>
@@ -28,6 +29,8 @@ void *CodecHandle=0;
void *FormatHandle=0;
int glibref=0;
+#ifdef NEW_FFMPEG
+#ifdef NEEDS_AV_FREE_PACKET
void av_free_packet(AVPacket *pkt)
{
if (pkt) {
@@ -35,6 +38,8 @@ void av_free_packet(AVPacket *pkt)
pkt->data = NULL; pkt->size = 0;
}
}
+#endif
+#endif
k9AviDecode::k9AviDecode(QObject *parent, const char *name)
: QObject(parent, name) {