Remove Seek/File dependencies from stream readers
Streams are streams — they take impl Read, not Read+Seek or File. - MkvStream::open takes impl Read (was Read+Seek) - EBML element skipping uses skip_bytes() instead of seek(Current) - Byte position tracking uses remaining-bytes counter, not stream_position() - Removed file_size from open (progress is CLI concern) - M2tsStream::open takes impl Read (was Read+Seek) - Buffers first 1MB for FMKV header / PMT scan - Uses chain reader (buffered head + rest) for sequential reading - Duration unknown without seeking (0.0) — CLI can set from metadata - Removed ReadSeek trait (no longer needed) - WriteSeek kept (MKV muxer container format requires seeking internally)
This commit is contained in:
+1
-4
@@ -75,9 +75,6 @@ pub trait IOStream: Read + Write {
|
||||
}
|
||||
}
|
||||
|
||||
// Combined traits for internal trait objects.
|
||||
pub(crate) trait ReadSeek: Read + Seek {}
|
||||
impl<T: Read + Seek> ReadSeek for T {}
|
||||
|
||||
// WriteSeek — used internally by MKV muxer (container format requires seeking).
|
||||
pub trait WriteSeek: Write + Seek {}
|
||||
impl<T: Write + Seek> WriteSeek for T {}
|
||||
|
||||
Reference in New Issue
Block a user