diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2020-07-12 10:40:39 +0200 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2020-07-12 10:40:39 +0200 |
commit | f88b8fb4f64962205372892b782ad0ae09034e9a (patch) | |
tree | 9ec19a0491c4b3af9dc614a135cbed4e68907af6 | |
parent | 4b5c61e2cdb07069db7232920d9e67146e769de4 (diff) | |
download | nihav-encoder-f88b8fb4f64962205372892b782ad0ae09034e9a.tar.gz |
skip packets before start point
-rw-r--r-- | src/main.rs | 4 |
1 files changed, 4 insertions, 0 deletions
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; |