From 87fe4c89d1b69773d62c1917594ddf7a724c6d71 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 1 Sep 2013 23:26:43 +0200 Subject: FFMPEGMediaPlayer: Handle use-case of having [av|sw]resample lib, but not compiled for it -> pass Scenario ffmpeg-0.10, where we are not prepared (compiled-in) for sw-resample support. Don't use if compiled in version (CC) is < 0 (n/a), and allow to pass at load time. --- make/scripts/tests-x64.sh | 5 +++-- src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java | 4 ++-- src/jogl/native/libav/ffmpeg_tool.h | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/make/scripts/tests-x64.sh b/make/scripts/tests-x64.sh index 68937ca4b..fe2fc4958 100755 --- a/make/scripts/tests-x64.sh +++ b/make/scripts/tests-x64.sh @@ -3,12 +3,13 @@ SDIR=`dirname $0` #export LD_LIBRARY_PATH=/home/sven/libav-0.8/lib:$LD_LIBRARY_PATH +#export LD_LIBRARY_PATH=/home/sven/ffmpeg-0.10/lib:$LD_LIBRARY_PATH #export LD_LIBRARY_PATH=/home/sven/libav-9.x/lib:$LD_LIBRARY_PATH -#export LD_LIBRARY_PATH=/home/sven/ffmpeg-1.2/lib:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=/home/sven/ffmpeg-1.2/lib:$LD_LIBRARY_PATH #export LD_LIBRARY_PATH=/home/sven/libav-10.x/lib:$LD_LIBRARY_PATH -export LD_LIBRARY_PATH=/home/sven/ffmpeg-2.x/lib:$LD_LIBRARY_PATH +#export LD_LIBRARY_PATH=/home/sven/ffmpeg-2.x/lib:$LD_LIBRARY_PATH if [ -e $SDIR/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh ] ; then . $SDIR/../../../gluegen/make/scripts/setenv-build-jogl-x86_64.sh diff --git a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java index c329e880f..33b1867c8 100644 --- a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java +++ b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java @@ -194,8 +194,8 @@ public class FFMPEGMediaPlayer extends GLMediaPlayerImpl { libAVVersionGood = avCodecMajorVersionCC == avCodecVersion.getMajor() && avFormatMajorVersionCC == avFormatVersion.getMajor() && avUtilMajorVersionCC == avUtilVersion.getMajor() && - ( !avResampleLoaded || avResampleMajorVersionCC == avResampleVersion.getMajor() ) && - ( !swResampleLoaded || swResampleMajorVersionCC == swResampleVersion.getMajor() ) ; + ( !avResampleLoaded || avResampleMajorVersionCC < 0 || avResampleMajorVersionCC == avResampleVersion.getMajor() ) && + ( !swResampleLoaded || swResampleMajorVersionCC < 0 || swResampleMajorVersionCC == swResampleVersion.getMajor() ) ; if( !libAVVersionGood ) { System.err.println("LIB_AV Not Matching Compile-Time / Runtime Major-Version"); } diff --git a/src/jogl/native/libav/ffmpeg_tool.h b/src/jogl/native/libav/ffmpeg_tool.h index 61d121f24..97e60afce 100644 --- a/src/jogl/native/libav/ffmpeg_tool.h +++ b/src/jogl/native/libav/ffmpeg_tool.h @@ -96,10 +96,10 @@ typedef void (APIENTRYP PFNGLFINISH) (void); #define END_OF_STREAM_PTS 0x7FFFFFFF /** Since 54.0.0.1 */ -#define AV_HAS_API_AVRESAMPLE(pAV) ( pAV->avresampleVersion != 0 ) +#define AV_HAS_API_AVRESAMPLE(pAV) ( ( LIBAVRESAMPLE_VERSION_MAJOR >= 0 ) && ( pAV->avresampleVersion != 0 ) ) /** Since 55.0.0.1 */ -#define AV_HAS_API_SWRESAMPLE(pAV) ( pAV->swresampleVersion != 0 ) +#define AV_HAS_API_SWRESAMPLE(pAV) ( ( LIBSWRESAMPLE_VERSION_MAJOR >= 0 ) && ( pAV->swresampleVersion != 0 ) ) #define MAX_INT(a,b) ( (a >= b) ? a : b ) #define MIN_INT(a,b) ( (a <= b) ? a : b ) -- cgit v1.2.3