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#ifndef QFFMPEGVIDEORENDERER_P_H
4#define QFFMPEGVIDEORENDERER_P_H
5
6//
7// W A R N I N G
8// -------------
9//
10// This file is not part of the Qt API. It exists purely as an
11// implementation detail. This header file may change from version to
12// version without notice, or even be removed.
13//
14// We mean it.
15//
16
17#include <QtFFmpegMediaPluginImpl/private/qffmpegrenderer_p.h>
18
19#include <QtMultimedia/private/qvideotransformation_p.h>
20#include <QtCore/qpointer.h>
21
22QT_BEGIN_NAMESPACE
23
24class QVideoSink;
25
26namespace QFFmpeg {
27
28class VideoRenderer : public Renderer
29{
30 Q_OBJECT
31public:
32 VideoRenderer(const TimeController &tc, QVideoSink *sink, const VideoTransformation &transform);
33
34 void setOutput(QVideoSink *sink, bool cleanPrevSink = false);
35
36protected:
37 RenderingResult renderInternal(Frame frame) override;
38
39private:
40 QPointer<QVideoSink> m_sink;
41 VideoTransformation m_transform;
42};
43
44} // namespace QFFmpeg
45
46QT_END_NAMESPACE
47
48#endif // QFFMPEGVIDEORENDERER_P_H
49

source code of qtmultimedia/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegvideorenderer_p.h