X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-ms%2Fsrc%2Fcodecs%2Fimaadpcmenc.rs;h=f2a222325914e4f9d84ef2b80ec50117c7a312eb;hb=e6aaad5c5273cd814b5748b7faf3751835a37217;hp=45e8d21f32cc2b4e04340c802c40666fceaec838;hpb=85d4be529371a979026a49d43e7ba73793f1e096;p=nihav.git diff --git a/nihav-ms/src/codecs/imaadpcmenc.rs b/nihav-ms/src/codecs/imaadpcmenc.rs index 45e8d21..f2a2223 100644 --- a/nihav-ms/src/codecs/imaadpcmenc.rs +++ b/nihav-ms/src/codecs/imaadpcmenc.rs @@ -96,7 +96,6 @@ impl IMAADPCMEncoder { nw.write(nib)?; } } - drop(nw); } else { self.nodes.reserve(self.block_len); self.nibs.resize(self.channels, Vec::new()); @@ -164,7 +163,6 @@ impl IMAADPCMEncoder { nw.write(self.nibs[ch][i])?; } } - drop(nw); } self.samples.drain(..self.block_len * self.channels); @@ -189,9 +187,9 @@ impl NAEncoder for IMAADPCMEncoder { fn negotiate_format(&self, encinfo: &EncodeParameters) -> EncoderResult { match encinfo.format { NACodecTypeInfo::None => { - let mut ofmt = EncodeParameters::default(); - ofmt.format = NACodecTypeInfo::Audio(NAAudioInfo::new(0, 1, SND_S16_FORMAT, DEFAULT_BLOCK_LEN)); - Ok(ofmt) + Ok(EncodeParameters { + format: NACodecTypeInfo::Audio(NAAudioInfo::new(0, 1, SND_S16_FORMAT, DEFAULT_BLOCK_LEN)), + ..Default::default() }) }, NACodecTypeInfo::Video(_) => Err(EncoderError::FormatError), NACodecTypeInfo::Audio(ainfo) => { @@ -215,6 +213,7 @@ impl NAEncoder for IMAADPCMEncoder { } } } + fn get_capabilities(&self) -> u64 { ENC_CAPS_CBR } fn init(&mut self, stream_id: u32, encinfo: EncodeParameters) -> EncoderResult { match encinfo.format { NACodecTypeInfo::None => Err(EncoderError::FormatError), @@ -341,6 +340,7 @@ mod test { let mut enc_reg = RegisteredEncoders::new(); ms_register_all_encoders(&mut enc_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/VP4/ot171_vp40.avi let dec_config = DecoderTestParams { demuxer: "avi", in_name: "assets/Duck/ot171_vp40.avi",