diff options
author | Sven Gothel <[email protected]> | 2023-10-16 06:09:55 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-10-16 06:09:55 +0200 |
commit | 14e3a4640844e7857bb8569379129964ff46cab2 (patch) | |
tree | af348f43875636458c41af5f42c8f65da6a53eb1 /src/jogl/classes | |
parent | f5ac5dec4bd339da45df3f23e8677c673c985db6 (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.java | 4 |
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++; } |