diff --git a/mp4parse/src/lib.rs b/mp4parse/src/lib.rs index 5355d325..dcfb1648 100644 --- a/mp4parse/src/lib.rs +++ b/mp4parse/src/lib.rs @@ -5736,11 +5736,15 @@ fn read_audio_sample_entry(src: &mut BMFFBox) -> Result codec_type = CodecType::ALAC; codec_specific = Some(AudioCodecSpecific::ALACSpecificBox(alac)); } - BoxType::QTWaveAtom => { - let qt_esds = read_qt_wave_atom(&mut b)?; - codec_type = qt_esds.audio_codec; - codec_specific = Some(AudioCodecSpecific::ES_Descriptor(qt_esds)); - } + BoxType::QTWaveAtom => match read_qt_wave_atom(&mut b) { + Ok(qt_esds) => { + codec_type = qt_esds.audio_codec; + codec_specific = Some(AudioCodecSpecific::ES_Descriptor(qt_esds)); + } + Err(e) => { + warn!("Failed to parse wave atom: {e:?}"); + } + }, BoxType::ProtectionSchemeInfoBox => { if name != BoxType::ProtectedAudioSampleEntry { return Status::StsdBadAudioSampleEntry.into();