Native camera discovery and capture-mode helpers.
Dependencies
fn main {
for device in @camera.CameraDevice::list() {
println(device.label())
}
}moon run src/examples/list_cameras --target native
moon run src/examples/parse_listing --target nativepub(all) struct CameraDevice {
id : String
name : String
facing : Facing
mode : CaptureMode
torch : Bool
} derive(Eq, Debug)impl Show for CameraDevicetest {
let device = @camera.CameraDevice::{
id: "camera-0",
name: "HD Camera",
facing: External,
mode: { width: 1280, height: 720, fps: 30, pixel_format: Mjpeg },
torch: false,
}
inspect(device.is_high_definition(), content="true")
}test {
let device = @camera.CameraDevice::{
id: "camera-0",
name: "USB Camera",
facing: External,
mode: { width: 1280, height: 720, fps: 30, pixel_format: Mjpeg },
torch: false,
}
inspect(device.label(), content="external:USB Camera")
}test {
for device in @camera.CameraDevice::list() {
ignore(device.label())
}
}test {
let devices = @camera.CameraDevice::parse_listing(
"Front Camera\nUSB Camera\n",
)
inspect(devices.length(), content="2")
inspect(devices[0].label(), content="front:Front Camera")
inspect(devices[1].label(), content="external:USB Camera")
}test {
let device = @camera.CameraDevice::{
id: "camera-0",
name: "Fast Camera",
facing: External,
mode: { width: 640, height: 480, fps: 60, pixel_format: Yuy2 },
torch: false,
}
inspect(device.supports_low_latency_preview(), content="true")
}pub(all) struct CaptureMode {
width : Int
height : Int
fps : Int
pixel_format : PixelFormat
} derive(Eq, Debug)impl Show for CaptureModetest {
let mode = @camera.CaptureMode::{
width: 1280,
height: 720,
fps: 25,
pixel_format: Mjpeg,
}
inspect(mode.frame_interval_ms(), content="40")
}test {
let mode = @camera.CaptureMode::{
width: 0,
height: -720,
fps: 0,
pixel_format: Nv12,
}.normalize()
inspect(mode.width, content="1")
inspect(mode.height, content="1")
inspect(mode.fps, content="1")
}test {
inspect(@camera.Facing::Back.name(), content="back")
}impl Show for PixelFormattest {
inspect(@camera.PixelFormat::Nv12.name(), content="nv12")
}Native camera discovery and capture-mode helpers.
Dependencies