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 => {},
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;