4#ifndef QWINDOWSCAMERA_H
5#define QWINDOWSCAMERA_H
18#include <QtMultimedia/private/qplatformcamera_p.h>
19#include <QtCore/private/qcomptr_p.h>
35 void setCamera(
const QCameraDevice &camera)
override;
39 QCameraDevice m_cameraDevice;
40 std::unique_ptr<ActiveCamera> m_active;
bool setFormat(const QCameraFormat &format)
static std::unique_ptr< ActiveCamera > create(QWindowsCamera &wc, const QCameraDevice &device, const QCameraFormat &format)
void onReadSample(HRESULT status, LONGLONG timestamp, IMFSample *sample)
STDMETHODIMP OnReadSample(HRESULT status, DWORD, DWORD, LONGLONG timestamp, IMFSample *sample) override
STDMETHODIMP OnEvent(DWORD, IMFMediaEvent *) override
STDMETHODIMP OnFlush(DWORD) override
void setActiveCamera(ActiveCamera *activeCamera)
~CameraReaderCallback() override=default
bool setCameraFormat(const QCameraFormat &) override
bool isActive() const override
void setCamera(const QCameraDevice &camera) override
void setActive(bool active) override
~QWindowsCamera() override
static int calculateVideoFrameStride(IMFMediaType *videoType, int width)
static bool setCameraReaderFormat(IMFSourceReader *sourceReader, IMFMediaType *videoType)
static ComPtr< IMFSourceReader > createCameraReader(IMFMediaSource *mediaSource, const ComPtr< CameraReaderCallback > &callback)
static ComPtr< IMFMediaType > findVideoType(IMFSourceReader *reader, const QCameraFormat &format)
static ComPtr< IMFMediaSource > createCameraSource(const QString &deviceId)