Class VideoGrabber#

Inheritance Relationships#

Base Type#

  • public QThread

Class Documentation#

class VideoGrabber : public QThread#

Public Functions

explicit VideoGrabber(int cameraIndex, const CameraParameters &params, RingBuffer<std::shared_ptr<VideoFrame>> &frameBuffer, QObject *parent = nullptr)#
~VideoGrabber() override#
bool open()#
void close()#
void apply_live_params()#
void start_grabbing()#
void stop_grabbing()#
void request_calibration_frame(uint64_t token = 0)#
bool is_actually_grabbing() const#
bool is_open() const#
int64_t frames_grabbed() const#
int64_t frames_dropped() const#
double current_fps() const#
int64_t last_frame_elapsed_ns() const#
bool action_command_ready() const#
uint32_t action_device_key() const#
QString action_broadcast_address() const#
double configured_fps() const#
double achievable_fps() const#

Signals

void opened(int cameraIndex, int width, int height, double fps)#
void closed(int cameraIndex)#
void frame_dropped(int cameraIndex, int64_t frameId)#
void grab_error(int cameraIndex, QString message)#
void preview_frame(int cameraIndex, QImage frame)#
void calibration_frame_ready(int cameraIndex, QImage frame, uint64_t token)#
void action_command_capability(int cameraIndex, bool supported)#

Public Static Functions

static QVector<DiscoveredCamera> enumerate_devices()#

Protected Functions

void run() override#