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#ifndef QV4L2FILEDESCRIPTOR_P_H
5#define QV4L2FILEDESCRIPTOR_P_H
6
7#include <private/qtmultimediaglobal_p.h>
8
9//
10// W A R N I N G
11// -------------
12//
13// This file is not part of the Qt API. It exists purely as an
14// implementation detail. This header file may change from version to
15// version without notice, or even be removed.
16//
17// We mean it.
18//
19
20QT_BEGIN_NAMESPACE
21
22int xioctl(int fd, int request, void *arg);
23
24class QV4L2FileDescriptor
25{
26public:
27 QV4L2FileDescriptor(int descriptor);
28
29 ~QV4L2FileDescriptor();
30
31 bool call(int request, void *arg) const;
32
33 int get() const { return m_descriptor; }
34
35 bool requestBuffers(quint32 memoryType, quint32 &buffersCount) const;
36
37 bool startStream();
38
39 bool stopStream();
40
41 bool streamStarted() const { return m_streamStarted; }
42
43private:
44 int m_descriptor;
45 bool m_streamStarted = false;
46};
47
48QT_END_NAMESPACE
49
50#endif // QV4L2FILEDESCRIPTOR_P_H
51

source code of qtmultimedia/src/plugins/multimedia/ffmpeg/qv4l2filedescriptor_p.h