aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2023-10-16 06:09:55 +0200
committerSven Gothel <[email protected]>2023-10-16 06:09:55 +0200
commit14e3a4640844e7857bb8569379129964ff46cab2 (patch)
treeaf348f43875636458c41af5f42c8f65da6a53eb1 /src/jogl/classes
parentf5ac5dec4bd339da45df3f23e8677c673c985db6 (diff)
GLMediaPlayerImpl: Don't reset SCR on video_scr_reset or irq'ed rendering w/o video-frame (fixes 'massive' seek'ing)
Diffstat (limited to 'src/jogl/classes')
-rw-r--r--src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java b/src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java
index 3fc19ae13..7061fa5ec 100644
--- a/src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java
+++ b/src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java
@@ -1153,7 +1153,7 @@ public abstract class GLMediaPlayerImpl implements GLMediaPlayer {
use_audio = false;
}
- if( video_pts.isValid() ) {
+ if( hasVideoFrame && video_pts.isValid() ) {
final int frame_period_last = video_pts.diffLast(video_pts_last); // rendering loop interrupted ?
if( video_scr_reset || frame_period_last > frame_duration*10 ) {
video_scr_reset = false;
@@ -1171,7 +1171,7 @@ public abstract class GLMediaPlayerImpl implements GLMediaPlayer {
}
pauseImpl(true, new GLMediaPlayer.EventMask(GLMediaPlayer.EventMask.Bit.EOS));
- } else if( !hasVideoFrame || !video_pts.isValid() ) { // no audio or video frame
+ } else if( !hasVideoFrame || !video_pts.isValid() ) { // invalid or no video frame
if( null == videoFramesDecoded || !videoFramesDecoded.isEmpty() ) {
nullFrameCount++;
}