summaryrefslogtreecommitdiffstats
path: root/src/multimedia/video
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-03-02 16:14:06 +0100
committerLars Knoll <lars.knoll@qt.io>2021-03-16 07:43:33 +0000
commitf54013932c0e36092598dd96f4c1e4cc10cf75fe (patch)
tree12ec4e065f38bf0097cd05cd00a1c54bd12ba9d1 /src/multimedia/video
parenteffd82bac068995cdc059e7f8ebec26c219d1dfc (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.cpp13
-rw-r--r--src/multimedia/video/qabstractvideobuffer.h5
-rw-r--r--src/multimedia/video/qabstractvideobuffer_p.h72
-rw-r--r--src/multimedia/video/qimagevideobuffer.cpp33
-rw-r--r--src/multimedia/video/qimagevideobuffer_p.h9
-rw-r--r--src/multimedia/video/qmemoryvideobuffer.cpp35
-rw-r--r--src/multimedia/video/qmemoryvideobuffer_p.h9
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