diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-06 19:33:36 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-06 19:33:36 +0000 |
commit | 991863ab5e86d6c05eaf0449b6623825b56ee97c (patch) | |
tree | 87ba05be2b9c56a0e326dd3fa8726030f780866a | |
parent | 32cb73195f95212a97ae0784163b0551d80b05c8 (diff) | |
download | k9copy-991863ab5e86d6c05eaf0449b6623825b56ee97c.tar.gz k9copy-991863ab5e86d6c05eaf0449b6623825b56ee97c.zip |
Autodetect av_free_packet presence and compensate if not present
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/k9copy@1172237 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
-rw-r--r-- | configure.in | 17 | ||||
-rwxr-xr-x | configure.in.in | 17 | ||||
-rw-r--r-- | k9author/k9avidecode.cpp | 5 |
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) { |