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
qv4l2filedescriptor.cpp
Go to the documentation of this file.
1
// Copyright (C) 2023 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
#
include
"qv4l2filedescriptor_p.h"
5
6
#
include
<
QtMultimedia
/
private
/
qmultimediautils_p
.
h
>
7
#
include
<
QtCore
/
private
/
qcore_unix_p
.
h
>
8
9
QT_BEGIN_NAMESPACE
10
11
namespace
QtV4L2
{
12
13
QV4L2FileDescriptor
::
QV4L2FileDescriptor
(QUniqueFileDescriptorHandle descriptor)
14
:
QUniqueFileDescriptorHandle
(
std
::
move
(
descriptor
))
15
{
16
Q_ASSERT(isValid());
17
}
18
19
bool
QV4L2FileDescriptor
::call(
int
request,
void
*arg)
const
20
{
21
return
QtMultimediaPrivate::qt_safe_ioctl(get(), request, arg) >= 0;
22
}
23
24
bool
QV4L2FileDescriptor
::
requestBuffers
(v4l2_memory memoryType, quint32 &buffersCount)
const
25
{
26
v4l2_requestbuffers req = {};
27
req.count = buffersCount;
28
req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
29
req.memory = memoryType;
30
31
if
(!call(VIDIOC_REQBUFS, &req))
32
return
false
;
33
34
buffersCount = req.count;
35
return
true
;
36
}
37
38
bool
QV4L2FileDescriptor
::
startStream
()
39
{
40
int
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
41
if
(!call(VIDIOC_STREAMON, &type))
42
return
false
;
43
44
m_streamStarted =
true
;
45
return
true
;
46
}
47
48
bool
QV4L2FileDescriptor
::
stopStream
()
49
{
50
int
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
51
auto
result = call(VIDIOC_STREAMOFF, &type);
52
m_streamStarted =
false
;
53
return
result;
54
}
55
56
}
// namespace QtV4L2
57
58
QT_END_NAMESPACE
QtV4L2::QV4L2FileDescriptor
Definition
qv4l2filedescriptor_p.h:29
QtV4L2::QV4L2FileDescriptor::stopStream
bool stopStream()
Definition
qv4l2filedescriptor.cpp:48
QtV4L2::QV4L2FileDescriptor::requestBuffers
bool requestBuffers(v4l2_memory memoryType, quint32 &buffersCount) const
Definition
qv4l2filedescriptor.cpp:24
QtV4L2::QV4L2FileDescriptor::startStream
bool startStream()
Definition
qv4l2filedescriptor.cpp:38
QtV4L2::QV4L2FileDescriptor::QV4L2FileDescriptor
QV4L2FileDescriptor(QUniqueFileDescriptorHandle descriptor)
Definition
qv4l2filedescriptor.cpp:13
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtV4L2
Definition
qv4l2camera.cpp:18
qtmultimedia
src
multimedia
v4l2
qv4l2filedescriptor.cpp
Generated on
for Qt by
1.16.1