From cb9a60f45cb8438c58c2f1ecb2f59611dc5d515a Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 12 Mar 2025 10:56:16 +0100 Subject: extracted streaming data --- src/classes/streaminginfo.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/classes/streaminginfo.rs (limited to 'src/classes/streaminginfo.rs') diff --git a/src/classes/streaminginfo.rs b/src/classes/streaminginfo.rs new file mode 100644 index 0000000..3ab271d --- /dev/null +++ b/src/classes/streaminginfo.rs @@ -0,0 +1,22 @@ +use crate::object::Value; +use anyhow::Result; +use serde::Serialize; + +use super::FromValue; + +#[derive(Debug, Serialize)] +pub struct StreamingInfo { + pub offset: u32, + pub path: String, + pub size: u32, +} +impl FromValue for StreamingInfo { + fn from_value(v: Value) -> Result { + let fields = v.as_class("StreamingInfo").unwrap(); + Ok(StreamingInfo { + offset: fields["offset"].as_u32().unwrap(), + size: fields["size"].as_u32().unwrap(), + path: fields["path"].to_owned().as_string().unwrap(), + }) + } +} -- cgit v1.2.3-70-g09d2