L-Acoustics / avdecc

A set of open source libraries for controlling AVB entities using the AVDECC (IEEE 1722.1) protocol compliant to Avnu Milan Specifications
GNU Lesser General Public License v3.0
90 stars 21 forks source link

Add a new controller static API to compute a checksum of the AEM of a controlled entity #124

Closed christophe-calmejane closed 1 year ago

christophe-calmejane commented 1 year ago

A static method taking a ControlledEntity and returning a checksum of the complete AEM (tree and static information). Can be used from a json file with deserializeControlledEntityFromJson to compute the checksum (offline mode), or directly from a live entity.

This API would be helpful for test and validation tools to store and compare the entity_model_id field with that checksum in a database. For a given entity_model_id, there should only exist a single checksum.

The API would need to support versioning, as the returned checksum will change as new descriptors are processed during the computation of the checksum (as well as new/different static fields are added to 1722.1). Maybe have a version parameter passed to the API (and have the latest version being used by default), the implementation would have to be able to generate older version of the checksum.