From c82ab4d75a50cd88c675e6c1e757dc9ed2db9655 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Mon, 5 Oct 2015 13:51:51 +0200 Subject: Bug 1239: Support OSX input via 'avfoundation' ; Use remaining camera ID (index) as filename for OSX --- make/scripts/tests-osx-x64.sh | 3 ++- make/scripts/tests-x64.sh | 2 ++ make/scripts/tests.sh | 4 ++-- src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java | 4 +--- src/jogl/native/libav/ffmpeg_impl_template.c | 5 +++++ 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/make/scripts/tests-osx-x64.sh b/make/scripts/tests-osx-x64.sh index c95c69bed..8fa8f4aea 100755 --- a/make/scripts/tests-osx-x64.sh +++ b/make/scripts/tests-osx-x64.sh @@ -1,7 +1,8 @@ #! /bin/bash #export DYLD_LIBRARY_PATH=$HOME/ffmpeg-0.8_0.9/lib:$DYLD_LIBRARY_PATH -export DYLD_LIBRARY_PATH=$HOME/ffmpeg-2.2.3/lib:$DYLD_LIBRARY_PATH +#export DYLD_LIBRARY_PATH=$HOME/ffmpeg-2.2.3/lib:$DYLD_LIBRARY_PATH +export DYLD_LIBRARY_PATH=/usr/local/Cellar/ffmpeg/2.8/lib:$DYLD_LIBRARY_PATH JAVA_HOME=`/usr/libexec/java_home -version 1.8` #JAVA_HOME=`/usr/libexec/java_home -version 1.7` diff --git a/make/scripts/tests-x64.sh b/make/scripts/tests-x64.sh index 8102c011f..722e37f34 100755 --- a/make/scripts/tests-x64.sh +++ b/make/scripts/tests-x64.sh @@ -15,6 +15,8 @@ SDIR=`dirname $0` #export LD_LIBRARY_PATH=$HOME/libav-11.2/lib:$LD_LIBRARY_PATH #export LD_LIBRARY_PATH=$HOME/ffmpeg-2.5/lib:$LD_LIBRARY_PATH +#export LD_LIBRARY_PATH=$HOME/ffmpeg-2.8/lib:$LD_LIBRARY_PATH + #J2RE_HOME=/opt-linux-x86_64/jre1.7.0_45 #JAVA_HOME=/opt-linux-x86_64/jdk1.7.0_45 #J2RE_HOME=/opt-linux-x86_64/jre7 diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index e9af09ea3..2f628aa78 100644 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -437,7 +437,7 @@ function testawtswt() { # # HiDPI # -testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT $* +#testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT $* #testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2SimpleNEWT $* #testawt com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelAWT $* #testawt com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2AWT $* @@ -484,7 +484,7 @@ testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT $* # #testnoawt jogamp.opengl.openal.av.ALDummyUsage $* #testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieCube $* -#testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieSimple $* +testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieSimple $* #testnoawt com.jogamp.opengl.test.junit.jogl.demos.es2.av.CrossFadePlayer $* # 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 cd1400a29..e51984e37 100644 --- a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java +++ b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java @@ -346,12 +346,10 @@ public class FFMPEGMediaPlayer extends GLMediaPlayerImpl { resStreamLocS = dev_video_linux + cameraPath.decode(); break; case WINDOWS: - resStreamLocS = cameraPath.decode(); - break; case MACOS: case OPENKODE: default: - resStreamLocS = streamLocS; // FIXME: ?? + resStreamLocS = cameraPath.decode(); break; } if( null != cameraProps ) { diff --git a/src/jogl/native/libav/ffmpeg_impl_template.c b/src/jogl/native/libav/ffmpeg_impl_template.c index 589cc3f39..9d430b09e 100644 --- a/src/jogl/native/libav/ffmpeg_impl_template.c +++ b/src/jogl/native/libav/ffmpeg_impl_template.c @@ -622,6 +622,7 @@ static const char * inFmtNames[] = { "video4linux", // linux (old) "dshow", // windows "vfwcap", // windows (old) + "avfoundation", // osx "mpg", "yuv2", "mjpeg", @@ -732,6 +733,9 @@ JNIEXPORT void JNICALL FF_FUNC(setStream0) fprintf(stderr, "Camera %d not found\n", devIdx); } } + if(pAV->verbose) { + fprintf(stderr, "Camera: Filename: %s\n", filename); + } const char *sizeS = NULL != jSizeS ? (*env)->GetStringUTFChars(env, jSizeS, &iscopy) : NULL; int hasSize = 0; @@ -756,6 +760,7 @@ JNIEXPORT void JNICALL FF_FUNC(setStream0) } sp_av_dict_set(&inOpts, "framerate", buffer, 0); } + // FIXME pre-select: sp_av_dict_set(&inOpts, "pix_fmt", "yuyv422", 0); } MY_MUTEX_LOCK(env, mutex_avcodec_openclose); -- cgit v1.2.3