[−][src]Crate h264_profile_level_id
Idiomatic Rust port of https://github.com/ibc/h264-profile-level-id by Iñaki Baz Castillo.
Rust utility to process H264 profile-level-id
values based on Google's libwebrtc C++ code.
Basic usage example:
use h264_profile_level_id::{Profile, Level, ProfileLevelId}; fn main () { let profile_level_id: ProfileLevelId = "42e01f".parse().unwrap(); assert_eq!(profile_level_id.profile(), Profile::ConstrainedBaseline); assert_eq!(profile_level_id.level(), Level::Level31); let s = profile_level_id.to_string(); assert_eq!(s.as_str(), "42e01f"); let local_profile_level_id = "42e01f".parse::<ProfileLevelId>().ok(); let local_level_asymmetry_allowed = true; let remote_profile_level_id = "42e015".parse::<ProfileLevelId>().ok(); let remote_level_asymmetry_allowed = true; assert_eq!( h264_profile_level_id::generate_profile_level_id_for_answer( local_profile_level_id, local_level_asymmetry_allowed, remote_profile_level_id, remote_level_asymmetry_allowed ), Ok("42e01f".parse::<ProfileLevelId>().unwrap()), ); }
Structs
ProfileLevelId | A container encapsulating both H264 profile and level as parsed from a |
Enums
GenerateProfileLevelIdForAnswerError | |
Level | |
ParseProfileLevelIdError | |
Profile |
Functions
generate_profile_level_id_for_answer | Generate codec parameters that will be used as answer in an SDP negotiation based on local
supported parameters and remote offered parameters. Both |
is_same_profile | Returns |