aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/jogl/classes/com')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java32
1 files changed, 32 insertions, 0 deletions
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 6eab3fd6f..dba61eda9 100644
--- a/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java
+++ b/src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java
@@ -52,6 +52,7 @@ import com.jogamp.opengl.util.texture.TextureSequence;
* </p>
* <p>
* Audio and video streams can be selected or muted via {@link #playStream(Uri, int, int, int, int)}
+ * or {@link #playStream(Uri, int, String, int, String, int, int)}
* using the appropriate <a href="#streamIDs">stream id</a>'s.
* </p>
* <p>
@@ -558,11 +559,33 @@ public interface GLMediaPlayer extends TextureSequence {
* Value is ignored if video is muted.
* @throws IllegalStateException if not invoked in {@link State#Uninitialized}
* @throws IllegalArgumentException if arguments are invalid
+ * @see #playStream(Uri, int, String, int, String, int, int)
* @since 2.6.0
*/
public void playStream(Uri streamLoc, int vid, int aid, int sid, int textureCount) throws IllegalStateException, IllegalArgumentException;
/**
+ * Same as {@link #playStream(Uri, int, int, int, int)}, but providing desired audio- and subtile languages to be selected.
+ * @param streamLoc the stream location
+ * @param vid video stream id, see <a href="#streamIDs">audio and video Stream IDs</a>
+ * @param alang desired audio language, pass {@code null} to use {@code aid}
+ * @param aid fallback audio stream id in case {@code alang} is {@code null}, see <a href="#streamIDs">audio and video Stream IDs</a>
+ * @param slang desired subtitle language, pass {@code null} to use {@code sid}
+ * @param sid fallback subtitle stream id in case {@code alang} is {@code null}, see <a href="#streamIDs">audio and video Stream IDs</a>
+ * @param textureCount desired number of buffered textures to be decoded off-thread, will be validated by implementation.
+ * The minimum value is {@link #TEXTURE_COUNT_MIN} (single-threaded) or above to enable multi-threaded stream decoding.
+ * Default is {@link #TEXTURE_COUNT_DEFAULT}.
+ * Value is ignored if video is muted.
+ * @throws IllegalStateException if not invoked in {@link State#Uninitialized}
+ * @throws IllegalArgumentException if arguments are invalid
+ * @see #playStream(Uri, int, int, int, int)
+ * @since 2.6.0
+ */
+ public void playStream(final Uri streamLoc, final int vid,
+ final String alang, final int aid, final String slang, final int sid,
+ final int reqTextureCount) throws IllegalStateException, IllegalArgumentException;
+
+ /**
* Switches current {@link #playStream(Uri, int, int, int, int)} to given stream IDs and continues at same {@link #getVideoPTS()}.
* <p>
* Implementation just issues {@link #stop()}, {@link #seek(int)} and {@link #playStream(Uri, int, int, int, int)}.
@@ -710,6 +733,7 @@ public interface GLMediaPlayer extends TextureSequence {
* <p>
* The language code is supposed to be 3-letters of `ISO 639-2 language codes`.
* </p>
+ * @see #getLang(int)
*/
public String[] getVLangs();
@@ -731,6 +755,7 @@ public interface GLMediaPlayer extends TextureSequence {
* <p>
* The language code is supposed to be 3-letters of `ISO 639-2 language codes`.
* </p>
+ * @see #getLang(int)
*/
public String[] getALangs();
@@ -752,6 +777,7 @@ public interface GLMediaPlayer extends TextureSequence {
* <p>
* The language code is supposed to be 3-letters of `ISO 639-2 language codes`.
* </p>
+ * @see #getLang(int)
*/
public String[] getSLangs();
@@ -776,6 +802,12 @@ public interface GLMediaPlayer extends TextureSequence {
* <p>
* If the stream ID is not available, {@code und} is returned
* </p>
+ * @see #getVStreams()
+ * @see #getAStreams()
+ * @see #getSStreams()
+ * @see #getVLangs()
+ * @see #getALangs()
+ * @see #getSLangs()
*/
public String getLang(int id);