diff options
author | Sven Göthel <[email protected]> | 2024-01-28 22:05:18 +0100 |
---|---|---|
committer | Sven Göthel <[email protected]> | 2024-01-28 22:05:18 +0100 |
commit | a19f810c9618e2fa6829f1c157d2e1a88ca178de (patch) | |
tree | 50730d855a37f287330b8aecbdeefbde849cf128 /src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java | |
parent | 3e95c1994d363bc137ffcf548fd3751ac500ac7b (diff) |
FFMPEGPlayer: Prep for bitmap'ed subtitles: Use glEnable()/glBindTexture() func-ptr in native; readNextPacket0() passes video+subtitle texTarget and texID
For bitmap subtitles we need to push the bitmap into its own texture.
Hence readNextPacket0() must switch to used texture using glEnable() on !core and glBindTexture().
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java')
-rw-r--r-- | src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java index ed34d6f0c..c28028bde 100644 --- a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java +++ b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java @@ -67,7 +67,8 @@ import com.jogamp.opengl.util.texture.TextureSequence.TextureFrame; int aid, int aMaxChannelCount, int aPrefSampleRate, int sid); - abstract void setGLFuncs0(long moviePtr, long procAddrGLTexSubImage2D, long procAddrGLGetError, long procAddrGLFlush, long procAddrGLFinish); + abstract void setGLFuncs0(long moviePtr, long procAddrGLTexSubImage2D, long procAddrGLGetError, long procAddrGLFlush, long procAddrGLFinish, + long procAddrGLEnable, long procAddrGLBindTexture); abstract int getVideoPTS0(long moviePtr); @@ -80,9 +81,17 @@ import com.jogamp.opengl.util.texture.TextureSequence.TextureFrame; abstract String getChapterTitle0(long moviePtr, int idx); /** + * + * @param moviePtr + * @param vTexTarget video texture target + * @param vTexID video texture ID/name + * @param vTexFmt video texture format + * @param vTexType video texture data type + * @param sTexTarget subtitle texture target + * @param sTexID subtitle texture ID/name * @return resulting current video PTS, or {@link TextureFrame#INVALID_PTS} */ - abstract int readNextPacket0(long moviePtr, int texTarget, int texFmt, int texType); + abstract int readNextPacket0(long moviePtr, int vTexTarget, int vTexID, int vTexFmt, int vTexType, int sTexTarget, int sTexID); abstract int play0(long moviePtr); abstract int pause0(long moviePtr); |