refactor(h264): add docstring for NalParser struct
This commit is contained in:
parent
cda6808dda
commit
0e383aa7d2
@ -40,8 +40,16 @@ pub(crate) struct Depacketizer {
|
|||||||
nal_parser: NalParser,
|
nal_parser: NalParser,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Contains logic that converts RTP payload into NALs.
|
/// Parses Annex B sequences from RTP NAL data.
|
||||||
/// [Depacketizer] delegates the conversion to this struct.
|
///
|
||||||
|
/// RFC 6184 describes how NAL units should be represented by RTP packets. `Depacketizer` should map each
|
||||||
|
/// such NAL unit to 1 call to `NalParser::start_rtp_nal`, then 1 or more calls to `NalParser::append_rtp_nal`,
|
||||||
|
/// then 1 call to `NalParser::end_rtp_nal`.
|
||||||
|
///
|
||||||
|
/// If the camera complies with the RFC, this will add exactly one NAL unit. However, what some cameras
|
||||||
|
/// call a single NAL unit is actually a sequence of multiple NAL units with Annex B separators. `NalParser`
|
||||||
|
/// looks for these separators and adds multiple NAL units as needed.
|
||||||
|
/// See [scottlamb/retina#68](https://github.com/scottlamb/retina/issues/68).
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
struct NalParser {
|
struct NalParser {
|
||||||
/// In state `PreMark`, pieces of NALs, excluding their header bytes.
|
/// In state `PreMark`, pieces of NALs, excluding their header bytes.
|
||||||
|
Loading…
Reference in New Issue
Block a user