Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
capturesessionfixture_p.h
Go to the documentation of this file.
1
// Copyright (C) 2024 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4
#
ifndef
CAPTURESESSIONFIXTURE_P_H
5
#
define
CAPTURESESSIONFIXTURE_P_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
<
private
/
audiogenerationutils_p
.
h
>
19
#
include
<
private
/
framegenerator_p
.
h
>
20
#
include
<
private
/
testvideosink_p
.
h
>
21
22
#
include
<
QtMultimedia
/
qvideoframeinput
.
h
>
23
#
include
<
QtMultimedia
/
qaudioinput
.
h
>
24
#
include
<
QtMultimedia
/
qmediacapturesession
.
h
>
25
#
include
<
QtMultimedia
/
qmediarecorder
.
h
>
26
#
include
<
QtMultimedia
/
qaudiobufferinput
.
h
>
27
#
include
<
QtCore
/
qiodevice
.
h
>
28
#
include
<
QtCore
/
qtemporaryfile
.
h
>
29
#
include
<
QtTest
/
qsignalspy
.
h
>
30
31
#
include
<
optional
>
32
33
QT_BEGIN_NAMESPACE
34
35
enum
class
StreamType { Audio, Video, AudioAndVideo };
36
enum
class
AutoStop
{
EmitEmpty
,
No
};
37
enum
class
RunMode
{
Pull
,
Push
};
38
39
struct
CaptureSessionFixture
40
{
41
explicit
CaptureSessionFixture
(StreamType streamType);
42
~
CaptureSessionFixture
();
43
44
void
setVideoSink
(QVideoSink *videoSink);
45
void
start
(
RunMode
mode,
AutoStop
autoStop,
46
std::optional<QIODevice *> outputDevice =
std
::nullopt);
47
bool
waitForRecorderStopped
(std::chrono::milliseconds duration);
48
bool
hasAudio
()
const
;
49
bool
hasVideo
()
const
;
50
51
VideoGenerator
m_videoGenerator
;
52
AudioGenerator
m_audioGenerator
;
53
QVideoFrameInput
m_videoInput
;
54
QAudioBufferInput
m_audioInput
;
55
QMediaCaptureSession
m_session
;
56
QMediaRecorder
m_recorder
;
57
QTemporaryFile
m_tempFile
;
58
QVideoSink
*
m_videoSink
=
nullptr
;
59
StreamType
m_streamType
= StreamType::Video;
60
61
QSignalSpy
readyToSendVideoFrame
{ &
m_videoInput
, &
QVideoFrameInput
::
readyToSendVideoFrame
};
62
QSignalSpy
readyToSendAudioBuffer
{ &
m_audioInput
, &
QAudioBufferInput
::
readyToSendAudioBuffer
};
63
QSignalSpy
recorderStateChanged
{ &
m_recorder
, &
QMediaRecorder
::
recorderStateChanged
};
64
QSignalSpy
mediaFormatChanged
{ &
m_recorder
, &
QMediaRecorder
::
mediaFormatChanged
};
65
};
66
67
QT_END_NAMESPACE
68
69
#
endif
RunMode
RunMode
Definition
capturesessionfixture_p.h:37
RunMode::Pull
@ Pull
Definition
capturesessionfixture_p.h:37
RunMode::Push
@ Push
Definition
capturesessionfixture_p.h:37
AutoStop
AutoStop
Definition
capturesessionfixture_p.h:36
AutoStop::EmitEmpty
@ EmitEmpty
Definition
capturesessionfixture_p.h:36
AutoStop::No
@ No
Definition
capturesessionfixture_p.h:36
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
CaptureSessionFixture
Definition
capturesessionfixture_p.h:40
CaptureSessionFixture::m_session
QMediaCaptureSession m_session
Definition
capturesessionfixture_p.h:55
CaptureSessionFixture::readyToSendAudioBuffer
QSignalSpy readyToSendAudioBuffer
Definition
capturesessionfixture_p.h:62
CaptureSessionFixture::m_recorder
QMediaRecorder m_recorder
Definition
capturesessionfixture_p.h:56
CaptureSessionFixture::mediaFormatChanged
QSignalSpy mediaFormatChanged
Definition
capturesessionfixture_p.h:64
CaptureSessionFixture::readyToSendVideoFrame
QSignalSpy readyToSendVideoFrame
Definition
capturesessionfixture_p.h:61
CaptureSessionFixture::setVideoSink
void setVideoSink(QVideoSink *videoSink)
Definition
capturesessionfixture.cpp:19
CaptureSessionFixture::recorderStateChanged
QSignalSpy recorderStateChanged
Definition
capturesessionfixture_p.h:63
CaptureSessionFixture::m_videoGenerator
VideoGenerator m_videoGenerator
Definition
capturesessionfixture_p.h:51
CaptureSessionFixture::~CaptureSessionFixture
~CaptureSessionFixture()
Definition
capturesessionfixture.cpp:13
CaptureSessionFixture::waitForRecorderStopped
bool waitForRecorderStopped(std::chrono::milliseconds duration)
Definition
capturesessionfixture.cpp:89
CaptureSessionFixture::start
void start(RunMode mode, AutoStop autoStop, std::optional< QIODevice * > outputDevice=std::nullopt)
Definition
capturesessionfixture.cpp:24
CaptureSessionFixture::m_videoInput
QVideoFrameInput m_videoInput
Definition
capturesessionfixture_p.h:53
CaptureSessionFixture::hasAudio
bool hasAudio() const
Definition
capturesessionfixture.cpp:105
CaptureSessionFixture::m_streamType
StreamType m_streamType
Definition
capturesessionfixture_p.h:59
CaptureSessionFixture::m_videoSink
QVideoSink * m_videoSink
Definition
capturesessionfixture_p.h:58
CaptureSessionFixture::m_tempFile
QTemporaryFile m_tempFile
Definition
capturesessionfixture_p.h:57
CaptureSessionFixture::m_audioInput
QAudioBufferInput m_audioInput
Definition
capturesessionfixture_p.h:54
CaptureSessionFixture::CaptureSessionFixture
CaptureSessionFixture(StreamType streamType)
Definition
capturesessionfixture.cpp:11
CaptureSessionFixture::hasVideo
bool hasVideo() const
Definition
capturesessionfixture.cpp:110
CaptureSessionFixture::m_audioGenerator
AudioGenerator m_audioGenerator
Definition
capturesessionfixture_p.h:52
qtmultimedia
src
multimediatestlib
capturesessionfixture_p.h
Generated on
for Qt by
1.18.0