4#ifndef QFFMPEGSURFACECAPTUREGRABBER_P_H
5#define QFFMPEGSURFACECAPTUREGRABBER_P_H
19#include <QtMultimedia/private/qplatformsurfacecapture_p.h>
45 template<
typename Object,
typename Method>
48 connect(
this, &QFFmpegSurfaceCaptureGrabber::frameGrabbed, object, method,
49 Qt::DirectConnection);
57 void errorUpdated(QPlatformSurfaceCapture::Error error,
const QString &description);
62 void updateError(QPlatformSurfaceCapture::Error error,
const QString &description = {});
78 std::unique_ptr<GrabbingContext> m_context;
79 std::optional<QPlatformSurfaceCapture::Error> m_prevError;
80 std::unique_ptr<QThread> m_thread;
Grabber(QEglfsScreenCapture &screenCapture, QScreen *screen)
QVideoFrameFormat m_format
QVideoFrameFormat format()
QVideoFrame grabFrame() override
QVideoFrame grabFrame() override
QuickGrabber(QEglfsScreenCapture &screenCapture, QScreen *screen, QQuickWindow *quickWindow)
void updateTimerInterval()
bool isGrabbingContextInitialized() const
virtual void initializeGrabbingContext()
void errorUpdated(QPlatformSurfaceCapture::Error error, const QString &description)
virtual void finalizeGrabbingContext()
void addFrameCallback(Object *object, Method method)
virtual QVideoFrame grabFrame()=0
void setFrameRate(std::optional< qreal >)
~QFFmpegSurfaceCaptureGrabber() override
QFFmpegSurfaceCaptureGrabber(ThreadPolicy threadPolicy=CreateGrabbingThread)
void updateError(QPlatformSurfaceCapture::Error error, const QString &description={})
Combined button and popup list for selecting options.
static constexpr qreal MinScreenCaptureFrameRate
static constexpr qreal DefaultScreenCaptureFrameRate