Requirements
Technical
- A POSIX API-compatible OS, that supports TCP sockets and threading.
- Minimum 64 MB of available RAM for the player runtime.
- A sufficiently powerful CPU capable of handling parallel encryption, audio decoding, and digital signal processing.
- Minimum of 256MB available storage.
- A C++17-capable cross-compiler toolchain, along with appropriate compiler options, for building our library in an x86-64 Linux Docker container.
Additional requirements for offline playback
- Minimum 1GB of storage for offline music and metadata (8GB recommended).
- Onboard RTC with a backup battery. Without a valid system time (e.g., after power loss), playback is disabled due to scheduling and licensing constraints.
Implementation requirements
In additional to the technical requirements your player must meet the following core requirements to be certified:
-
Automatic Updater: An automatic updater must be implemented to keep the software current with our release schedule. Full details are available on our Release Management page and Upgrade and Provisioning page. The reference app includes an updater you can use as a starting point.
-
Watchdog: A watchdog mechanism is required to gracefully handle application crashes or freezes by automatically restarting the software.
-
Brand Guidelines: The player's user interface and visual design must follow the official Soundtrack brand guidelines, which will be provided at the appropriate stage of the project.
-
Brand and Model: Every model must report its brand and model, set with
set_device_infoinsplayer_options_api-1.hbefore the player is created withcreate_with_options. The brand is the value Soundtrack has provided to you, for examplesoundtrack. The model is the model name as printed on the device, for examplePlayer 3. Every unit of a model reports the same values and the end user cannot change them.