diff options
author | paulhsia <paulhsia@chromium.org> | 2019-01-22 15:22:25 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-01-27 10:43:26 -0800 |
commit | f052cfefc8d6d27fa068c34190615db1819b8fef (patch) | |
tree | f7d2825383a5f8307a9743971e8bc6b001835965 /src/main.rs | |
parent | 3082e8e48d73a4cf98b33052247d0ddb0d411111 (diff) | |
download | crosvm-f052cfefc8d6d27fa068c34190615db1819b8fef.tar crosvm-f052cfefc8d6d27fa068c34190615db1819b8fef.tar.gz crosvm-f052cfefc8d6d27fa068c34190615db1819b8fef.tar.bz2 crosvm-f052cfefc8d6d27fa068c34190615db1819b8fef.tar.lz crosvm-f052cfefc8d6d27fa068c34190615db1819b8fef.tar.xz crosvm-f052cfefc8d6d27fa068c34190615db1819b8fef.tar.zst crosvm-f052cfefc8d6d27fa068c34190615db1819b8fef.zip |
linux: Add ac97 device with CRAS backend
Add an ac97 device that plays audio through CRAS audio server. BUG=chromium:781398 BUG=chromium:907520 TEST=Test building by $ cargo build TEST=Deploy crosvm to DUT and test audio functionality CQ-DEPEND=CL:1429311 CQ-DEPEND=CL:1429542 Change-Id: Ia273d8f1e82c20d1f1882f088886458339399aae Reviewed-on: https://chromium-review.googlesource.com/1426282 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org>
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index 555c98d..5847087 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,6 +16,7 @@ extern crate kernel_loader; extern crate kvm; extern crate kvm_sys; extern crate libc; +extern crate libcras; extern crate net_util; extern crate qcow; #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] @@ -93,6 +94,7 @@ pub struct Config { multiprocess: bool, seccomp_policy_dir: PathBuf, gpu: bool, + cras_audio: bool, null_audio: bool, } @@ -120,6 +122,7 @@ impl Default for Config { shared_dirs: Vec::new(), multiprocess: !cfg!(feature = "default-no-sandbox"), seccomp_policy_dir: PathBuf::from(SECCOMP_POLICY_DIR), + cras_audio: false, null_audio: false, } } @@ -212,6 +215,9 @@ fn set_argument(cfg: &mut Config, name: &str, value: Option<&str>) -> argument:: })?, ) } + "cras-audio" => { + cfg.cras_audio = true; + } "null-audio" => { cfg.null_audio = true; } @@ -497,6 +503,7 @@ fn run_vm(args: std::env::Args) -> std::result::Result<(), ()> { "IP address to assign to host tap interface."), Argument::value("netmask", "NETMASK", "Netmask for VM subnet."), Argument::value("mac", "MAC", "MAC address for VM."), + Argument::flag("cras-audio", "Add an audio device to the VM that plays samples through CRAS server"), Argument::flag("null-audio", "Add an audio device to the VM that plays samples to /dev/null"), Argument::value("wayland-sock", "PATH", "Path to the Wayland socket to use."), #[cfg(feature = "wl-dmabuf")] |