2.2.3.6 $M (Metadata) Packet
The $M (Metadata) packet is used by the server to transfer metadata for the current playlist entry to the client.
The playlist-gen-id parameter in the $M packet MUST specify the identifier of the playlist entry that is described by the $M packet. The playlist-gen-id parameter is specified in section 2.2.1.4.18.
The value of the broadcast-id parameter in the $M packet MUST uniquely identify the source of "live" content within the scope of the current server-side playlist. For example, if the same live content source is used in multiple entries in a single playlist, the value of the broadcast-id parameter will be the same in each of those entries. There is no requirement that the values of the broadcast-id parameter be unique across different server-side playlists. If a playlist entry is not using a live content source, the value of the broadcast-id parameter MUST be 0.
The features parameter in the $M packet MUST specify the properties and capabilities of the playlist entry that is described by the $M packet. The features parameter is specified in section 2.2.1.4.8.
The $M packet starts with a Framing Header (section 2.2.3.1.1) followed by an MMS data packet (section 2.2.3.1.2), with the following additional details:
B (1 bit): As specified in section 2.2.3.1.1.
Frame (7 bits): As specified in section 2.2.3.1.1.
PacketID (1 byte): This field MUST be set to the character "M" (0x4D).
PacketLength (2 bytes): As specified in section 2.2.3.1.1.
Reason (4 bytes): This field MUST NOT be present.
Payload (variable): The field MUST adhere to the ABNF syntax for Metadata-Payload, defined as follows:
-
-
Metadata-Payload = playlist-gen-id ; section 2.2.1.4.18 "," SP "broadcast-id=" 1*10DIGIT "," SP features ; section 2.2.1.4.8 %x00 *content-description-list ; section 2.2.4
-
-
The value of the broadcast-id parameter MUST be an integer in the range from 0 through 4,294,967,295.