[−][src]Crate sdp_types
Crate for handling SDP (RFC 4566) session descriptions, including a parser and serializer.
Serializing an SDP
// Create SDP session description let sdp = sdp_types::Session { ... }; // And write it to an `Vec<u8>` let mut output = Vec::new(); sdp.write(&mut output).unwrap();
Parsing an SDP
// Parse SDP session description from a byte slice let sdp = sdp_types::Session::parse(&data).unwrap(); // Access the 'tool' attribute match sdp.get_first_attribute_value("tool") { Ok(Some(tool)) => println!("tool: {}", tool), Ok(None) => println!("tool: empty"), Err(_) => println!("no tool attribute"), }
Limitations
-
SDP session descriptions are by default in UTF-8 but an optional
charsetattribute can change this for various SDP fields, including various other attributes. This is currently not supported, only UTF-8 is supported. -
Network addresses, Phone numbers, E-Mail addresses and various other fields are currently parsed as a plain string and not according to the SDP grammar.
Structs
| Attribute | Attributes for the session or media. |
| AttributeNotFoundError | Error returned when an attribute is not found. |
| Bandwidth | Bandwidth information for the session or media. |
| Connection | Connection data for the session or media. |
| Key | Encryption key for the session or media. |
| Media | Media description. |
| Origin | Originator of the session. |
| Repeat | Repeat times for timing information. |
| Session | SDP session description. |
| Time | Timing information of the session. |
| TimeZone | Time zone information for the session. |
Enums
| ParserError | Parsing errors that can be returned from |