diff --git a/src/session/view/content/room_history/message_toolbar/mod.rs b/src/session/view/content/room_history/message_toolbar/mod.rs index 44ab04c6..c1e34e12 100644 --- a/src/session/view/content/room_history/message_toolbar/mod.rs +++ b/src/session/view/content/room_history/message_toolbar/mod.rs @@ -41,7 +41,7 @@ use crate::{ utils::{ matrix::AT_ROOM, media::{ - filename_for_mime, get_audio_info, get_video_info, image::ImageInfoLoader, load_file, + filename_for_mime, image::ImageInfoLoader, load_audio_info, load_file, load_video_info, }, template_callbacks::TemplateCallbacks, Location, LocationError, TokioDrop, @@ -912,12 +912,12 @@ impl MessageToolbar { (AttachmentInfo::Image(info), thumbnail) } mime::VIDEO => { - let mut info = get_video_info(&file).await; + let mut info = load_video_info(&file).await; info.size = size; (AttachmentInfo::Video(info), None) } mime::AUDIO => { - let mut info = get_audio_info(&file).await; + let mut info = load_audio_info(&file).await; info.size = size; (AttachmentInfo::Audio(info), None) } diff --git a/src/utils/media/mod.rs b/src/utils/media/mod.rs index 3ad8f5eb..752bb7a3 100644 --- a/src/utils/media/mod.rs +++ b/src/utils/media/mod.rs @@ -96,7 +96,8 @@ pub async fn load_file(file: &gio::File) -> Result<(Vec, FileInfo), glib::Er )) } -async fn get_gstreamer_media_info(file: &gio::File) -> Option { +/// Load information for the given file with GStreamer. +async fn load_gstreamer_media_info(file: &gio::File) -> Option { let timeout = gst::ClockTime::from_seconds(15); let discoverer = gst_pbutils::Discoverer::new(timeout).ok()?; @@ -117,7 +118,8 @@ async fn get_gstreamer_media_info(file: &gio::File) -> Option BaseVideoInfo { +/// Load information for the video in the given file. +pub async fn load_video_info(file: &gio::File) -> BaseVideoInfo { let mut info = BaseVideoInfo { duration: None, width: None, @@ -126,9 +128,8 @@ pub async fn get_video_info(file: &gio::File) -> BaseVideoInfo { blurhash: None, }; - let media_info = match get_gstreamer_media_info(file).await { - Some(media_info) => media_info, - None => return info, + let Some(media_info) = load_gstreamer_media_info(file).await else { + return info; }; info.duration = media_info.duration().map(Into::into); @@ -145,15 +146,15 @@ pub async fn get_video_info(file: &gio::File) -> BaseVideoInfo { info } -pub async fn get_audio_info(file: &gio::File) -> BaseAudioInfo { +/// Load information for the audio in the given file. +pub async fn load_audio_info(file: &gio::File) -> BaseAudioInfo { let mut info = BaseAudioInfo { duration: None, size: None, }; - let media_info = match get_gstreamer_media_info(file).await { - Some(media_info) => media_info, - None => return info, + let Some(media_info) = load_gstreamer_media_info(file).await else { + return info; }; info.duration = media_info.duration().map(Into::into);