diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2023-05-16 18:13:11 +0200 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2023-05-16 18:13:11 +0200 |
commit | b76448d99f7c994787b8f6385d50bb62d3ba8217 (patch) | |
tree | 3c1b8b873f674921b34ca2b86306502b46761fb8 | |
parent | b0481c9e4084c2946507754bc194a64306a278f8 (diff) | |
download | nihav-encoder-b76448d99f7c994787b8f6385d50bb62d3ba8217.tar.gz |
duplicate last frame when the encoder does not support skip frames
-rw-r--r-- | src/main.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index ff19ae1..1e77521 100644 --- a/src/main.rs +++ b/src/main.rs @@ -743,10 +743,16 @@ fn encode_frame(dst_id: u32, encoder: &mut Box<dyn NAEncoder>, cvt: &mut OutputC let buf = frm.get_buffer(); let cbuf = if let NABufferType::None = buf { if (encoder.get_capabilities() & ENC_CAPS_SKIPFRAME) == 0 { - println!("encoder does not support skip frames, skipping"); - return true; + match cvt { + OutputConvert::Video(_, ref mut dbuf) => dbuf.clone(), + _ => { + println!("encoder does not support skip frames, skipping"); + return true; + }, + } + } else { + buf } - buf } else { match cvt { OutputConvert::None => buf, |