diff --git a/src/format/context/output.rs b/src/format/context/output.rs index 986715d..66a50b2 100644 --- a/src/format/context/output.rs +++ b/src/format/context/output.rs @@ -72,8 +72,9 @@ impl Output { pub fn add_stream(&mut self, codec: E) -> Result { 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");