Ivan Orlov 上週發布了 VALSA 的補丁,VALSA 是虛擬 ALSA 聲音驅動程序,旨在幫助 Linux 內核開發人員測試和模糊測試聲音子系統。

Virtual ALSA 驅動程序涵蓋所有可能的用例,包括錯誤和延遲注入等場景,支持隨機和基於模式的數據生成等。雖然 Linux kermel 有一些虛擬媒體驅動程序,但到目前為止,除了 snd-dummy 模塊之外還沒有虛擬 ALSA 驅動程序。

Ivan 用 VALSA 代碼解釋:

“這個新的虛擬 ALSA 驅動程序有幾個功能,在用戶空間 ALSA 應用程序測試/模糊測試或測試/模糊測試期間非常有用PCM 中間層。並非所有這些都可以使用現有的虛擬驅動程序(如 dummy 或 loopback)來實現。以下是該驅動程序可以執行的操作:

-模擬捕獲和播放過程
-檢查播放用於包含循環模式的流
-生成隨機或基於模式的捕獲數據
-將延遲注入回放和捕獲過程
-在 PCM 回調期間注入錯誤

此外,此驅動程序還可以檢查播放流是否包含預定義模式,該模式用於相應的selftest檢查PCM中間層數據傳輸功能。另外,這個驅動重新定義了默認的RESET ioctl,selftest也覆蓋了這個PCM API功能。”

VALSA驅動代碼只有大約 600 行新行,同時還有一些文檔。
通過此內核補丁系列。