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 +],[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 +],[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 +#include #endif #include @@ -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) {