push-tyvkwvpzzkzs #73

Merged
eric merged 14 commits from push-tyvkwvpzzkzs into main 2026-01-31 23:03:43 +01:00
5 changed files with 17 additions and 0 deletions
Showing only changes of commit 6bdd7ea905 - Show all commits

View File

@@ -1690,6 +1690,7 @@ fn playback_item_track_metadata(item: &PlaybackItem) -> TrackMetadata {
track_number: None,
creator: None,
duration: None,
is_continuous_stream: crate::music_renderer::is_continuous_stream_url(&item.uri),
})
}

View File

@@ -556,6 +556,8 @@ pub fn playback_item_from_entry(
let resource = resource.unwrap();
let is_continuous_stream = crate::music_renderer::is_continuous_stream_url(&resource.uri);
let metadata = TrackMetadata {
title: Some(entry.title.clone()),
artist: entry.artist.clone(),
@@ -566,6 +568,7 @@ pub fn playback_item_from_entry(
track_number: entry.track_number.clone(),
creator: entry.creator.clone(),
duration: resource.duration.clone(),
is_continuous_stream,
};
debug!(

View File

@@ -94,6 +94,9 @@ pub struct TrackMetadata {
pub track_number: Option<String>,
pub creator: Option<String>,
pub duration: Option<String>,
/// Indique si cette piste correspond à un flux continu (radio, stream)
/// plutôt qu'à un fichier avec une durée fixe
pub is_continuous_stream: bool,
}
#[derive(Clone, Debug, Copy)]

View File

@@ -156,6 +156,10 @@ pub fn extract_track_metadata(position: &PlaybackPositionInfo) -> Option<TrackMe
// Extract first item metadata
let item = didl.items.first()?;
// Déterminer si c'est un stream continu à partir de l'URI
let uri = item.resources.first().map(|r| r.url.as_str()).unwrap_or("");
let is_continuous_stream = crate::music_renderer::is_continuous_stream_url(uri);
Some(TrackMetadata {
title: Some(item.title.clone()),
artist: item.artist.clone(),
@@ -166,6 +170,7 @@ pub fn extract_track_metadata(position: &PlaybackPositionInfo) -> Option<TrackMe
track_number: item.original_track_number.clone(),
creator: item.creator.clone(),
duration: item.resources.first().and_then(|r| r.duration.clone()),
is_continuous_stream,
})
}

View File

@@ -954,6 +954,10 @@ pub fn parse_track_metadata_from_didl(xml: &str) -> Option<TrackMetadata> {
"Parsed DIDL metadata for track"
);
// Déterminer si c'est un stream continu à partir de l'URI
let uri = item.resources.first().map(|r| r.url.as_str()).unwrap_or("");
let is_continuous_stream = crate::music_renderer::is_continuous_stream_url(uri);
Some(TrackMetadata {
title: Some(item.title.clone()),
artist: item.artist.clone(),
@@ -964,6 +968,7 @@ pub fn parse_track_metadata_from_didl(xml: &str) -> Option<TrackMetadata> {
track_number: item.original_track_number.clone(),
creator: item.creator.clone(),
duration: item.resources.first().and_then(|r| r.duration.clone()),
is_continuous_stream,
})
}