pub struct PgsOdsSegment {
pub header: PgsSegmentHeader,
pub object_id: u16,
pub object_version_number: u8,
pub last_in_sequence_flag: PgsOdsSequenceFlag,
pub object_data_length: u32,
pub width: u16,
pub height: u16,
pub object_data: Vec<u8>,
}Expand description
Struct representing an Object Definition Segment (ODS) in a PGS file. The ODS contains the actual image data (subtitle graphics) along with metadata.
Fields§
§header: PgsSegmentHeader§object_id: u16§object_version_number: u8§last_in_sequence_flag: PgsOdsSequenceFlag§object_data_length: u32§width: u16§height: u16§object_data: Vec<u8>Implementations§
Source§impl PgsOdsSegment
impl PgsOdsSegment
Sourcepub fn from_data(
header: PgsSegmentHeader,
data: &[u8],
) -> Result<Rc<PgsOdsSegment>>
pub fn from_data( header: PgsSegmentHeader, data: &[u8], ) -> Result<Rc<PgsOdsSegment>>
Constructs a PgsOdsSegment from the given header and raw data buffer.
This method parses the ODS segment data, extracting the object ID, version number, sequence flag, object data length, and optionally the object width and height (if this is the first or both sequence flag).
§Parameters
header: The segment header.data: A slice of raw data representing the contents of the ODS segment.
§Errors
Returns Error::InvalidSegmentDataLength if the length of the provided data is less than the expected length.
§Returns
An Rc<PgsOdsSegment> containing the parsed segment.