diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2023-03-10 18:23:23 +0100 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2023-03-10 18:23:23 +0100 |
commit | 637e4d452eb37142ae456aee40ba150cb5d0c06a (patch) | |
tree | 4fb7dfa2c2721dfdb2397b8bbe6710817ef21e93 | |
parent | 4dd9047c4ba7e1ee7f1e163e0c551d318497d6db (diff) | |
download | nihav-encoder-637e4d452eb37142ae456aee40ba150cb5d0c06a.tar.gz |
pass null frames to the encoder without attempting to convert them
-rw-r--r-- | src/main.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index 191a8a6..5e00cf0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -706,7 +706,10 @@ println!("can't generate default channel map for {} channels", dainfo.channels); fn encode_frame(dst_id: u32, encoder: &mut Box<dyn NAEncoder>, cvt: &mut OutputConvert, frm: NAFrameRef, scale_opts: &[(String, String)]) -> bool { let buf = frm.get_buffer(); - let cbuf = match cvt { + let cbuf = if let NABufferType::None = buf { + buf + } else { + match cvt { OutputConvert::None => buf, OutputConvert::Video(ref mut scaler, ref mut dbuf) => { let cur_ifmt = get_scale_fmt_from_pic(&buf); @@ -735,7 +738,8 @@ fn encode_frame(dst_id: u32, encoder: &mut Box<dyn NAEncoder>, cvt: &mut OutputC } ret.unwrap() }, - }; + } + }; let cfrm = NAFrame::new(frm.get_time_information(), frm.frame_type, frm.key, frm.get_info(), cbuf); encoder.encode(&cfrm).unwrap(); true |