From 2cb284545a2a0fd35762a104fee8107234808389 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 17 Aug 2013 01:30:25 +0200 Subject: GLMediaPlayer: Use URI instead of URL / Misc refinements - GLMediaPlayer: Use URI instead of URL, allowing passing a non resolved location - Java's URL doesn't allow 'other' protocols, i.e. RTSP - GLMediaPlayer: Add Table of test streams and their location .. - FFMPEGMediaPlayer - Handle av_read_play/pause response on java side, ignore error - simply dump in DEBUG_NATIVE mode --- .../com/jogamp/opengl/util/av/GLMediaPlayer.java | 38 ++++++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) (limited to 'src/jogl/classes/com/jogamp/opengl') diff --git a/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java b/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java index 1b82bb994..512567f33 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java @@ -28,7 +28,7 @@ package com.jogamp.opengl.util.av; import java.io.IOException; -import java.net.URLConnection; +import java.net.URI; import javax.media.opengl.GL; import javax.media.opengl.GLException; @@ -42,14 +42,14 @@ import com.jogamp.opengl.util.texture.TextureSequence; * with a video stream as it's source. *

* Audio maybe supported and played back internally or via an {@link AudioSink} implementation, - * if an audio stream is selected in {@link #initGLStream(GL, int, URLConnection, int, int)}. + * if an audio stream is selected in {@link #initGLStream(GL, int, URI, int, int)}. *

* *
GLMediaPlayer Lifecycle
*

* * - * + * * * * @@ -121,6 +121,29 @@ import com.jogamp.opengl.util.texture.TextureSequence; *
  • Film: +22ms and -22ms. audio ahead video / audio after video.
  • * *

    + * + *
    Test Streams
    + *

    + *

    action state before state after
    {@link #initGLStream(GL, int, URLConnection, int, int)} Uninitialized Paused
    {@link #initGLStream(GL, int, URI, int, int)} Uninitialized Paused
    {@link #play()} Paused Playing
    {@link #pause()} Playing Paused
    {@link #seek(int)} Playing, Paused Unchanged
    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Big Buck Bunny 24f 16:9
    Big Buck Bunny320ph264aac 48000Hz 2 chanhttp://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4
    Big Buck Bunny720pmpeg4ac3 48000Hz 5.1 chanhttp://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_surround.avi
    Big Buck Bunny720pmsmpeg4v2mp3 48000Hz 2 chanhttp://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_stereo.avi
    Big Buck Bunny720ptheoravorbis 48000Hz 2 chanhttp://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_stereo.ogg
    Big Buck Bunny1080pmpeg4ac3 48000Hz 5.1 chanhttp://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_surround.avi
    WebM/Matroska (vp8/vorbis)
    Big Buck Bunny Trailer640pvp8vorbis 44100Hz 1 chanhttp://video.webmfiles.org/big-buck-bunny_trailer.webm
    Elephants Dream540pvp8vorbis 44100Hz 1 chanhttp://video.webmfiles.org/elephants-dream.webm
    You Tube http/rtsp
    Sintelhttp://www.youtube.com/watch?v=eRsGyueVLvQrtsp://v3.cache1.c.youtube.com/CiILENy73wIaGQn0LpXnygYbeRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
    Audio/Video Sync
    Five-minute-sync-test1080phttps://www.youtube.com/watch?v=szoOsG9137Urtsp://v7.cache8.c.youtube.com/CiILENy73wIaGQm133VvsA46sxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
    Audio-Video-Sync-Test-Calibration-23.98fps-24fpshttps://www.youtube.com/watch?v=cGgf_dbDMsw
    sound_in_sync_testhttps://www.youtube.com/watch?v=O-zIZkhXNLE