diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-03-02 16:14:06 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-03-16 07:43:33 +0000 |
commit | f54013932c0e36092598dd96f4c1e4cc10cf75fe (patch) | |
tree | 12ec4e065f38bf0097cd05cd00a1c54bd12ba9d1 /src/multimedia/video | |
parent | effd82bac068995cdc059e7f8ebec26c219d1dfc (diff) |
Get rid of QAbstractVideoBufferPrivate
We don't need any d-pointers here, as the class is becoming
private anyway.
Change-Id: I8a7a832c050f0f1e197a284fcb1e98f6c5534447
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/video')
-rw-r--r-- | src/multimedia/video/qabstractvideobuffer.cpp | 13 | ||||
-rw-r--r-- | src/multimedia/video/qabstractvideobuffer.h | 5 | ||||
-rw-r--r-- | src/multimedia/video/qabstractvideobuffer_p.h | 72 | ||||
-rw-r--r-- | src/multimedia/video/qimagevideobuffer.cpp | 33 | ||||
-rw-r--r-- | src/multimedia/video/qimagevideobuffer_p.h | 9 | ||||
-rw-r--r-- | src/multimedia/video/qmemoryvideobuffer.cpp | 35 | ||||
-rw-r--r-- | src/multimedia/video/qmemoryvideobuffer_p.h | 9 |
7 files changed, 30 insertions, 146 deletions
diff --git a/src/multimedia/video/qabstractvideobuffer.cpp b/src/multimedia/video/qabstractvideobuffer.cpp index 27d196d1d..461820511 100644 --- a/src/multimedia/video/qabstractvideobuffer.cpp +++ b/src/multimedia/video/qabstractvideobuffer.cpp @@ -37,7 +37,7 @@ ** ****************************************************************************/ -#include "qabstractvideobuffer_p.h" +#include "qabstractvideobuffer.h" #include <qvariant.h> @@ -114,21 +114,10 @@ QAbstractVideoBuffer::QAbstractVideoBuffer(QVideoFrame::HandleType type) } /*! - \internal -*/ -QAbstractVideoBuffer::QAbstractVideoBuffer(QAbstractVideoBufferPrivate &dd, QVideoFrame::HandleType type) - : d_ptr(&dd) - , m_type(type) -{ - d_ptr->q_ptr = this; -} - -/*! Destroys an abstract video buffer. */ QAbstractVideoBuffer::~QAbstractVideoBuffer() { - delete d_ptr; } /*! diff --git a/src/multimedia/video/qabstractvideobuffer.h b/src/multimedia/video/qabstractvideobuffer.h index c11217182..bc4eee40e 100644 --- a/src/multimedia/video/qabstractvideobuffer.h +++ b/src/multimedia/video/qabstractvideobuffer.h @@ -51,8 +51,6 @@ QT_BEGIN_NAMESPACE class QVariant; -class QAbstractVideoBufferPrivate; - class Q_MULTIMEDIA_EXPORT QAbstractVideoBuffer { public: @@ -76,9 +74,6 @@ public: virtual QVariant handle() const; protected: - QAbstractVideoBuffer(QAbstractVideoBufferPrivate &dd, QVideoFrame::HandleType type); - - QAbstractVideoBufferPrivate *d_ptr = nullptr; // currently unused QVideoFrame::HandleType m_type; private: diff --git a/src/multimedia/video/qabstractvideobuffer_p.h b/src/multimedia/video/qabstractvideobuffer_p.h deleted file mode 100644 index ff3f5e0ba..000000000 --- a/src/multimedia/video/qabstractvideobuffer_p.h +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QABSTRACTVIDEOBUFFER_P_H -#define QABSTRACTVIDEOBUFFER_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtCore/qshareddata.h> -#include "qabstractvideobuffer.h" - -#include <qtmultimediaglobal.h> -#include <qmultimedia.h> - - -QT_BEGIN_NAMESPACE - -class QAbstractVideoBufferPrivate -{ -public: - QAbstractVideoBuffer *q_ptr = nullptr; -}; - -QT_END_NAMESPACE - - -#endif diff --git a/src/multimedia/video/qimagevideobuffer.cpp b/src/multimedia/video/qimagevideobuffer.cpp index d6c854f45..58ec66fa1 100644 --- a/src/multimedia/video/qimagevideobuffer.cpp +++ b/src/multimedia/video/qimagevideobuffer.cpp @@ -39,10 +39,7 @@ #include "qimagevideobuffer_p.h" -#include "qabstractvideobuffer_p.h" - #include <qimage.h> -#include <qvariant.h> QT_BEGIN_NAMESPACE @@ -52,40 +49,30 @@ QT_BEGIN_NAMESPACE * * A video buffer class for a QImage. */ -class QImageVideoBufferPrivate : public QAbstractVideoBufferPrivate -{ -public: - QVideoFrame::MapMode mapMode = QVideoFrame::NotMapped; - QImage image; -}; QImageVideoBuffer::QImageVideoBuffer(const QImage &image) - : QAbstractVideoBuffer(*new QImageVideoBufferPrivate, QVideoFrame::NoHandle) + : QAbstractVideoBuffer(QVideoFrame::NoHandle) { - Q_D(QImageVideoBuffer); - - d->image = image; + this->image = image; } QImageVideoBuffer::~QImageVideoBuffer() = default; QVideoFrame::MapMode QImageVideoBuffer::mapMode() const { - return d_func()->mapMode; + return m_mapMode; } QImageVideoBuffer::MapData QImageVideoBuffer::map(QVideoFrame::MapMode mode) { - Q_D(QImageVideoBuffer); - MapData mapData; - if (d->mapMode == QVideoFrame::NotMapped && d->image.bits() && mode != QVideoFrame::NotMapped) { - d->mapMode = mode; + if (m_mapMode == QVideoFrame::NotMapped && image.bits() && mode != QVideoFrame::NotMapped) { + m_mapMode = mode; - mapData.nBytes = int(d->image.sizeInBytes()); + mapData.nBytes = int(image.sizeInBytes()); mapData.nPlanes = 1; - mapData.bytesPerLine[0] = d->image.bytesPerLine(); - mapData.data[0] = d->image.bits(); + mapData.bytesPerLine[0] = image.bytesPerLine(); + mapData.data[0] = image.bits(); } return mapData; @@ -93,9 +80,7 @@ QImageVideoBuffer::MapData QImageVideoBuffer::map(QVideoFrame::MapMode mode) void QImageVideoBuffer::unmap() { - Q_D(QImageVideoBuffer); - - d->mapMode = QVideoFrame::NotMapped; + m_mapMode = QVideoFrame::NotMapped; } QT_END_NAMESPACE diff --git a/src/multimedia/video/qimagevideobuffer_p.h b/src/multimedia/video/qimagevideobuffer_p.h index 437d8356b..ac3fc5eca 100644 --- a/src/multimedia/video/qimagevideobuffer_p.h +++ b/src/multimedia/video/qimagevideobuffer_p.h @@ -52,17 +52,14 @@ // #include <qabstractvideobuffer.h> +#include <qvideoframe.h> QT_BEGIN_NAMESPACE - class QImage; -class QImageVideoBufferPrivate; - class Q_MULTIMEDIA_EXPORT QImageVideoBuffer : public QAbstractVideoBuffer { - Q_DECLARE_PRIVATE(QImageVideoBuffer) public: QImageVideoBuffer(const QImage &image); ~QImageVideoBuffer(); @@ -71,6 +68,10 @@ public: MapData map(QVideoFrame::MapMode mode) override; void unmap() override; + +private: + QVideoFrame::MapMode m_mapMode = QVideoFrame::NotMapped; + QImage image; }; QT_END_NAMESPACE diff --git a/src/multimedia/video/qmemoryvideobuffer.cpp b/src/multimedia/video/qmemoryvideobuffer.cpp index 8ad0fd119..bd505ecf2 100644 --- a/src/multimedia/video/qmemoryvideobuffer.cpp +++ b/src/multimedia/video/qmemoryvideobuffer.cpp @@ -39,19 +39,8 @@ #include "qmemoryvideobuffer_p.h" -#include "qabstractvideobuffer_p.h" -#include <qbytearray.h> - QT_BEGIN_NAMESPACE -class QMemoryVideoBufferPrivate : public QAbstractVideoBufferPrivate -{ -public: - int bytesPerLine = 0; - QVideoFrame::MapMode mapMode = QVideoFrame::NotMapped; - QByteArray data; -}; - /*! \class QMemoryVideoBuffer \brief The QMemoryVideoBuffer class provides a system memory allocated video data buffer. @@ -65,12 +54,10 @@ public: Constructs a video buffer with an image stride of \a bytesPerLine from a byte \a array. */ QMemoryVideoBuffer::QMemoryVideoBuffer(const QByteArray &array, int bytesPerLine) - : QAbstractVideoBuffer(*new QMemoryVideoBufferPrivate, QVideoFrame::NoHandle) + : QAbstractVideoBuffer(QVideoFrame::NoHandle) { - Q_D(QMemoryVideoBuffer); - - d->data = array; - d->bytesPerLine = bytesPerLine; + data = array; + this->bytesPerLine = bytesPerLine; } /*! @@ -83,7 +70,7 @@ QMemoryVideoBuffer::~QMemoryVideoBuffer() = default; */ QVideoFrame::MapMode QMemoryVideoBuffer::mapMode() const { - return d_func()->mapMode; + return m_mapMode; } /*! @@ -91,16 +78,14 @@ QVideoFrame::MapMode QMemoryVideoBuffer::mapMode() const */ QAbstractVideoBuffer::MapData QMemoryVideoBuffer::map(QVideoFrame::MapMode mode) { - Q_D(QMemoryVideoBuffer); - MapData mapData; - if (d->mapMode == QVideoFrame::NotMapped && d->data.size() && mode != QVideoFrame::NotMapped) { - d->mapMode = mode; + if (m_mapMode == QVideoFrame::NotMapped && data.size() && mode != QVideoFrame::NotMapped) { + m_mapMode = mode; - mapData.nBytes = d->data.size(); + mapData.nBytes = data.size(); mapData.nPlanes = 1; - mapData.bytesPerLine[0] = d->bytesPerLine; - mapData.data[0] = reinterpret_cast<uchar *>(d->data.data()); + mapData.bytesPerLine[0] = bytesPerLine; + mapData.data[0] = reinterpret_cast<uchar *>(data.data()); } return mapData; @@ -111,7 +96,7 @@ QAbstractVideoBuffer::MapData QMemoryVideoBuffer::map(QVideoFrame::MapMode mode) */ void QMemoryVideoBuffer::unmap() { - d_func()->mapMode = QVideoFrame::NotMapped; + m_mapMode = QVideoFrame::NotMapped; } QT_END_NAMESPACE diff --git a/src/multimedia/video/qmemoryvideobuffer_p.h b/src/multimedia/video/qmemoryvideobuffer_p.h index 5f5af9782..01d944e85 100644 --- a/src/multimedia/video/qmemoryvideobuffer_p.h +++ b/src/multimedia/video/qmemoryvideobuffer_p.h @@ -41,6 +41,7 @@ #define QMEMORYVIDEOBUFFER_P_H #include <qabstractvideobuffer.h> +#include <qvideoframe.h> // // W A R N I N G @@ -55,12 +56,8 @@ QT_BEGIN_NAMESPACE - -class QMemoryVideoBufferPrivate; - class Q_MULTIMEDIA_EXPORT QMemoryVideoBuffer : public QAbstractVideoBuffer { - Q_DECLARE_PRIVATE(QMemoryVideoBuffer) public: QMemoryVideoBuffer(const QByteArray &data, int bytesPerLine); ~QMemoryVideoBuffer(); @@ -69,6 +66,10 @@ public: MapData map(QVideoFrame::MapMode mode) override; void unmap() override; + + int bytesPerLine = 0; + QVideoFrame::MapMode m_mapMode = QVideoFrame::NotMapped; + QByteArray data; }; QT_END_NAMESPACE |