fn check_track_property_values(
properties: &[KeyValuePair],
) -> Result<(), CodecError>Expand description
Refuse a Track Property whose value falls outside the range its type allows, wherever in the list it is carried.
§Inside Immutable Properties as well as beside them
The list is walked one level down through Immutable Properties, whose contents Section 12.7 defines as properties themselves. The draft asks for this in as many words: “When looking for the value of a property, processors MUST search both the mutable properties and the contents of Immutable Properties.” A check applied only to the outer list is one a peer opts out of by moving a pair inside the block, and the block is where an Original Publisher puts what a relay must not rewrite — which is where a track’s group order and dynamic-group support belong.
Bytes under 0xB that do not parse as a Key-Value-Pair run are left alone rather than refused. Section 12.7 says relays “MAY decode and view the Properties in the Key-Value-Pairs”, which is a permission and not a requirement, so a block this codec cannot read is carried to the caller intact instead of ending the session.