feat(iced-video): added video format to the video frame
This commit is contained in:
@@ -2,7 +2,7 @@ mod settings;
|
||||
mod video;
|
||||
|
||||
mod shared_string;
|
||||
use iced_video::{Video, VideoHandle};
|
||||
use iced_video::{Ready, Video, VideoHandle};
|
||||
use shared_string::SharedString;
|
||||
|
||||
use std::sync::Arc;
|
||||
@@ -140,7 +140,7 @@ struct State {
|
||||
screen: Screen,
|
||||
settings: settings::SettingsState,
|
||||
is_authenticated: bool,
|
||||
video: Option<Arc<VideoHandle<Message>>>,
|
||||
video: Option<Arc<VideoHandle<Message, Ready>>>,
|
||||
}
|
||||
|
||||
impl State {
|
||||
|
||||
@@ -3,7 +3,7 @@ use super::*;
|
||||
pub enum VideoMessage {
|
||||
EndOfStream,
|
||||
Open(url::Url),
|
||||
Loaded(VideoHandle<Message>),
|
||||
Loaded(VideoHandle<Message, Ready>),
|
||||
Pause,
|
||||
Play,
|
||||
Seek(f64),
|
||||
@@ -55,16 +55,14 @@ pub fn update(state: &mut State, message: VideoMessage) -> Task<Message> {
|
||||
Task::none()
|
||||
}
|
||||
VideoMessage::Test => {
|
||||
let url = url::Url::parse(
|
||||
"https://gstreamer.freedesktop.org/data/media/sintel_trailer-480p.webm",
|
||||
)
|
||||
let url = url::Url::parse("https://jellyfin.tsuba.darksailor.dev/Items/6010382cf25273e624d305907010d773/Download?api_key=036c140222464878862231ef66a2bc9c")
|
||||
.expect("Impossible: Failed to parse hardcoded URL");
|
||||
Task::done(VideoMessage::Open(url)).map(Message::Video)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn player(video: &VideoHandle<Message>) -> Element<'_, Message> {
|
||||
pub fn player(video: &VideoHandle<Message, Ready>) -> Element<'_, Message> {
|
||||
container(
|
||||
Video::new(video)
|
||||
.width(Length::Fill)
|
||||
|
||||
Reference in New Issue
Block a user