read ID3 padding
[nihav-tool.git] / src / demux.rs
index a05806855c83ffc4b303e8f29d87e3200a45df81..bf8a07215b5a0e24b3d3f16d21f1c8af8ecfb1b8 100644 (file)
@@ -147,7 +147,8 @@ impl<'a> DemuxerObject<'a> {
         }
         br.seek(SeekFrom::Start(0)).unwrap();
         let mut buf = vec![0; 1048576];
-        let size = br.peek_buf(&mut buf).unwrap();
+        let size = br.read_buf_some(&mut buf).unwrap();
+        br.seek(SeekFrom::Start(0)).unwrap();
         let mut pname = "";
 
         for pinfo in reg.pkt_reg.iter() {
@@ -319,6 +320,10 @@ pub fn detect_tags(br: &mut ByteReader) -> (bool, u64, Option<u64>) {
             }
             start += size + 10;
             br.read_skip(size as usize).unwrap();
+            while let Ok(0) = br.read_byte() {
+                start += 1;
+            }
+            br.seek(SeekFrom::Start(start)).unwrap();
             is_raw = true;
         } else {
             break;