diff --git a/src/query.rs b/src/query.rs index beaec9f..3b91e5e 100644 --- a/src/query.rs +++ b/src/query.rs @@ -55,6 +55,7 @@ pub fn query_devices(api: CaptureAPIBackend) -> Result, NokhwaEr } else if cfg!(feature = "input-opencv") { query_devices(CaptureAPIBackend::OpenCv) } else { + dbg!("Error: No suitable Backends availible. Perhaps you meant to enable one of the backends such as `input-v4l`? (Please read the docs.)"); Err(NokhwaError::UnsupportedOperationError( CaptureAPIBackend::Auto, )) @@ -66,6 +67,7 @@ pub fn query_devices(api: CaptureAPIBackend) -> Result, NokhwaEr } else if cfg!(feature = "input-opencv") { query_devices(CaptureAPIBackend::OpenCv) } else { + dbg!("Error: No suitable Backends availible. Perhaps you meant to enable one of the backends such as `input-msmf`? (Please read the docs.)"); Err(NokhwaError::UnsupportedOperationError( CaptureAPIBackend::Auto, )) @@ -77,6 +79,7 @@ pub fn query_devices(api: CaptureAPIBackend) -> Result, NokhwaEr } else if cfg!(feature = "input-opencv") { query_devices(CaptureAPIBackend::OpenCv) } else { + dbg!("Error: No suitable Backends availible. Perhaps you meant to enable one of the backends such as `input-avfoundation`? (Please read the docs.)"); Err(NokhwaError::UnsupportedOperationError( CaptureAPIBackend::Auto, )) @@ -86,14 +89,18 @@ pub fn query_devices(api: CaptureAPIBackend) -> Result, NokhwaEr if cfg!(feature = "input-avfoundation") { query_devices(CaptureAPIBackend::AVFoundation) } else { + dbg!("Error: No suitable Backends availible. Perhaps you meant to enable one of the backends such as `input-avfoundation`? (Please read the docs.)"); Err(NokhwaError::UnsupportedOperationError( CaptureAPIBackend::Auto, )) } } - _ => Err(NokhwaError::UnsupportedOperationError( - CaptureAPIBackend::Auto, - )), + _ => { + dbg!("Error: No suitable Backends availible. You are on an unsupported platform."); + Err(NokhwaError::NotImplementedError( + "Bad Platform".to_string() + )) + } } } CaptureAPIBackend::AVFoundation => query_avfoundation(), diff --git a/src/utils.rs b/src/utils.rs index 0f0f42c..4e81ed9 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -482,8 +482,8 @@ impl From for CaptureDeviceFormatDescriptor { /// `index` is a camera's index given to it by (usually) the OS usually in the order it is known to the system. /// # JS-WASM /// This is exported as a `JSCameraInfo`. -#[cfg_attr(feature = "output-wasm", wasm_bindgen(js_name = JSCameraInfo))] #[derive(Clone, Debug, Hash, PartialEq, PartialOrd)] +#[cfg_attr(feature = "output-wasm", wasm_bindgen(js_name = JSCameraInfo))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct CameraInfo { human_name: String, @@ -627,7 +627,7 @@ impl From> for CameraInfo { human_name: dev_desc.name_as_string(), description: "Media Foundation Device".to_string(), misc: dev_desc.link_as_string(), - index: dev_desc.index() as usize, + index: dev_desc.index() as u32, } } } @@ -650,7 +650,7 @@ impl From for CameraInfo { human_name: descriptor.name, description: descriptor.description, misc: descriptor.misc, - index: descriptor.index as usize, + index: descriptor.index as u32, } } } @@ -733,6 +733,8 @@ impl From for KnownCameraControl { MediaFoundationControls::Exposure => KnownCameraControl::Exposure, MediaFoundationControls::Iris => KnownCameraControl::Iris, MediaFoundationControls::Focus => KnownCameraControl::Focus, + MediaFoundationControls::ColorEnable => KnownCameraControl::Other(0), + MediaFoundationControls::Roll => KnownCameraControl::Other(1), } } } @@ -1104,10 +1106,12 @@ pub enum CaptureAPIBackend { Auto, AVFoundation, Video4Linux, - // UniversalVideoClass, + #[deprecated] + UniversalVideoClass, MediaFoundation, OpenCv, - // GStreamer, + #[deprecated] + GStreamer, Network, Browser, }