diff options
Diffstat (limited to 'remuxer/src/demuxers/flac.rs')
-rw-r--r-- | remuxer/src/demuxers/flac.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/remuxer/src/demuxers/flac.rs b/remuxer/src/demuxers/flac.rs index 04d15e0..b397a8c 100644 --- a/remuxer/src/demuxers/flac.rs +++ b/remuxer/src/demuxers/flac.rs @@ -7,7 +7,7 @@ use crate::demuxers::{Demuxer, DemuxerNew, ReadSeek}; use anyhow::{Result, anyhow, bail}; use std::io::{BufReader, Read, Seek, SeekFrom}; -use winter_matroska::{Audio, Cluster, TrackEntry, TrackType, Tracks}; +use winter_matroska::{Audio, Cluster, Info, TrackEntry, TrackType, Tracks}; pub struct FlacDemuxer { reader: BufReader<Box<dyn ReadSeek>>, @@ -28,6 +28,7 @@ struct MetadataBlock { r#type: u8, data: Vec<u8>, } +#[allow(unused)] impl MetadataBlock { const TY_STREAMINFO: u8 = 0; const TY_PADDING: u8 = 1; @@ -38,6 +39,7 @@ impl MetadataBlock { const TY_PICTURE: u8 = 6; } +#[allow(unused)] struct StreamInfo { min_block_size: u16, max_block_size: u16, @@ -109,6 +111,13 @@ impl FlacDemuxer { } } impl Demuxer for FlacDemuxer { + fn info(&mut self) -> Result<Info> { + Ok(Info { + duration: Some(120000.), // TODO + timestamp_scale: 1_000_000, + ..Default::default() + }) + } fn tracks(&mut self) -> Result<Option<Tracks>> { let si = self.stream_info()?; let mut buf = Vec::new(); @@ -243,8 +252,6 @@ impl Demuxer for FlacDemuxer { let mut crc_buf = [0u8; 1]; self.reader.read_exact(&mut crc_buf)?; - - Ok(None) } } |