aboutsummaryrefslogtreecommitdiffstats
path: root/src/demos/com/jogamp
diff options
context:
space:
mode:
authorSven Göthel <[email protected]>2024-01-27 07:36:07 +0100
committerSven Göthel <[email protected]>2024-01-27 07:36:07 +0100
commit7fe9da9d2b5b7475ea3878b0a8d23f485bb19dff (patch)
tree754038a85a573ce1ea682bfa2f5407071e12b500 /src/demos/com/jogamp
parenta8e382bf6ebc7d405ef2479dae97762d9b7e2967 (diff)
GLMediaPlayer: Add initial subtitle support, track audio/video/subtitle streams and languages and add convenient switchStream(..) entry.
audio/video/subtitle streams and language metadata is maintained by arrays holding the stream-IDs and language string identifier. Implementation added in FFMPEGPlayer for these data-sets.
Diffstat (limited to 'src/demos/com/jogamp')
-rw-r--r--src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java2
-rw-r--r--src/demos/com/jogamp/opengl/demos/av/MovieCube.java6
-rw-r--r--src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java4
-rw-r--r--src/demos/com/jogamp/opengl/demos/av/MovieSimple.java2
-rw-r--r--src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java2
-rw-r--r--src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java2
-rw-r--r--src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java2
-rw-r--r--src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java2
-rw-r--r--src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java2
9 files changed, 12 insertions, 12 deletions
diff --git a/src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java b/src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java
index 210db4fbd..b63edf50e 100644
--- a/src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java
+++ b/src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java
@@ -144,7 +144,7 @@ public class CrossFadePlayer
final Uri uri = Uri.valueOf(file);
System.out.println("State of player "+ i +": " + player[i].getState().toString());
System.out.println("...initializing stream "+ i +"...");
- player[i].playStream(uri, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
+ player[i].playStream(uri, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
}
}
diff --git a/src/demos/com/jogamp/opengl/demos/av/MovieCube.java b/src/demos/com/jogamp/opengl/demos/av/MovieCube.java
index 40890e70d..f268ba43c 100644
--- a/src/demos/com/jogamp/opengl/demos/av/MovieCube.java
+++ b/src/demos/com/jogamp/opengl/demos/av/MovieCube.java
@@ -97,7 +97,7 @@ public class MovieCube implements GLEventListener {
}
/**
- * Default constructor which also issues {@link #playStream(URI, int, int, int)} w/ default values
+ * Default constructor which also issues {@link #playStream(URI, int, int, int, int)} w/ default values
* and polls until the {@link GLMediaPlayer} is {@link GLMediaPlayer.State#Initialized}.
* If {@link GLMediaEventListener#EVENT_CHANGE_EOS} is reached, the stream is started over again.
* <p>
@@ -133,7 +133,7 @@ public class MovieCube implements GLEventListener {
}
/**
- * Custom constructor, user needs to issue {@link #playStream(URI, int, int, int)} afterwards.
+ * Custom constructor, user needs to issue {@link #playStream(URI, int, int, int, int)} afterwards.
*/
public MovieCube(final float zoom0, final float rotx, final float roty, final boolean showText) throws IOException {
this.zoom0 = zoom0;
@@ -145,7 +145,7 @@ public class MovieCube implements GLEventListener {
}
public void playStream(final Uri streamLoc, final int vid, final int aid, final int textureCount) {
- mPlayer.playStream(streamLoc, vid, aid, textureCount);
+ mPlayer.playStream(streamLoc, vid, aid, GLMediaPlayer.STREAM_ID_NONE, textureCount);
System.out.println("pC.1b "+mPlayer);
}
diff --git a/src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java b/src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java
index 602bde1a0..7f71cdaf5 100644
--- a/src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java
+++ b/src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java
@@ -325,7 +325,7 @@ public class MovieSBSStereo implements StereoGLEventListener {
}
} };
- /** user needs to issue {@link #playStream(URI, int, int, int)} afterwards. */
+ /** user needs to issue {@link #playStream(URI, int, int, int, int)} afterwards. */
public MovieSBSStereo() throws IllegalStateException {
mPlayerScaleOrig = false;
mPlayer = GLMediaPlayerFactory.createDefault();
@@ -334,7 +334,7 @@ public class MovieSBSStereo implements StereoGLEventListener {
}
public void initStream(final Uri streamLoc, final int vid, final int aid, final int textureCount) {
- mPlayer.playStream(streamLoc, vid, aid, textureCount);
+ mPlayer.playStream(streamLoc, vid, aid, GLMediaPlayer.STREAM_ID_NONE, textureCount);
System.out.println("pC.1b "+mPlayer);
}
diff --git a/src/demos/com/jogamp/opengl/demos/av/MovieSimple.java b/src/demos/com/jogamp/opengl/demos/av/MovieSimple.java
index 9adbb5f48..a697d2c19 100644
--- a/src/demos/com/jogamp/opengl/demos/av/MovieSimple.java
+++ b/src/demos/com/jogamp/opengl/demos/av/MovieSimple.java
@@ -426,7 +426,7 @@ public class MovieSimple implements GLEventListener {
}
public void playStream(final Uri streamLoc, final int vid, final int aid, final int textureCount) {
- mPlayer.playStream(streamLoc, vid, aid, textureCount);
+ mPlayer.playStream(streamLoc, vid, aid, GLMediaPlayer.STREAM_ID_NONE, textureCount);
System.out.println("pC.1b "+mPlayer);
}
diff --git a/src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java b/src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java
index a49c04621..b12030e49 100644
--- a/src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java
+++ b/src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid00.java
@@ -245,7 +245,7 @@ public class UIMediaGrid00 {
customCtrls.add(button);
}
grid.addShape( new MediaPlayer(options.renderModes, scene, mPlayer, medium, 16f/9f, letterBox, zoomSize, customCtrls) );
- mPlayer.playStream(medium, GLMediaPlayer.STREAM_ID_AUTO, aid, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
+ mPlayer.playStream(medium, GLMediaPlayer.STREAM_ID_AUTO, aid, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
}
}
private static boolean printNativeInfoOnce = true;
diff --git a/src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java b/src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java
index 0a268fa06..cacd19789 100644
--- a/src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java
+++ b/src/demos/com/jogamp/opengl/demos/graph/ui/UIMediaGrid01.java
@@ -372,7 +372,7 @@ public class UIMediaGrid01 {
customCtrls.add(button);
}
grid.addShape( new MediaPlayer(options.renderModes, scene, mPlayer, medium, defRatio, letterBox, zoomSize, customCtrls) );
- mPlayer.playStream(medium, GLMediaPlayer.STREAM_ID_AUTO, aid, texCount);
+ mPlayer.playStream(medium, GLMediaPlayer.STREAM_ID_AUTO, aid, GLMediaPlayer.STREAM_ID_NONE, texCount);
}
}
private static boolean printNativeInfoOnce = true;
diff --git a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java
index 58b971e7a..4293f0d6d 100644
--- a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java
+++ b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java
@@ -351,7 +351,7 @@ public class UISceneDemo03 {
if( null != audioUri ) {
mPlayer = GLMediaPlayerFactory.createDefault();
mPlayer.addEventListener( new MyGLMediaEventListener() );
- mPlayer.playStream(audioUri, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
+ mPlayer.playStream(audioUri, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
} else {
mPlayer = null;
}
diff --git a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java
index d28665d42..ce81d360f 100644
--- a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java
+++ b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java
@@ -224,7 +224,7 @@ public class UISceneDemo10 {
public void mouseClicked(final MouseEvent e) {
mPlayer.setAudioVolume( b.isToggleOn() ? 1f : 0f );
} } );
- mPlayer.playStream(filmUri, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
+ mPlayer.playStream(filmUri, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
return b;
} else if( true ) {
final GLEventListener glel;
diff --git a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java
index 7292b05f9..ec557c411 100644
--- a/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java
+++ b/src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java
@@ -747,7 +747,7 @@ public class UISceneDemo20 implements GLEventListener {
}
});
buttonsRight.addShape(button);
- mPlayer.playStream(filmURL, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
+ mPlayer.playStream(filmURL, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.STREAM_ID_AUTO, GLMediaPlayer.STREAM_ID_NONE, GLMediaPlayer.TEXTURE_COUNT_DEFAULT);
}
if( true ) {
final SimpleSineSynth sineSound = new SimpleSineSynth();