aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/demuxers/flac.rs
diff options
context:
space:
mode:
Diffstat (limited to 'remuxer/src/demuxers/flac.rs')
-rw-r--r--remuxer/src/demuxers/flac.rs13
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)
}
}