diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2018-02-24 15:03:18 +0100 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2018-02-24 18:35:29 +0100 |
commit | 8a5cb596b2717eb85c0601867f713c3df9bb3383 (patch) | |
tree | 68d59643b1f662897cdf4030be4be8eea8cecdcc /src | |
parent | 2bfdf3292154cddce4ac732c2761bca8ca63a45c (diff) | |
download | nihav-8a5cb596b2717eb85c0601867f713c3df9bb3383.tar.gz |
realmedia: output completed frame in mode 0
Diffstat (limited to 'src')
-rw-r--r-- | src/demuxers/realmedia.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/demuxers/realmedia.rs b/src/demuxers/realmedia.rs index f8d5a3e..28e20dc 100644 --- a/src/demuxers/realmedia.rs +++ b/src/demuxers/realmedia.rs @@ -230,7 +230,14 @@ println!(" mode 0 pkt {}/{} off {}/{} seq {}", packet_num, num_pkts, off, frame_ } else { vstr.add_slice(packet_num as usize, self.slice_buf.as_slice()); } - continue; + if (packet_num as usize) < num_pkts { + continue; + } + //todo: check if full frame is received + let (tb_num, tb_den) = stream.get_timebase(); + let ts = NATimeInfo::new(Some(ts as u64), None, None, tb_num, tb_den); + let pkt = NAPacket::new(stream, ts, keyframe, vstr.get_frame_data()); + Ok(pkt) }, 1 => { // whole frame let seq_no = self.src.read_byte()?; |