#include <mf-uvc.h>
Public Member Functions | |
void | close (stream_profile profile) override |
IAMCameraControl * | get_camera_control () const |
std::string | get_device_location () const override |
power_state | get_power_state () const override |
std::vector< stream_profile > | get_profiles () const override |
bool | get_pu (rs2_option opt, int32_t &value) const override |
control_range | get_pu_range (rs2_option opt) const override |
usb_spec | get_usb_specification () const override |
IAMVideoProcAmp * | get_video_proc () const |
bool | get_xu (const extension_unit &xu, uint8_t ctrl, uint8_t *data, int len) const override |
control_range | get_xu_range (const extension_unit &xu, uint8_t ctrl, int len) const override |
void | init_xu (const extension_unit &xu) override |
void | lock () const override |
void | probe_and_commit (stream_profile profile, frame_callback callback, int buffers) override |
void | set_power_state (power_state state) override |
bool | set_pu (rs2_option opt, int value) override |
bool | set_xu (const extension_unit &xu, uint8_t ctrl, const uint8_t *data, int len) override |
void | start_callbacks () override |
void | stop_callbacks () override |
void | stream_on (std::function< void(const notification &n)> error_handler=[](const notification &n){}) override |
void | unlock () const override |
wmf_uvc_device (const uvc_device_info &info, std::shared_ptr< const wmf_backend > backend) | |
~wmf_uvc_device () | |
Public Member Functions inherited from librealsense::platform::uvc_device | |
virtual bool | set_pu (rs2_option opt, int32_t value)=0 |
virtual | ~uvc_device ()=default |
Static Public Member Functions | |
static void | foreach_uvc_device (enumeration_callback action) |
static bool | is_connected (const uvc_device_info &info) |
Private Member Functions | |
void | check_connection () const |
void | close_all () |
CComPtr< IMFAttributes > | create_device_attrs () |
CComPtr< IMFAttributes > | create_reader_attrs () |
void | flush (int sIndex) |
void | foreach_profile (std::function< void(const mf_profile &profile, CComPtr< IMFMediaType > media_type, bool &quit)> action) const |
IKsControl * | get_ks_control (const extension_unit &xu) const |
void | play_profile (stream_profile profile, frame_callback callback) |
void | set_d0 () |
void | set_d3 () |
void | stop_stream_cleanup (const stream_profile &profile, std::vector< profile_and_callback >::iterator &elem) |
Private Attributes | |
std::shared_ptr< const wmf_backend > | _backend |
CComPtr< IAMCameraControl > | _camera_control = nullptr |
CComPtr< IMFAttributes > | _device_attrs = nullptr |
std::wstring | _device_id |
std::string | _device_serial |
usb_spec | _device_usb_spec |
std::vector< frame_callback > | _frame_callbacks |
manual_reset_event | _has_started |
const uvc_device_info | _info |
auto_reset_event | _is_flushed |
std::atomic< bool > | _is_started = false |
std::unordered_map< int, CComPtr< IKsControl > > | _ks_controls |
std::string | _location |
power_state | _power_state = D3 |
std::vector< stream_profile > | _profiles |
CComPtr< IMFSourceReader > | _reader = nullptr |
CComPtr< IMFAttributes > | _reader_attrs = nullptr |
HRESULT | _readsample_result = S_OK |
CComPtr< IMFMediaSource > | _source = nullptr |
uint16_t | _streamIndex |
bool | _streaming = false |
std::vector< profile_and_callback > | _streams |
std::mutex | _streams_mutex |
named_mutex | _systemwide_lock |
CComPtr< IAMVideoProcAmp > | _video_proc = nullptr |
Friends | |
class | source_reader_callback |
Additional Inherited Members | |
Protected Attributes inherited from librealsense::platform::uvc_device | |
std::function< void(const notification &n)> | _error_handler |
librealsense::platform::wmf_uvc_device::wmf_uvc_device | ( | const uvc_device_info & | info, |
std::shared_ptr< const wmf_backend > | backend | ||
) |
Definition at line 772 of file mf-uvc.cpp.
librealsense::platform::wmf_uvc_device::~wmf_uvc_device | ( | ) |
Definition at line 805 of file mf-uvc.cpp.
|
private |
Definition at line 1165 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 1116 of file mf-uvc.cpp.
|
private |
Definition at line 1171 of file mf-uvc.cpp.
|
private |
Definition at line 827 of file mf-uvc.cpp.
|
private |
Definition at line 837 of file mf-uvc.cpp.
|
private |
Definition at line 1145 of file mf-uvc.cpp.
|
private |
Definition at line 881 of file mf-uvc.cpp.
|
static |
Definition at line 710 of file mf-uvc.cpp.
IAMCameraControl * librealsense::platform::wmf_uvc_device::get_camera_control | ( | ) | const |
Definition at line 1046 of file mf-uvc.cpp.
|
inlineoverridevirtual |
Implements librealsense::platform::uvc_device.
|
private |
Definition at line 252 of file mf-uvc.cpp.
|
inlineoverridevirtual |
Implements librealsense::platform::uvc_device.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 946 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 499 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 671 of file mf-uvc.cpp.
|
inlineoverridevirtual |
Implements librealsense::platform::uvc_device.
IAMVideoProcAmp * librealsense::platform::wmf_uvc_device::get_video_proc | ( | ) | const |
Definition at line 1037 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 304 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 394 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 259 of file mf-uvc.cpp.
|
static |
Definition at line 242 of file mf-uvc.cpp.
|
inlineoverridevirtual |
Implements librealsense::platform::uvc_device.
|
private |
Definition at line 962 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 1028 of file mf-uvc.cpp.
|
private |
Definition at line 849 of file mf-uvc.cpp.
|
private |
Definition at line 869 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 758 of file mf-uvc.cpp.
|
override |
Definition at line 546 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 282 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 1082 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 1087 of file mf-uvc.cpp.
|
private |
Definition at line 1092 of file mf-uvc.cpp.
|
overridevirtual |
Implements librealsense::platform::uvc_device.
Definition at line 1055 of file mf-uvc.cpp.
|
inlineoverridevirtual |
Implements librealsense::platform::uvc_device.
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |