]> git.nihav.org Git - nihav-player.git/commitdiff
videoplayer: (hopefully) fix audio seek-near-end issues too
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 14 Feb 2026 18:18:22 +0000 (19:18 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 14 Feb 2026 18:19:55 +0000 (19:19 +0100)
videoplayer/src/audiodec.rs
videoplayer/src/main.rs

index fac1c0007d855360ab108683dd457a048b04dcdd..ff4bde45b53831fe28d33eed87b17bb917fcaa06 100644 (file)
@@ -234,7 +234,9 @@ fn start_audio_decoding(asystem: &AudioSubsystem, ainfo: NAAudioInfo, sbr_hack:
                         qdata.flush();
                         ADEC_STATE.set_state(DecodingState::Waiting);
                     },
-                    Ok(PktSendEvent::End) => break,
+                    Ok(PktSendEvent::End) => {
+                        ADEC_STATE.set_state(DecodingState::End);
+                    },
                     Ok(PktSendEvent::ImmediateEnd) => {
                         let mut qdata = queue.lock().expect("audio queue should be accessible");
                         qdata.flush();
index bcc210b6fb09614ac4bfb3def6eab7a5362507f5..96b453146251f217e19ea738ba2ebe1c7165cf30 100644 (file)
@@ -1103,7 +1103,7 @@ impl Player {
                 if self.has_video && !(self.vcontrol.is_video_end() && disp_q.is_empty()) {
                     end = false;
                 }
-                if self.has_audio && !self.acontrol.is_audio_end() {
+                if self.has_audio && !(self.acontrol.is_audio_end() && self.acontrol.get_fill() == 0) {
                     end = false;
                 }
                 if end {