X-Git-Url: https://git.nihav.org/?p=nihav-encoder.git;a=blobdiff_plain;f=src%2Fmain.rs;h=a6d464aed1dfdd47f8ef2d133d7fb33ebb04f860;hp=38de7771b02bdbb9bd4f4d62c47716e0aa15e7d6;hb=f88b8fb4f64962205372892b782ad0ae09034e9a;hpb=4b5c61e2cdb07069db7232920d9e67146e769de4 diff --git a/src/main.rs b/src/main.rs index 38de777..a6d464a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -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;