X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fmain.rs;h=a6d464aed1dfdd47f8ef2d133d7fb33ebb04f860;hb=f88b8fb4f64962205372892b782ad0ae09034e9a;hp=be7750d488f5b5665952781fb6339965585ee038;hpb=b0c515482775336c9646a71552e0ee6ea657fa9e;p=nihav-encoder.git diff --git a/src/main.rs b/src/main.rs index be7750d..a6d464a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -715,7 +715,7 @@ fn main() { } printed_info = true; }, - "--input" => { + "--input" | "-i" => { next_arg!(args, arg_idx); transcoder.input_name = args[arg_idx].clone(); }, @@ -723,7 +723,7 @@ fn main() { next_arg!(args, arg_idx); transcoder.input_fmt = Some(args[arg_idx].clone()); }, - "--output" => { + "--output" | "-o" => { next_arg!(args, arg_idx); transcoder.output_name = args[arg_idx].clone(); }, @@ -738,10 +738,10 @@ fn main() { return; } }, - "--no-video" => { + "--no-video" | "-vn" => { transcoder.no_video = true; }, - "--no-audio" => { + "--no-audio" | "-an" => { transcoder.no_audio = true; }, "--start" => { @@ -919,6 +919,7 @@ println!("stream {} - {} {}", i, s, info.get_name()); break; } let mut pkt = pktres.unwrap(); + if transcoder.start != NATimePoint::None && pkt.ts.less_than(transcoder.start) { continue; } let src_id = pkt.get_stream().get_num(); match transcoder.encoders[src_id] { OutputMode::Drop => {}, @@ -934,6 +935,9 @@ println!("stream {} - {} {}", i, s, info.get_name()); OutputMode::Encode(dst_id, ref mut encoder, ref mut cvt) => { if let Some((ref mut dsupp, ref mut decoder)) = transcoder.decoders[src_id] { let ret = decoder.decode(dsupp, &pkt); + if let (true, Err(DecoderError::MissingReference)) = (transcoder.start != NATimePoint::None, &ret) { + continue; + } if ret.is_err() { println!("error decoding stream {}", src_id); break;