Skip to main content

MediaItem

Struct MediaItem 

Source
pub struct MediaItem {
Show 35 fields pub id: String, pub name: String, pub item_type: String, pub kind: MediaKind, pub is_folder: bool, pub server_id: String, pub parent_id: Option<String>, pub library_id: Option<String>, pub overview: Option<String>, pub genres: Option<Vec<String>>, pub production_year: Option<i32>, pub premiere_date: Option<String>, pub community_rating: Option<f64>, pub official_rating: Option<String>, pub runtime_ticks: Option<i64>, pub duration_ms: Option<i64>, pub primary_image_tag: Option<String>, pub image_id: Option<String>, pub backdrop_image_tags: Option<Vec<String>>, pub parent_backdrop_image_tags: Option<Vec<String>>, pub album_id: Option<String>, pub album_name: Option<String>, pub album_artist: Option<String>, pub artists: Option<Vec<String>>, pub artist_items: Option<Vec<ArtistItem>>, pub index_number: Option<i32>, pub parent_index_number: Option<i32>, pub series_id: Option<String>, pub series_name: Option<String>, pub season_id: Option<String>, pub season_name: Option<String>, pub user_data: Option<UserData>, pub media_streams: Option<Vec<MediaStream>>, pub media_sources: Option<Vec<MediaSource>>, pub people: Option<Vec<Person>>,
}
Expand description

Media item

Fields§

§id: String§name: String§item_type: String

Legacy Jellyfin item-type string ("Audio", "MusicAlbum", …).

Dual-carry migration (docs/specs/frontend-domain-model.md): kind below is the neutral replacement. This field stays while the frontend migrates off it, then is removed in a later phase. New Rust code should read kind, not this.

§kind: MediaKind

Provider-neutral classification — the replacement for item_type. Populated by the Jellyfin mapping; defaults to Other for the handful of construction sites that have not been migrated yet.

§is_folder: bool

Whether this item is a folder/container (vs a playable leaf). Used to decide whether a channel item drills into a list or plays directly.

§server_id: String§parent_id: Option<String>§library_id: Option<String>§overview: Option<String>§genres: Option<Vec<String>>§production_year: Option<i32>§premiere_date: Option<String>

ISO-8601 release/air date (Jellyfin PremiereDate). Used to sort podcast episodes by release date.

§community_rating: Option<f64>§official_rating: Option<String>§runtime_ticks: Option<i64>

Legacy Jellyfin duration in ticks (100 ns units). Being replaced by duration_ms; dual-carried while the frontend migrates (docs/specs/frontend-domain-model.md). New code should read duration_ms.

§duration_ms: Option<i64>

Duration in milliseconds — the neutral replacement for runtime_ticks. Ticks never reach the frontend; this does.

§primary_image_tag: Option<String>

Legacy Jellyfin primary image tag. Being replaced by image_id; dual-carried while the frontend migrates. New code should read image_id.

§image_id: Option<String>

Neutral image identifier the frontend resolves to a URL via the image command — the replacement for primary_image_tag. Same value today (Jellyfin’s tag is the id); the rename removes the provider term.

§backdrop_image_tags: Option<Vec<String>>§parent_backdrop_image_tags: Option<Vec<String>>§album_id: Option<String>§album_name: Option<String>§album_artist: Option<String>§artists: Option<Vec<String>>§artist_items: Option<Vec<ArtistItem>>§index_number: Option<i32>§parent_index_number: Option<i32>§series_id: Option<String>§series_name: Option<String>§season_id: Option<String>§season_name: Option<String>§user_data: Option<UserData>§media_streams: Option<Vec<MediaStream>>§media_sources: Option<Vec<MediaSource>>§people: Option<Vec<Person>>

Trait Implementations§

Source§

impl Clone for MediaItem

Source§

fn clone(&self) -> MediaItem

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MediaItem

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MediaItem

Source§

fn default() -> MediaItem

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MediaItem

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl ExcludeHidden for MediaItem

Source§

fn without_excluded(self) -> Self

A single item fetched by id is never hidden.

Exclusion hides things from browsing. An item asked for by id was navigated to deliberately, or is being resolved by the player or a download — answering “not found” there would break playback of anything inside a hidden folder rather than merely tidying a listing.

Source§

impl From<&MediaItem> for AlbumTrack

Source§

fn from(item: &MediaItem) -> Self

Converts to this type from the input type.
Source§

impl MeaningfulContent for MediaItem

Source§

impl NamedType for MediaItem

Source§

fn sid() -> SpectaID

Source§

fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType

this is equivalent to [Type::inline] but returns a [NamedDataType] instead.
Source§

fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType

this is equivalent to [Type::definition] but returns a [NamedDataType] instead.
Source§

impl Serialize for MediaItem

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Type for MediaItem

Source§

fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType

Returns the definition of a type using the provided generics. Read more
Source§

fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference

Generates a datatype corresponding to a reference to this type, as determined by its category. Getting a reference to a type implies that it should belong in the type map (since it has to be referenced from somewhere), so the output of definition will be put into the type map.
Source§

impl Flatten for MediaItem

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<'de, D, R> CommandArg<'de, R> for D
where D: Deserialize<'de>, R: Runtime,

§

fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>

Derives an instance of Self from the [CommandItem]. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FunctionArg for T
where T: Type,

§

fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>

Gets the type of an argument as a [DataType]. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IpcResponse for T
where T: Serialize,

§

fn body(self) -> Result<InvokeResponseBody, Error>

Resolve the IPC response body.
§

impl<T> NoneValue for T
where T: Default,

§

type NoneType = T

§

fn null_value() -> T

The none-equivalent value.
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ScopeObject for T
where T: Send + Sync + Debug + DeserializeOwned + 'static,

§

type Error = Error

The error type.
§

fn deserialize<R>( _app: &AppHandle<R>, raw: Value, ) -> Result<T, <T as ScopeObject>::Error>
where R: Runtime,

Deserialize the raw scope value.
Source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> UserEvent for T
where T: Debug + Clone + Send + 'static,