fix playback stutter
This commit is contained in:
parent
760b09a8b0
commit
23b4d751ae
1 changed files with 4 additions and 6 deletions
|
@ -6,8 +6,8 @@ use iced::{
|
||||||
};
|
};
|
||||||
use iced_wgpu::primitive::Renderer as PrimitiveRenderer;
|
use iced_wgpu::primitive::Renderer as PrimitiveRenderer;
|
||||||
use log::error;
|
use log::error;
|
||||||
|
use std::sync::Arc;
|
||||||
use std::{marker::PhantomData, sync::atomic::Ordering};
|
use std::{marker::PhantomData, sync::atomic::Ordering};
|
||||||
use std::{sync::Arc, time::Duration};
|
|
||||||
|
|
||||||
/// Video player widget which displays the current frame of a [`Video`](crate::Video).
|
/// Video player widget which displays the current frame of a [`Video`](crate::Video).
|
||||||
pub struct VideoPlayer<'a, Message, Theme = iced::Theme, Renderer = iced::Renderer>
|
pub struct VideoPlayer<'a, Message, Theme = iced::Theme, Renderer = iced::Renderer>
|
||||||
|
@ -191,7 +191,7 @@ where
|
||||||
) -> Status {
|
) -> Status {
|
||||||
let mut inner = self.video.0.borrow_mut();
|
let mut inner = self.video.0.borrow_mut();
|
||||||
|
|
||||||
if let iced::Event::Window(iced::window::Event::RedrawRequested(now)) = event {
|
if let iced::Event::Window(iced::window::Event::RedrawRequested(_)) = event {
|
||||||
if inner.restart_stream || (!inner.is_eos && !inner.paused) {
|
if inner.restart_stream || (!inner.is_eos && !inner.paused) {
|
||||||
let mut restart_stream = false;
|
let mut restart_stream = false;
|
||||||
if inner.restart_stream {
|
if inner.restart_stream {
|
||||||
|
@ -239,10 +239,8 @@ where
|
||||||
shell.publish(on_new_frame);
|
shell.publish(on_new_frame);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let redraw_interval = 1.0 / inner.framerate;
|
shell
|
||||||
shell.request_redraw(iced::window::RedrawRequest::At(
|
.request_redraw(iced::window::RedrawRequest::At(std::time::Instant::now()));
|
||||||
now + Duration::from_secs_f64(redraw_interval),
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Status::Captured
|
Status::Captured
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue