uvc_frame Struct Reference
Streaming control functions

An image frame received from the UVC device. More...

`#include <libuvc.h>`

## Data Fields

void * | data
| Image data for this frame.
size_t | data_bytes
| Size of image data buffer.
uint32_t | width
| Width of image in pixels.
uint32_t | height
| Height of image in pixels.
enum uvc_frame_format | frame_format
| Pixel data format.
size_t | step
| Number of bytes per horizontal line (undefined for compressed format)
uint32_t | sequence
| Frame number (may skip, but is strictly monotonically increasing)
struct timeval | capture_time
| Estimate of system time when the device started capturing the image.
struct timespec | capture_time_finished
| Estimate of system time when the device finished receiving the image.
uvc_device_handle_t * | source
| Handle on the device that produced the image.
uint8_t | library_owns_data
| Is the data buffer owned by the library? If 1, the data buffer can be arbitrarily reallocated by frame conversion functions.
void * | metadata
| Metadata for this frame if available.
size_t | metadata_bytes
| Size of metadata buffer.

## Detailed Description

An image frame received from the UVC device.

## Field Documentation

## source

uvc_device_handle_t* uvc_frame::source

Handle on the device that produced the image.

Warning
  You must not call any uvc_* functions during a callback.

## library_owns_data

uint8_t uvc_frame::library_owns_data

Is the data buffer owned by the library? If 1, the data buffer can be arbitrarily reallocated by frame conversion functions.

If 0, the data buffer will not be reallocated or freed by the library. Set this field to zero if you are supplying the buffer.

The documentation for this struct was generated from the following file:

- libuvc.h