X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-ms%2Fsrc%2Fcodecs%2Fimaadpcmenc.rs;h=f2a222325914e4f9d84ef2b80ec50117c7a312eb;hb=e12dabcd04fc59677660fce8fc9437931d141e93;hp=a64f58f0dbac96282d6208516bcf3f53837552de;hpb=c7cd83f3edfc537ae8c2dc913e2dd1b62a449734;p=nihav.git diff --git a/nihav-ms/src/codecs/imaadpcmenc.rs b/nihav-ms/src/codecs/imaadpcmenc.rs index a64f58f..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", @@ -371,7 +371,7 @@ mod test { let enc_options = &[ NAOption{name: "trellis", value: NAValue::Bool(trellis)}, ]; - test_encoding_to_file(&dec_config, &enc_config, enc_params, enc_options); +// test_encoding_to_file(&dec_config, &enc_config, enc_params, enc_options); test_encoding_md5(&dec_config, &enc_config, enc_params, enc_options, hash);