Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Unstable

Changes

Summary

  1. TestShutdownCompleteNEWT/AWT: Align both tests and account for GLInfo. (details)
  2. Bug 922 (1/2): NEWT Window.reparentWindow(..): Provide (details)
  3. Bug 922 (2/2): NEWT Window.reparentWindow(..): Use (details)
  4. Bug 918 (1/2): Use StreamWorker in 'Audio Only' mode, since no (details)
  5. Bug 918: GLMediaPlayer: Fix Deadlock if EOS happens after pause/resume (details)
  6. Bug 918 (2/2): Determine StreamWorker usage after stream-init ; Fix (details)
  7. ALAudioSink: Fix stop and flush of OpenAL source (details)
  8. Bug 918: Fix EOS Regression: Only use pts>duration for EOS if duration > (details)
Commit 4fa4a60a8e536ab7270df1d74503dba9a945bb20 by Sven Gothel
TestShutdownCompleteNEWT/AWT: Align both tests and account for GLInfo.
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java (diff)
The file was modified make/scripts/tests-win.bat (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteNEWT.java (diff)
The file was modified make/scripts/tests.sh (diff)
Commit a00406f289ebaaae8d91e9ccc980829f202421a8 by Sven Gothel
Bug 922 (1/2): NEWT Window.reparentWindow(..): Provide REPARENT_HINT_BECOMES_VISIBLE hint via new method variant using hints; Deprecate other reparentWindow(..) variants w/o hints.

NEWT Window.reparentWindow(..): Provide REPARENT_HINT_BECOMES_VISIBLE hint via new method variant using hints:
  - Add REPARENT_HINT_FORCE_RECREATION, covering 'old' forceDestroyCreate boolean argument
  - Add REPARENT_HINT_BECOMES_VISIBLE, Claim window becomes visible after reparenting, which is important for e.g. preserving the GL-states in case window is invisible while reparenting.

Deprecate other reparentWindow(..) variants w/o hints.

Use only new variant using hints w/o semantical change.
The file was modified src/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting02NEWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cAWT.java (diff)
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting04AWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting04SWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01bAWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/NewtAWTReparentingKeyAdapter.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01aAWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting02AWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cSwingAWT.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modified make/scripts/tests.sh (diff)
Commit 45525950b0ad41b10790515c8b6142d746cd24f5 by Sven Gothel
Bug 922 (2/2): NEWT Window.reparentWindow(..): Use REPARENT_HINT_BECOMES_VISIBLE to ensure GL State Preservation ; Add unit test !
The file was modified src/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/util/GLEventListenerCounter.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java (diff)
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01dAWT.java (diff)
Commit c6ab1bc932d9a0b3897b24d289e4d561bf8bb65c by Sven Gothel
Bug 918 (1/2): Use StreamWorker in 'Audio Only' mode, since no 'getNextTexture(..)' is issued here!

Thanks to Xerxes to analyze this issue thoroughly.

TODO: Implement EOS for 'Audio Only' and test seek, pause, etc .. - Apply manual tests in MovieSimple
The file was modified src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modified src/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modified make/scripts/tests.sh (diff)
Commit a1be0f69bacb315e40a017b8997ef1c610da576e by Sven Gothel
Bug 918: GLMediaPlayer: Fix Deadlock if EOS happens after pause/resume (seek) - Tested w/ seeking 'Audio Only' and Matroska

Test stream was default of MovieSimple:
  http://video.webmfiles.org/big-buck-bunny_trailer.webm

while disabling video (-vid -2)
The file was modified src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
Commit 8a8ed735f6631b2da7bf605c5c3dda4e0fc13905 by Sven Gothel
Bug 918 (2/2): Determine StreamWorker usage after stream-init ; Fix seek(..) ; Fallback for EOS Detection ; MovieSimple uses full GLEventListener for 'Audio Only' as well to test seek

Determine StreamWorker usage after init
  - To support audio only files, we need to determine to use StreamWorker
after completion of stream-init.

Fix seek(..)
  - FFMPeg: pos0 needs to use aPTS for audio-only
  - Clip target time [0..duration[

Fallback for EOS Detection
  In case the backend does not report proper EOS:

  - Utilize 'nullFramesCount >= MAX' -> EOS,
    where MAX is number of frames for 3s play duraction
    and where 'nullFramesCount' is increased if no valid packet is available
    and no decoded-video or -audio in the queue.

  - Utilize pts > duration -> EOS

MovieSimple uses full GLEventListener for 'Audio Only' as well to test seek
  - Matroska seek for audio-only leads to EOS ..
    http://video.webmfiles.org/big-buck-bunny_trailer.webm

  - MP4 audio-only seek works
    http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4

MovieSimple/MovieCube:
  - Use audio-pts in audio-only to calc target time

Tested:
  - A, V and A+V
  - Pause, Stop and Seek
  - GNU/Linux
The file was modified make/scripts/tests.sh (diff)
The file was modified src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java (diff)
The file was modified src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java (diff)
The file was modified src/jogl/native/libav/ffmpeg_impl_template.c (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java (diff)
Commit d42b236ef139dcc8d8713535893c7870b55d420c by Sven Gothel
ALAudioSink: Fix stop and flush of OpenAL source

- stopImpl() shall always issue alSourceStop(..) if state is not STOPPED
- Remove 'flush' hint for dequeueBuffer(..), we perform proper flush in respective method, see below
- flush() needs to issue:
   - stopImpl() - which should already dequeue all buffers
   - Explicitly dequeue all buffers: via 'alSourcei(alSource[0], AL.AL_BUFFER, 0)'
   - Then dequeue manually processed buffers: dequeueBuffer( false /* wait */ );
   - And dequeue _all_ buffers: dequeueForceAll();
The file was modified src/jogl/classes/jogamp/opengl/openal/av/ALAudioSink.java (diff)
Commit a0b23035bf9de987f5ad1b00fe3630c102f4e513 by Sven Gothel
Bug 918: Fix EOS Regression: Only use pts>duration for EOS if duration > 0 (camera or other sources may not have duration)

Regression of commit 8a8ed735f6631b2da7bf605c5c3dda4e0fc13905
The file was modified src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher1a.java (diff)
The file was modified src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher0.java (diff)
The file was modified src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java (diff)