1. System architecture
Chromium OS is an open source project, based on Linux kernel with Chrome browser as the main application interface.
The communication mechanism between Chromium OS and its browser currently is via D-bus.
The communication mechanism between Chromium OS and its browser currently is via D-bus.
2. Chrome OS audio server (CRAS)
2.1 Introduction
- CRAS sits between Chrome and ALSA
- Output: Chrome connects to this audio server, sends audio data to it, then audio server renders this to the selected ALSA device through alsa-lib.
- Input: the server will get audio samples from alsa and forward them to Chrome.
- Three main requirements:
- Low Latency: 20ms latency and waking up every 10ms
- Low CPU usage: Less than two percent of the CPU of a CR48 is used while playing back audio
- Dynamic audio routing
- Output: Chrome connects to this audio server, sends audio data to it, then audio server renders this to the selected ALSA device through alsa-lib.
- Input: the server will get audio samples from alsa and forward them to Chrome.
- Low Latency: 20ms latency and waking up every 10ms
- Low CPU usage: Less than two percent of the CPU of a CR48 is used while playing back audio
- Dynamic audio routing