From: Kostya Shishkov Date: Sat, 14 Feb 2026 18:18:22 +0000 (+0100) Subject: videoplayer: (hopefully) fix audio seek-near-end issues too X-Git-Url: https://git.nihav.org/?a=commitdiff_plain;h=2ec0ae2f3363083d7f0eb168cff1e7f98f7beda2;p=nihav-player.git videoplayer: (hopefully) fix audio seek-near-end issues too --- diff --git a/videoplayer/src/audiodec.rs b/videoplayer/src/audiodec.rs index fac1c00..ff4bde4 100644 --- a/videoplayer/src/audiodec.rs +++ b/videoplayer/src/audiodec.rs @@ -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(); diff --git a/videoplayer/src/main.rs b/videoplayer/src/main.rs index bcc210b..96b4531 100644 --- a/videoplayer/src/main.rs +++ b/videoplayer/src/main.rs @@ -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 {