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: StringLegacy 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: MediaKindProvider-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: boolWhether 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.
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<'de> Deserialize<'de> for MediaItem
impl<'de> Deserialize<'de> for MediaItem
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl ExcludeHidden for MediaItem
impl ExcludeHidden for MediaItem
Source§fn without_excluded(self) -> Self
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
impl From<&MediaItem> for AlbumTrack
Source§impl MeaningfulContent for MediaItem
impl MeaningfulContent for MediaItem
fn has_content(&self) -> bool
Source§impl NamedType for MediaItem
impl NamedType for MediaItem
fn sid() -> SpectaID
Source§fn named_data_type(
type_map: &mut TypeCollection,
generics: &[DataType],
) -> NamedDataType
fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType
Source§fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
Source§impl Type for MediaItem
impl Type for MediaItem
Source§fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
Source§fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
definition will be put into the type map.impl Flatten for MediaItem
Auto Trait Implementations§
impl Freeze for MediaItem
impl RefUnwindSafe for MediaItem
impl Send for MediaItem
impl Sync for MediaItem
impl Unpin for MediaItem
impl UnsafeUnpin for MediaItem
impl UnwindSafe for MediaItem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
§fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
§impl<T> FunctionArg for Twhere
T: Type,
impl<T> FunctionArg for Twhere
T: Type,
§fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>
fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>
DataType]. Read more