fix: NULL codec is valid

This commit is contained in:
Kornel
2020-12-09 17:50:50 +01:00
committed by GitHub
parent 693c1dca16
commit 418a761903
+4 -3
View File
@@ -72,11 +72,12 @@ impl Output {
pub fn add_stream<E: traits::Encoder>(&mut self, codec: E) -> Result<StreamMut, Error> {
unsafe {
let codec = codec.encoder().ok_or(Error::EncoderNotFound)?;
let ptr = avformat_new_stream(self.as_mut_ptr(), codec.as_ptr());
let codec = codec.encoder();
let codec = codec.map_or(ptr::null(), |c| c.as_ptr());
let ptr = avformat_new_stream(self.as_mut_ptr(), codec);
if ptr.is_null() {
panic!("out of memory");
return Err(Error::Unknown);
}
let index = (*self.ctx.as_ptr()).nb_streams - 1;