UTSC Metadata Definitions

All UTSC metadata fields start with a byte which specifies the field type, and then 3 bytes containing the 17-bit length and 7 reserved bits. We'll call this entire field [header].


  • 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)]

                                                              MSB                       LSB
[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.

No comments:

Post a Comment