Skip to main content

Module frame_marking

Module frame_marking 

Source
Expand description

Video Frame Marking RTP header-extension payload values.

Frame marking is carried as one negotiated RTP header extension

These helpers retain temporal-layer fields for future negotiated SVC selection while current packet gates match simulcast RIDs

Short form, non-scalable stream

+---+---+---+---+---------------+
| S | E | I | D | reserved      |
+---+---+---+---+---------------+

Long form, scalable stream

+---+---+---+---+---+-----------+---------------+---------------+
| S | E | I | D | B | TID       | LID           | TL0PICIDX     |
+---+---+---+---+---+-----------+---------------+---------------+
| first octet                    | optional      | optional      |
+---+---+---+---+---+-----------+---------------+---------------+

Reference: RFC 9626 section 3.

Constants§

BASE_LAYER_ID
Base layer identifier used for TID and LID.
BASE_LAYER_SYNC_MASK
Base-layer-sync flag in the long-form first octet.
DISCARDABLE_FRAME_MASK
Discardable-frame flag in the first frame-marking octet.
END_OF_FRAME_MASK
End-of-frame flag in the first frame-marking octet.
INDEPENDENT_FRAME_MASK
Independent-frame flag in the first frame-marking octet.
LONG_DATA_LEN_FLAGS_ONLY
Long-form payload length when both LID and TL0PICIDX are omitted.
LONG_DATA_LEN_WITHOUT_TL0PICIDX
Long-form payload length when TL0PICIDX is omitted.
LONG_DATA_LEN_WITH_TL0PICIDX
Full long-form frame-marking payload length.
SHORT_DATA_LEN
Short-form non-scalable frame-marking payload length.
START_OF_FRAME_MASK
Start-of-frame flag in the first frame-marking octet.
TEMPORAL_LAYER_ID_MASK
Temporal-layer identifier bits in the long-form first octet.
TEMPORAL_LAYER_ID_MAX
Maximum temporal-layer identifier representable by the 3-bit TID field.

Functions§

is_valid_temporal_layer_id
Returns whether value fits in the RFC 9626 three-bit temporal-layer field.
temporal_layer_id
Extracts the temporal-layer ID from the first long-form frame-marking octet.