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
qwindowsmediadevicesession_p.h
Go to the documentation of this file.
1
// Copyright (C) 2021 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
QWINDOWSMEDIADEVICESESSION_H
5
#
define
QWINDOWSMEDIADEVICESESSION_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
/
qaudiodevice
.
h
>
19
#
include
<
QtMultimedia
/
qcamera
.
h
>
20
21
#
include
<
QtMultimedia
/
private
/
qplatformmediarecorder_p
.
h
>
22
#
include
<
QtMultimedia
/
private
/
qtmultimediaglobal_p
.
h
>
23
#
include
<
QtMultimedia
/
private
/
qwindowsmultimediautils_p
.
h
>
24
#
include
<
QtCore
/
qt_windows
.
h
>
25
26
QT_BEGIN_NAMESPACE
27
28
class
QAudioInput;
29
class
QAudioOutput;
30
class
QVideoSink;
31
class
QWindowsMediaDeviceReader
;
32
33
class
QWindowsMediaDeviceSession
:
public
QObject
34
{
35
Q_OBJECT
36
public
:
37
explicit
QWindowsMediaDeviceSession
(
QObject
*
parent
=
nullptr
);
38
~
QWindowsMediaDeviceSession
();
39
40
bool
isActive
()
const
;
41
void
setActive
(
bool
active);
42
43
bool
isActivating
()
const
;
44
45
void
setActiveCamera
(
const
QCameraDevice &camera);
46
QCameraDevice
activeCamera
()
const
;
47
48
void
setCameraFormat
(
const
QCameraFormat &cameraFormat);
49
50
void
setVideoSink
(QVideoSink *surface);
51
52
public
Q_SLOTS
:
53
void
setAudioInputMuted
(
bool
muted
);
54
void
setAudioInputVolume
(
float
volume);
55
void
audioInputDeviceChanged
();
56
void
setAudioOutputMuted
(
bool
muted);
57
void
setAudioOutputVolume
(
float
volume);
58
void
audioOutputDeviceChanged
();
59
60
public
:
61
void
setAudioInput
(QAudioInput *input);
62
void
setAudioOutput
(QAudioOutput *output);
63
64
QMediaRecorder
::
Error
startRecording
(QMediaEncoderSettings &settings,
const
QString &fileName,
bool
audioOnly);
65
void
stopRecording
();
66
bool
pauseRecording
();
67
bool
resumeRecording
();
68
69
Q_SIGNALS
:
70
void
activeChanged
(
bool
);
71
void
readyForCaptureChanged
(
bool
);
72
void
durationChanged
(qint64 duration);
73
void
recordingStarted
();
74
void
recordingStopped
();
75
void
streamingError
(HRESULT errorCode);
76
void
recordingError
(HRESULT errorCode);
77
void
videoFrameChanged
(
const
QVideoFrame &frame);
78
79
private
Q_SLOTS
:
80
void
handleStreamingStarted
();
81
void
handleStreamingStopped();
82
void
handleStreamingError(HRESULT errorCode);
83
void
handleVideoFrameChanged(
const
QVideoFrame &frame);
84
85
private
:
86
void
reactivate();
87
quint32 estimateVideoBitRate(
const
GUID &videoFormat, quint32 width, quint32 height,
88
qreal frameRate, QMediaRecorder::Quality quality);
89
quint32 estimateAudioBitRate(
const
GUID &audioFormat, QMediaRecorder::Quality quality);
90
bool
m_active =
false
;
91
bool
m_activating =
false
;
92
QCameraDevice m_activeCameraDevice;
93
QCameraFormat m_cameraFormat;
94
QWindowsMediaDeviceReader
*m_mediaDeviceReader =
nullptr
;
95
QAudioInput *m_audioInput =
nullptr
;
96
QAudioOutput *m_audioOutput =
nullptr
;
97
QVideoSink *m_surface =
nullptr
;
98
};
99
100
QT_END_NAMESPACE
101
102
#
endif
// QWINDOWSMEDIADEVICESESSION_H
camera
QCamera * camera
Definition
camerasnippets.cpp:19
QCamera
The QCamera class provides interface for system camera devices.
Definition
qcamera.h:25
QWindowsCamera
Definition
qwindowscamera_p.h:26
QWindowsCamera::isActive
bool isActive() const override
Definition
qwindowscamera.cpp:20
QWindowsCamera::setCamera
void setCamera(const QCameraDevice &camera) override
Definition
qwindowscamera.cpp:38
QWindowsCamera::setCaptureSession
void setCaptureSession(QPlatformMediaCaptureSession *) override
Definition
qwindowscamera.cpp:47
QWindowsCamera::setCameraFormat
bool setCameraFormat(const QCameraFormat &format) override
Definition
qwindowscamera.cpp:78
QWindowsCamera::setActive
void setActive(bool active) override
Definition
qwindowscamera.cpp:25
QWindowsMediaCaptureService
Definition
qwindowsmediacapture_p.h:29
QWindowsMediaCaptureService::session
QWindowsMediaDeviceSession * session() const
Definition
qwindowsmediacapture.cpp:104
QWindowsMediaDeviceReader
Definition
qwindowsmediadevicereader_p.h:42
QWindowsMediaDeviceSession
Definition
qwindowsmediadevicesession_p.h:34
QWindowsMediaDeviceSession::setAudioInput
void setAudioInput(QAudioInput *input)
Definition
qwindowsmediadevicesession.cpp:175
QWindowsMediaDeviceSession::streamingError
void streamingError(HRESULT errorCode)
QWindowsMediaDeviceSession::videoFrameChanged
void videoFrameChanged(const QVideoFrame &frame)
QWindowsMediaDeviceSession::setActiveCamera
void setActiveCamera(const QCameraDevice &camera)
Definition
qwindowsmediadevicesession.cpp:92
QWindowsMediaDeviceSession::audioOutputDeviceChanged
void audioOutputDeviceChanged()
Definition
qwindowsmediadevicesession.cpp:169
QWindowsMediaDeviceSession::startRecording
QMediaRecorder::Error startRecording(QMediaEncoderSettings &settings, const QString &fileName, bool audioOnly)
Definition
qwindowsmediadevicesession.cpp:211
QWindowsMediaDeviceSession::resumeRecording
bool resumeRecording()
Definition
qwindowsmediadevicesession.cpp:272
QWindowsMediaDeviceSession::setAudioOutputVolume
void setAudioOutputVolume(float volume)
Definition
qwindowsmediadevicesession.cpp:164
QWindowsMediaDeviceSession::setAudioOutputMuted
void setAudioOutputMuted(bool muted)
Definition
qwindowsmediadevicesession.cpp:159
QWindowsMediaDeviceSession::audioInputDeviceChanged
void audioInputDeviceChanged()
Definition
qwindowsmediadevicesession.cpp:154
QWindowsMediaDeviceSession::stopRecording
void stopRecording()
Definition
qwindowsmediadevicesession.cpp:262
QWindowsMediaDeviceSession::recordingStarted
void recordingStarted()
QWindowsMediaDeviceSession::activeCamera
QCameraDevice activeCamera() const
Definition
qwindowsmediadevicesession.cpp:98
QWindowsMediaDeviceSession::setAudioOutput
void setAudioOutput(QAudioOutput *output)
Definition
qwindowsmediadevicesession.cpp:192
QWindowsMediaDeviceSession::isActive
bool isActive() const
Definition
qwindowsmediadevicesession.cpp:46
QWindowsMediaDeviceSession::setActive
void setActive(bool active)
Definition
qwindowsmediadevicesession.cpp:56
QWindowsMediaDeviceSession::~QWindowsMediaDeviceSession
~QWindowsMediaDeviceSession()
Definition
qwindowsmediadevicesession.cpp:41
QWindowsMediaDeviceSession::setAudioInputVolume
void setAudioInputVolume(float volume)
Definition
qwindowsmediadevicesession.cpp:149
QWindowsMediaDeviceSession::recordingStopped
void recordingStopped()
QWindowsMediaDeviceSession::readyForCaptureChanged
void readyForCaptureChanged(bool)
QWindowsMediaDeviceSession::pauseRecording
bool pauseRecording()
Definition
qwindowsmediadevicesession.cpp:267
QWindowsMediaDeviceSession::durationChanged
void durationChanged(qint64 duration)
QWindowsMediaDeviceSession::setCameraFormat
void setCameraFormat(const QCameraFormat &cameraFormat)
Definition
qwindowsmediadevicesession.cpp:103
QWindowsMediaDeviceSession::isActivating
bool isActivating() const
Definition
qwindowsmediadevicesession.cpp:51
QWindowsMediaDeviceSession::setVideoSink
void setVideoSink(QVideoSink *surface)
Definition
qwindowsmediadevicesession.cpp:108
QWindowsMediaDeviceSession::recordingError
void recordingError(HRESULT errorCode)
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtmultimedia
src
plugins
multimedia
windows
mediacapture
qwindowsmediadevicesession_p.h
Generated on
for Qt by
1.18.0