File indexing completed on 2025-01-19 03:57:06
0001 /********************************************************* 0002 * Copyright (C) 2020, Val Doroshchuk <valbok@gmail.com> * 0003 * * 0004 * This file is part of QtAVPlayer. * 0005 * Free Qt Media Player based on FFmpeg. * 0006 *********************************************************/ 0007 0008 #ifndef QAVVIDEOBUFFER_P_H 0009 #define QAVVIDEOBUFFER_P_H 0010 0011 // 0012 // W A R N I N G 0013 // ------------- 0014 // 0015 // This file is not part of the Qt API. It exists purely as an 0016 // implementation detail. This header file may change from version to 0017 // version without notice, or even be removed. 0018 // 0019 // We mean it. 0020 // 0021 0022 #include <QtAVPlayer/qavvideoframe.h> 0023 #include <QVariant> 0024 0025 QT_BEGIN_NAMESPACE 0026 0027 class QRhi; 0028 class QAVVideoBuffer 0029 { 0030 public: 0031 QAVVideoBuffer() = default; 0032 explicit QAVVideoBuffer(const QAVVideoFrame &frame) : m_frame(frame) { } 0033 virtual ~QAVVideoBuffer() = default; 0034 const QAVVideoFrame &frame() const { return m_frame; } 0035 0036 virtual QAVVideoFrame::MapData map() = 0; 0037 virtual QAVVideoFrame::HandleType handleType() const { return QAVVideoFrame::NoHandle; } 0038 virtual QVariant handle(QRhi */*rhi*/ = nullptr) const { return {}; } 0039 protected: 0040 QAVVideoFrame m_frame; 0041 }; 0042 0043 QT_END_NAMESPACE 0044 0045 #endif