The core control daemon for the VoCR controls a separate tuner daemon which allows manipulation of an FM/DAB hardware tuner on the same device. Due to the licensing restrictions of the manufacturer of the tuner chipset used in the hardware build, this code cannot be open sourced. The tuner daemon is called on startup to perform a “band” scan for all available FM and/or DAB services receivable. Once complete, VoCR takes the returned bearers and performs RadioDNS lookups against each one and reads the attached Service Information (SI) if discovered. This ultimately builds a mapping of stream URL to broadcast bearer.
During standard operation, the Alexa Voice Service (AVS) app listens and responds to voice invocations. When VoCR observes a streaming request, it performs a lookup on the internal streaming URL to bearer map. If a match is found, VoCR issues a playback request to the tuner for one or more broadcast bearers and monitors the tuner until playback begins. In the event that all bearers fail, or no map match is found, VoCR begins playing the original stream URL.