Skip to content

Commit 32ba0f0

Browse files
committed
refactor: improve error handling messages across audio formats
Add explanatory expect() messages when initializing decoders for FLAC, MP3, and WAV formats. Also improves MP3 decoder's span length handling by removing unwrap() in favor of the ? operator. These changes maintain the same behavior while making debugging easier by providing context for potential panics. Affected decoders: - FLAC - MP3 - WAV
1 parent bdc8c4f commit 32ba0f0

3 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/decoder/flac.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ where
3737
return Err(data);
3838
}
3939

40-
let reader = FlacReader::new(data).unwrap();
40+
let reader = FlacReader::new(data).expect("should still be flac");
4141

4242
let spec = reader.streaminfo();
4343
let sample_rate = spec.sample_rate;

src/decoder/mp3.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ where
3737
// thus if we crash here one of these invariants is broken:
3838
// .expect("should be able to allocate memory, perform IO");
3939
// let current_span = decoder.decode_frame()
40-
let current_span = decoder.next_frame().unwrap();
40+
let current_span = decoder.next_frame().expect("should still be mp3");
4141

4242
Ok(Mp3Decoder {
4343
decoder,
@@ -96,7 +96,8 @@ where
9696
type Item = DecoderSample;
9797

9898
fn next(&mut self) -> Option<Self::Item> {
99-
if self.current_span_offset == self.current_span_len().unwrap() {
99+
let current_span_len = self.current_span_len()?;
100+
if self.current_span_offset == current_span_len {
100101
if let Ok(span) = self.decoder.next_frame() {
101102
// if let Ok(span) = self.decoder.decode_frame() {
102103
self.current_span = span;

src/decoder/wav.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ where
3232
return Err(data);
3333
}
3434

35-
let reader = WavReader::new(data).unwrap();
35+
let reader = WavReader::new(data).expect("should still be wav");
3636
let spec = reader.spec();
3737
let len = reader.len() as u64;
3838
let reader = SamplesIterator {
@@ -57,6 +57,7 @@ where
5757
channels: channels as ChannelCount,
5858
})
5959
}
60+
6061
pub fn into_inner(self) -> R {
6162
self.reader.reader.into_inner()
6263
}

0 commit comments

Comments
 (0)