From 598e17dd940a92e623a9aaef37cecc879d631dc8 Mon Sep 17 00:00:00 2001 From: Vignesh Venkat Date: Fri, 27 Sep 2024 15:35:29 -0700 Subject: [PATCH] decoder: Avoid unreachable code If all the features are enabled, then the return statement at the end of the function becomes unreachable code. Avoid it by adding specific returns when certain paths are unavailable. PiperOrigin-RevId: 679751558 --- src/decoder/mod.rs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/decoder/mod.rs b/src/decoder/mod.rs index 11e4431..6af1a0e 100644 --- a/src/decoder/mod.rs +++ b/src/decoder/mod.rs @@ -79,31 +79,30 @@ impl CodecChoice { match self { CodecChoice::Auto => { // Preferred order of codecs in Auto mode: Android MediaCodec, Dav1d, Libgav1. - return CodecChoice::MediaCodec + CodecChoice::MediaCodec .get_codec() .or_else(|_| CodecChoice::Dav1d.get_codec()) - .or_else(|_| CodecChoice::Libgav1.get_codec()); + .or_else(|_| CodecChoice::Libgav1.get_codec()) } CodecChoice::Dav1d => { #[cfg(feature = "dav1d")] - { - return Ok(Box::::default()); - } + return Ok(Box::::default()); + #[cfg(not(feature = "dav1d"))] + return Err(AvifError::NoCodecAvailable); } CodecChoice::Libgav1 => { #[cfg(feature = "libgav1")] - { - return Ok(Box::::default()); - } + return Ok(Box::::default()); + #[cfg(not(feature = "libgav1"))] + return Err(AvifError::NoCodecAvailable); } CodecChoice::MediaCodec => { #[cfg(feature = "android_mediacodec")] - { - return Ok(Box::::default()); - } + return Ok(Box::::default()); + #[cfg(not(feature = "android_mediacodec"))] + return Err(AvifError::NoCodecAvailable); } } - Err(AvifError::NoCodecAvailable) } }