libkate 0.4.3
Format - metadata

A metadata definition consists of:

  • a bit, being 0 if the metadata set is empty, 1 otherwise.

Then, if the set is not empty:

Then, for that number:

  • a variable length integer representing the number of bytes in the tag name.
  • that same number of bytes, representing the tag name. The typical C string terminating NUL is not included.
  • a variable length integer representing the number of bytes in the value.
  • that same number of bytes, representing the value. This value may be any stream of arbitrary data, but is encouraged to be UTF-8, though this is not mandatory and should not be assumed. No terminating NUL. Note that a terminating NUL might not make sense in the first place if the metadata contents are binary.
  • a warp.

Then, the data for this metadata pair ends.

Next, we have a warp.

Next, the data ends.