- The length field refers to the length of the data payload excluding any header info. This is described specifically in each entry..
- All numbers are big endian.
- The numbers in the headings are the byte describing the field type.
[header] = [byte: type][24 bits (17-bit length)(7 bits unused)]
[24 bits (17-bit length)(7 bits unused)] = |-----------------|-------|
17-bit length 7 bits
00000000000000000 0000000 = 24-bit field
Length bits Unused bits
0:End of metadata fields.
1: EPG (Electronic Program Guide)[header][7-zip file]
Length: refers to the length, in bytes, of the 7-Zip archive.
A standard EPG consists of a JSON file within a 7-Zip archive. Compression method does not matter.
2: Subtitle File (*.srt)This is not recommended to be used and is not currently defined. Subtitles or closed captions should be stored within the EPG, to save compression overhead.
3: PGP Signature[header][PGP Signature]
Length: refers to the length, in bytes, of the signature
This is a detached PGP signature of all the packet data except this field. The data to be signed consists of the entire 125,000-byte packet except for the signature itself. The [header] field would be signed as well. So a 96-byte DSA signature would be signing 125,000 - 96 = 124904 bytes. This presents a problem for future fields that depend on the contents of an entire packet, such as a hash algorithm. Perhaps future fields that require the entire packet could ignore fields like this.
4: Date and Time
Not defined yet.
5: File transfer
[header][Byte: length of filename][Filename][File contents]
Length: refers to the length, in bytes, of the file contents.