forked from jmug/stoatchat
feat(services/january): image/video embeds
This commit is contained in:
@@ -122,6 +122,17 @@ pub fn image_size(f: &NamedTempFile) -> Option<(usize, usize)> {
|
||||
}
|
||||
}
|
||||
|
||||
/// Determine size of image with buffer
|
||||
pub fn image_size_vec(v: &[u8]) -> Option<(usize, usize)> {
|
||||
if let Ok(size) = imagesize::blob_size(v)
|
||||
.inspect_err(|err| tracing::error!("Failed to generate image size! {err:?}"))
|
||||
{
|
||||
Some((size.width, size.height))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
/// Determine size of video at temp file
|
||||
pub fn video_size(f: &NamedTempFile) -> Option<(i64, i64)> {
|
||||
if let Ok(data) = ffprobe::ffprobe(f.path())
|
||||
|
||||
@@ -14,9 +14,9 @@ auto_derived!(
|
||||
/// URL to the original image
|
||||
pub url: String,
|
||||
/// Width of the image
|
||||
pub width: isize,
|
||||
pub width: usize,
|
||||
/// Height of the image
|
||||
pub height: isize,
|
||||
pub height: usize,
|
||||
/// Positioning and size
|
||||
pub size: ImageSize,
|
||||
}
|
||||
@@ -26,9 +26,9 @@ auto_derived!(
|
||||
/// URL to the original video
|
||||
pub url: String,
|
||||
/// Width of the video
|
||||
pub width: isize,
|
||||
pub width: usize,
|
||||
/// Height of the video
|
||||
pub height: isize,
|
||||
pub height: usize,
|
||||
}
|
||||
|
||||
/// Type of remote Twitch content
|
||||
@@ -86,7 +86,7 @@ auto_derived!(
|
||||
},
|
||||
AppleMusic {
|
||||
album_id: String,
|
||||
|
||||
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
track_id: Option<String>,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user