Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qwindowscamera_p.h
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QWINDOWSCAMERA_H
5#define QWINDOWSCAMERA_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtMultimedia/private/qplatformcamera_p.h>
19#include <QtCore/private/qcomptr_p.h>
20
21QT_BEGIN_NAMESPACE
22
23class ActiveCamera;
24
26{
28
29public:
30 explicit QWindowsCamera(QCamera *parent);
32
33 bool isActive() const override { return bool(m_active); }
34 void setActive(bool active) override;
35 void setCamera(const QCameraDevice &camera) override;
36 bool setCameraFormat(const QCameraFormat &/*format*/) override;
37
38private:
39 QCameraDevice m_cameraDevice;
40 std::unique_ptr<ActiveCamera> m_active;
41};
42
43QT_END_NAMESPACE
44
45#endif //QWINDOWSCAMERA_H
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
\inmodule QtCore
Definition qmutex.h:332
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)