};
let cname = find_codec_name(RM_AUDIO_CODEC_REGISTER, ainfo.fcc);
let blk_size = if ainfo.fcc != mktag!(b"sipr") {
- ainfo.granularity as usize
+ if let Some(ref iinfo) = ainfo.ileave_info {
+ iinfo.block_size as usize
+ } else {
+ ainfo.granularity as usize
+ }
} else {
validate!(ainfo.flavor <= 3);
RM_SIPRO_BLOCK_SIZES[ainfo.flavor as usize]
fn get_frame(&mut self, strmgr: &mut StreamManager) -> DemuxerResult<NAPacket> {
if !self.queued_pkts.is_empty() {
- let pkt = self.queued_pkts.pop().unwrap();
+ let mut pkt = self.queued_pkts.pop().unwrap();
+ pkt.ts.pts = None;
return Ok(pkt);
}
if (self.data_end != 0) && (self.src.tell() >= self.data_end) {
let stream = streamres.unwrap();
if let Some(ref mut astr) = self.stream {
loop {
- let ret = astr.read_apackets(&mut self.queued_pkts, self.src, stream.clone(), 0, false, self.blk_size);
+ let mut ret = astr.read_apackets(&mut self.queued_pkts, self.src, stream.clone(), 0, false, self.blk_size);
if let Err(DemuxerError::TryAgain) = ret {
continue;
}
+ if let Ok(ref mut pkt) = ret {
+ pkt.ts.pts = None;
+ }
return ret;
}
}