From: Kostya Shishkov Date: Sun, 4 Apr 2021 08:29:13 +0000 (+0200) Subject: fix or silence clippy warnings X-Git-Url: https://git.nihav.org/?p=nihav-encoder.git;a=commitdiff_plain;h=86c54d88ca20815841fb90764d7854e5746ce7b4 fix or silence clippy warnings --- diff --git a/src/main.rs b/src/main.rs index 0f1109c..fadb2b9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -56,6 +56,7 @@ enum OutputConvert { None, } +#[allow(clippy::large_enum_variant)] enum OutputMode { Drop, Copy(u32), @@ -63,6 +64,7 @@ enum OutputMode { } #[derive(Default)] +#[allow(clippy::type_complexity)] struct Transcoder { input_name: String, input_fmt: Option, @@ -90,11 +92,10 @@ macro_rules! parse_and_apply_options { if opt.name == opt_def.name { let arg = if let Some(ref str) = opt.value { Some(str) } else { None }; let ret = opt_def.parse(&opt.name, arg); - if ret.is_err() { - println!("invalid option {} for {}", opt.name, $name); - } else { - let (val, _) = ret.unwrap(); + if let Ok((val, _)) = ret { opts.push(val); + } else { + println!("invalid option {} for {}", opt.name, $name); } found = true; } @@ -419,7 +420,7 @@ impl Transcoder { if let Some(str_idx) = self.ostr_opts.iter().position(|str| str.id == out_id) { let oopts = &mut self.ostr_opts[str_idx]; if oopts.enc_name.as_str() == "copy" && (cname == "any" || istr.get_info().get_name() == cname) { - out_sm.add_stream_ref(istr.clone()); + out_sm.add_stream_ref(istr); self.encoders.push(OutputMode::Copy(out_id)); } else if cname == "any" || oopts.enc_name.as_str() == cname { let enc_create = enc_reg.find_encoder(oopts.enc_name.as_str()); @@ -498,15 +499,13 @@ println!("can't generate default channel map for {} channels", dainfo.channels); println!("encoder {} is not supported by output (expected {})", istr.id, istr.get_info().get_name()); return false; } + } else if cname == "any" || istr.get_info().get_name() == cname { + out_sm.add_stream_ref(istr); + self.encoders.push(OutputMode::Copy(out_id)); } else { - if cname == "any" || istr.get_info().get_name() == cname { - out_sm.add_stream_ref(istr.clone()); - self.encoders.push(OutputMode::Copy(out_id)); - } else { println!("stream {} ({}) can't be handled", istr.id, istr.get_info().get_name()); // todo autoselect encoder? - return false; - } + return false; } true } @@ -649,6 +648,7 @@ macro_rules! next_arg { } } +#[allow(clippy::single_match)] fn main() { let args: Vec<_> = env::args().collect(); @@ -878,11 +878,11 @@ fn main() { return; } - if transcoder.input_name.len() == 0 { + if transcoder.input_name.is_empty() { println!("no input name provided"); return; } - if transcoder.output_name.len() == 0 { + if transcoder.output_name.is_empty() { println!("no output name provided"); return; } @@ -898,14 +898,12 @@ fn main() { let dmx_name = if let Some(ref str) = transcoder.input_fmt { str.as_str() + } else if let Some((dmx_name, score)) = detect::detect_format(transcoder.input_name.as_str(), &mut br) { + println!("detected {} with score {:?}", dmx_name, score); + dmx_name } else { - if let Some((dmx_name, score)) = detect::detect_format(transcoder.input_name.as_str(), &mut br) { - println!("detected {} with score {:?}", dmx_name, score); - dmx_name - } else { - println!("cannot detect input format"); - return; - } + println!("cannot detect input format"); + return; }; let ret = dmx_reg.find_demuxer(dmx_name); if ret.is_none() { @@ -954,13 +952,11 @@ println!("stream {} - {} {}", i, s, info.get_name()); let output_fmt = if let Some(ref str) = transcoder.output_fmt { str + } else if let Some(str) = detect::detect_format_by_name(transcoder.output_name.as_str()) { + str } else { - if let Some(str) = detect::detect_format_by_name(transcoder.output_name.as_str()) { - str - } else { - println!("Cannot guess muxer for output"); - return; - } + println!("Cannot guess muxer for output"); + return; }; let ret = mux_reg.find_muxer(output_fmt); let ofmt = output_fmt.to_string(); diff --git a/src/null.rs b/src/null.rs index 7d41877..3e9b813 100644 --- a/src/null.rs +++ b/src/null.rs @@ -54,7 +54,7 @@ fn get_encoder() -> Box { Box::new(NullEncoder::new()) } -pub const NULL_ENCODER: EncoderInfo = EncoderInfo { name: "null", get_encoder: get_encoder }; +pub const NULL_ENCODER: EncoderInfo = EncoderInfo { name: "null", get_encoder }; struct NullMuxer<'a> { bw: PhantomData<&'a mut ByteWriter<'a>>,