diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/audio/rodio.rs | 27 | ||||
| -rw-r--r-- | src/main.rs | 2 |
2 files changed, 14 insertions, 15 deletions
diff --git a/src/audio/rodio.rs b/src/audio/rodio.rs index 0f9fbb2..49ebe40 100644 --- a/src/audio/rodio.rs +++ b/src/audio/rodio.rs @@ -42,23 +42,22 @@ impl Rodio { .await .unwrap(); - sink.append( - Decoder::new(IcyMetadataReader::new( - reader, - // Since we requested icy metadata, the metadata interval header should be present in the - // response. This will allow us to parse the metadata within the stream - icy_headers.metadata_interval(), - |metadata| { - if let Ok(md) = metadata { - if let Some(tr) = md.stream_title() { - println!(" {tr}"); - } + let metadata_reader = IcyMetadataReader::new( + reader, + // Since we requested icy metadata, the metadata interval header should be present in the + // response. This will allow us to parse the metadata within the stream + icy_headers.metadata_interval(), + |metadata| { + if let Ok(md) = metadata { + if let Some(tr) = md.stream_title() { + println!(" {tr}"); } - }, - )) - .unwrap(), + } + }, ); + sink.append(Decoder::new(metadata_reader).unwrap()); + let handle = tokio::task::spawn_blocking(move || { sink.sleep_until_end(); }); diff --git a/src/main.rs b/src/main.rs index 10c7d6f..5303421 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,7 +22,7 @@ async fn main() { let url = get_stream_url(&playlist).await.unwrap(); sp.stop_with_newline(); - let _sp = Spinner::new(Spinners::Arrow3, format!("Playing {}", ch.title)); + let _sp = Spinner::new(Spinners::Arrow3, format!("Playing {} at {}", ch.title, url)); audio::get_backend().play(&url).await } Err(_e) => { |
