ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
webcam.h
Go to the documentation of this file.
1#pragma once
2
62#include <stdint.h>
64
65/* ============================================================================
66 * Device Information
67 * @{
68 */
69
74#define WEBCAM_DEVICE_NAME_MAX 256
75
86typedef struct {
87 unsigned int index;
90
119asciichat_error_t webcam_list_devices(webcam_device_info_t **devices, unsigned int *count);
120
131
134/* ============================================================================
135 * High-Level Webcam Interface
136 * @{
137 */
138
151
152/* ============================================================================
153 * Error Handling Helpers
154 * @{
155 */
156
171
174/* ============================================================================
175 * Context-Based Webcam Interface
176 * @{
177 */
178
199asciichat_error_t webcam_init_context(webcam_context_t **ctx, unsigned short int device_index);
200
214
224
242
265
282asciichat_error_t webcam_get_dimensions(webcam_context_t *ctx, int *width, int *height);
283
asciichat_error_t error_code
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:49
asciichat_error_t webcam_init_context(webcam_context_t **ctx, unsigned short int device_index)
Initialize webcam context for advanced operations.
asciichat_error_t webcam_list_devices(webcam_device_info_t **devices, unsigned int *count)
Enumerate available webcam devices.
image_t * webcam_read_async(webcam_context_t *ctx)
Get the most recent frame from async camera thread (non-blocking)
void webcam_free_device_list(webcam_device_info_t *devices)
Free device list returned by webcam_list_devices()
void webcam_flush_context(webcam_context_t *ctx)
Flush/interrupt pending read operations on webcam context.
void webcam_print_init_error_help(asciichat_error_t error_code)
Print helpful error diagnostics for webcam initialization failures.
struct webcam_context_t webcam_context_t
Opaque webcam context structure.
Definition webcam.h:150
asciichat_error_t webcam_get_dimensions(webcam_context_t *ctx, int *width, int *height)
Get webcam frame dimensions.
#define WEBCAM_DEVICE_NAME_MAX
Maximum length of webcam device name.
Definition webcam.h:74
image_t * webcam_read_context(webcam_context_t *ctx)
Capture a frame from webcam context.
void webcam_cleanup_context(webcam_context_t *ctx)
Clean up webcam context and release resources.
Image structure.
Webcam device information structure.
Definition webcam.h:86
unsigned int index
Device index (use with webcam_init_context)
Definition webcam.h:87