X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-game%2Fsrc%2Fdemuxers%2Fvmd.rs;h=1cfba901bf716e06372850d3b6ee320cbefc8288;hb=d254ca17b0cd03c0d91f60c849c8da6d152068ed;hp=d0959722e130fe75b49429473603211eea4ffd2f;hpb=caf0f37ecea1e6e25f21fc6e824ac250fe976541;p=nihav.git diff --git a/nihav-game/src/demuxers/vmd.rs b/nihav-game/src/demuxers/vmd.rs index d095972..1cfba90 100644 --- a/nihav-game/src/demuxers/vmd.rs +++ b/nihav-game/src/demuxers/vmd.rs @@ -45,7 +45,7 @@ impl<'a> DemuxCore<'a> for VMDDemuxer<'a> { let nframes = read_u16le(&header[6..])? as usize; let fpb = read_u16le(&header[18..])? as usize; validate!(nframes > 0 && fpb > 0); - + let mut edata: Vec = Vec::with_capacity(HEADER_SIZE); edata.extend_from_slice(&header); let vhdr = NAVideoInfo::new(width, height, false, PAL8_FORMAT); @@ -67,8 +67,10 @@ impl<'a> DemuxCore<'a> for VMDDemuxer<'a> { block_size = bsize; } + let mut aedata: Vec = Vec::with_capacity(2); + aedata.extend_from_slice(&header[810..][..2]); let ahdr = NAAudioInfo::new(srate, channels, if is16bit { SND_S16P_FORMAT } else { SND_U8_FORMAT }, block_size); - let ainfo = NACodecInfo::new("vmd-audio", NACodecTypeInfo::Audio(ahdr), None); + let ainfo = NACodecInfo::new("vmd-audio", NACodecTypeInfo::Audio(ahdr), Some(aedata)); self.aud_id = strmgr.add_stream(NAStream::new(StreamType::Audio, 1, ainfo, 1, srate)).unwrap(); } else { block_size = 0;