View Source Membrane.RTP.H265.AP (Membrane RTP H265 Plugin v0.5.1)

Module responsible for parsing Aggregation Packets.

Documented in RFC7798

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         RTP Header                            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    PayloadHdr (Type=48)     |        NALU 1 Size              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        NALU 1 HDR           |                                 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      NALU 1 Data              |
  |                  . . .                                        |
  |                                                               |
  +               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | . . .         | NALU 2 Size                   | NALU 2 HDR    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | NALU 2 HDR    |                                               |
  +-+-+-+-+-+-+-+-+             NALU 2 Data                       |
  |                   . . .                                       |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

A packet width DONL

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          RTP Header                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     PayloadHdr (Type=48)    |          NALU 1 DONL            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         NALU 1 Size         |          NALU 1 HDR             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                NALU 1 Data  . . .                             |
|                                                               |
+     . . .    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
| NALU 2 DOND  |               NALU 2 Size                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         NALU 2 HDR          |                                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+         NALU 2 Data           |
|                                                               |
|          . . .                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               :...OPTIONAL RTP padding        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Link to this section Summary

Link to this section Types

Link to this section Functions

Link to this function

aggregation_unit_size(nalu)

View Source

Specs

aggregation_unit_size(binary()) :: pos_integer()
Link to this function

parse(data, donl? \\ false)

View Source

Specs

parse(binary(), boolean()) ::
  {:ok, [{binary(), don()}]} | {:error, :packet_malformed}
Link to this function

serialize(payloads, reserved, layer_id, t_id)

View Source

Specs