pub struct OmvFile {
pub header: OmvHeader,
pub pages: Vec<OmvTheoraPage>,
pub packets: Vec<OmvTheoraPacket>,
pub seek_top: u64,
pub ogg_data_offset: u64,
}Fields§
§header: OmvHeader§pages: Vec<OmvTheoraPage>§packets: Vec<OmvTheoraPacket>§seek_top: u64Absolute file offset that the page-table seek offsets are relative to.
ogg_data_offset: u64Implementations§
Source§impl OmvFile
impl OmvFile
Sourcepub fn read_header(path: impl AsRef<Path>) -> Result<OmvHeader>
pub fn read_header(path: impl AsRef<Path>) -> Result<OmvHeader>
Read only the fixed metadata prefix required by OmvHeader.
This is used by READY/metadata paths so they do not parse seek tables or
scan the movie payload before playback actually starts.
pub fn open(path: impl AsRef<Path>) -> Result<Self>
Sourcepub fn seek_point_for_frame(&self, frame_no: usize) -> Result<OmvSeekPoint>
pub fn seek_point_for_frame(&self, frame_no: usize) -> Result<OmvSeekPoint>
Resolve the original tona3 key-page seek plan for a video frame.
seek_page_no may precede the key-frame page because an Ogg packet can
continue across page boundaries. The decoder must begin at that page,
discard packets until the indexed key frame, and then decode forward to
the requested packet.
Sourcepub fn open_embedded_ogg_reader(
&self,
path: impl AsRef<Path>,
) -> Result<BufReader<File>>
pub fn open_embedded_ogg_reader( &self, path: impl AsRef<Path>, ) -> Result<BufReader<File>>
Open a buffered reader positioned at the embedded Ogg bitstream.
Sourcepub fn read_embedded_ogg(path: impl AsRef<Path>) -> Result<Vec<u8>>
pub fn read_embedded_ogg(path: impl AsRef<Path>) -> Result<Vec<u8>>
Read the embedded Ogg bitstream as bytes for legacy/full-decode callers.
Header inspection and streaming playback should use Self::open and
Self::open_embedded_ogg_reader instead.