pub struct OggPage {
pub version: u8,
pub header_type: OggHeaderType,
pub granule_position: u64,
pub serial_number: u32,
pub page_sequence: u32,
pub crc_checksum: u32,
pub num_segments: u8,
pub segment_table: Vec<u8>,
pub data_size: usize,
pub data_offset: usize,
pub total_size: usize,
}Expand description
Parsed OGG page header (27 bytes fixed + segment table)
Fields§
§version: u8Stream structure version (must be 0)
header_type: OggHeaderTypeHeader type flags
granule_position: u64Absolute granule position
serial_number: u32Bitstream serial number
page_sequence: u32Page sequence number
crc_checksum: u32CRC32 checksum (over entire page with CRC field zeroed)
num_segments: u8Number of segments in this page
segment_table: Vec<u8>Segment sizes (lacing values)
data_size: usizeTotal data size (sum of segment table entries)
data_offset: usizeOffset of page data in the source buffer
total_size: usizeTotal page size (header + segment table + data)
Implementations§
Source§impl OggPage
impl OggPage
Sourcepub fn parse(data: &[u8], offset: usize) -> CodecResult<OggPage>
pub fn parse(data: &[u8], offset: usize) -> CodecResult<OggPage>
Parse an OGG page from a byte buffer at the given offset
Sourcepub fn verify_crc(&self, data: &[u8], page_offset: usize) -> bool
pub fn verify_crc(&self, data: &[u8], page_offset: usize) -> bool
Verify the CRC32 of this page against the source buffer
Sourcepub fn extract_packets(&self, data: &[u8], _page_offset: usize) -> Vec<Vec<u8>>
pub fn extract_packets(&self, data: &[u8], _page_offset: usize) -> Vec<Vec<u8>>
Extract packets from this page’s segments.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for OggPage
impl RefUnwindSafe for OggPage
impl Send for OggPage
impl Sync for OggPage
impl Unpin for OggPage
impl UnwindSafe for OggPage
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)