|
Monado OpenXR Runtime
|
Userspace UVC frameserver implementation. More...
#include "util/u_debug.h"#include "math/m_api.h"#include "uvc_internal.h"#include <assert.h>#include <errno.h>#include <libusb.h>#include <stdbool.h>#include <stdint.h>#include <stdio.h>#include <stdlib.h>#include <string.h>
Macros | |
| #define | UVC_TRACE(d, ...) U_LOG_IFL_T(d->log_level, __VA_ARGS__) |
| #define | UVC_DEBUG(d, ...) U_LOG_IFL_D(d->log_level, __VA_ARGS__) |
| #define | UVC_INFO(d, ...) U_LOG_IFL_I(d->log_level, __VA_ARGS__) |
| #define | UVC_WARN(d, ...) U_LOG_IFL_W(d->log_level, __VA_ARGS__) |
| #define | UVC_ERROR(d, ...) U_LOG_IFL_E(d->log_level, __VA_ARGS__) |
| #define | SET_CUR 0x01 |
| #define | GET_CUR 0x81 |
| #define | TIMEOUT 1000 |
| #define | CONTROL_IFACE 0 |
| #define | VS_PROBE_CONTROL 1 |
| #define | VS_COMMIT_CONTROL 2 |
| #define | VERBOSE_DEBUG 0 |
Functions | |
| static struct uvc_fs * | uvc_fs (struct xrt_fs *xfs) |
| Cast to derived type. | |
| static void | uvc_stream_release_frame (struct xrt_frame *frame) |
| int | uvc_set_cur (libusb_device_handle *dev, uint8_t usb_interface, uint8_t entity, uint8_t selector, void *data, uint16_t data_length) |
| int | uvc_get_cur (libusb_device_handle *dev, uint8_t usb_interface, uint8_t entity, uint8_t selector, void *data, uint16_t data_length) |
| void | process_payload (struct uvc_fs *stream, unsigned char *payload, size_t len) |
| void | uvc_fs_set_source_timestamp_callback (struct xrt_fs *fs, get_frame_timestamp_t callback, void *user_data) |
| static void | iso_transfer_cb (struct libusb_transfer *transfer) |
| static bool | uvc_fs_enumerate_modes (struct xrt_fs *xfs, struct xrt_fs_mode **out_modes, uint32_t *out_count) |
| static bool | uvc_fs_configure_capture (struct xrt_fs *xfs, struct xrt_fs_capture_parameters *cp) |
| static bool | uvc_fs_is_running (struct xrt_fs *xfs) |
| bool | uvc_fs_stream_stop (struct xrt_fs *xfs) |
| bool | uvc_fs_stream_start (struct xrt_fs *xfs, struct xrt_frame_sink *xs, enum xrt_fs_capture_type capture_type, uint32_t descriptor_index) |
| static void | uvc_fs_node_break_apart (struct xrt_frame_node *node) |
| static void | uvc_fs_node_destroy (struct xrt_frame_node *node) |
| static int | uvc_get_descriptor_ascii (libusb_device_handle *devh, uint8_t index, unsigned char *buf, int buf_len) |
| int | uvc_fs_create (libusb_context *usb_ctx, libusb_device_handle *devh, const struct libusb_device_descriptor *desc, setup_stream_parameters_callback_t setup_stream_parameters_callback, post_init_callback_t post_init_callback, void *user_data, struct xrt_frame_context *xfctx, struct xrt_fs **out_stream) |
| int | uvc_fs_destroy (struct xrt_fs *xfs) |
Userspace UVC frameserver implementation.