diff options
Diffstat (limited to 'tests/auto/unit/mockbackend/qmockmediacapturesession.h')
-rw-r--r-- | tests/auto/unit/mockbackend/qmockmediacapturesession.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/tests/auto/unit/mockbackend/qmockmediacapturesession.h b/tests/auto/unit/mockbackend/qmockmediacapturesession.h new file mode 100644 index 000000000..0a2d3fb60 --- /dev/null +++ b/tests/auto/unit/mockbackend/qmockmediacapturesession.h @@ -0,0 +1,86 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#ifndef QMOCKMEDIACAPTURESESSION_H +#define QMOCKMEDIACAPTURESESSION_H + +#include "qmockmediaencoder.h" +#include "qmockimagecapture.h" +#include "qmockcamera.h" +#include "qmockimagecapture.h" +#include "qmocksurfacecapture.h" +#include <private/qplatformmediacapture_p.h> + +QT_BEGIN_NAMESPACE + +class QMockMediaCaptureSession : public QPlatformMediaCaptureSession +{ +public: + QMockMediaCaptureSession() + : hasControls(true) + { + } + ~QMockMediaCaptureSession() + { + } + + QPlatformCamera *camera() override { return hasControls ? mockCameraControl : nullptr; } + + void setCamera(QPlatformCamera *camera) override + { + QMockCamera *control = static_cast<QMockCamera *>(camera); + if (mockCameraControl == control) + return; + + mockCameraControl = control; + } + + void setImageCapture(QPlatformImageCapture *imageCapture) override + { + mockImageCapture = imageCapture; + } + QPlatformImageCapture *imageCapture() override { return hasControls ? mockImageCapture : nullptr; } + + QPlatformMediaRecorder *mediaRecorder() override { return hasControls ? mockControl : nullptr; } + void setMediaRecorder(QPlatformMediaRecorder *recorder) override + { + if (!hasControls) { + mockControl = nullptr; + return; + } + QMockMediaEncoder *control = static_cast<QMockMediaEncoder *>(recorder); + if (mockControl == control) + return; + + mockControl = control; + } + + void setVideoPreview(QVideoSink *) override {} + + void setAudioInput(QPlatformAudioInput *input) override + { + m_audioInput = input; + } + + QPlatformSurfaceCapture *screenCapture() override { return m_screenCapture; } + void setScreenCapture(QPlatformSurfaceCapture *capture) override { m_screenCapture = capture; } + + QPlatformSurfaceCapture *windowCapture() override { return m_windowCapture; } + void setWindowCapture(QPlatformSurfaceCapture *capture) override { m_windowCapture = capture; } + + QPlatformVideoFrameInput *videoFrameInput() override { return m_videoFrameInput; } + void setVideoFrameInput(QPlatformVideoFrameInput *input) override { m_videoFrameInput = input; } + + QMockCamera *mockCameraControl = nullptr; + QPlatformImageCapture *mockImageCapture = nullptr; + QMockMediaEncoder *mockControl = nullptr; + QPlatformAudioInput *m_audioInput = nullptr; + QPlatformSurfaceCapture *m_screenCapture = nullptr; + QPlatformSurfaceCapture *m_windowCapture = nullptr; + QPlatformVideoFrameInput *m_videoFrameInput = nullptr; + bool hasControls; +}; + +QT_END_NAMESPACE + +#endif // QMOCKMEDIACAPTURESESSION_H |