summaryrefslogtreecommitdiffstats
path: root/src/multimedia/video/qabstractvideobuffer.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-01-04 12:31:09 +0100
committerLars Knoll <lars.knoll@qt.io>2021-01-22 06:58:14 +0000
commitcfaa21174e72dc00d073f3d6f6ce7f68330afff9 (patch)
treed925688c02c5e6d9c596ba46be58ff2db6032078 /src/multimedia/video/qabstractvideobuffer.h
parentc355d98b045834a494e9fda634388f82c8f625a9 (diff)
Merge QAbstractPlanarVideoOutput into QAbstractVideoOutput
And while we're at it, sanitize the signature of the virtual map() method. Change-Id: I8feb09e1dd6abdd9f480e202568ff84e6c3c08a9 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimedia/video/qabstractvideobuffer.h')
-rw-r--r--src/multimedia/video/qabstractvideobuffer.h32
1 files changed, 10 insertions, 22 deletions
diff --git a/src/multimedia/video/qabstractvideobuffer.h b/src/multimedia/video/qabstractvideobuffer.h
index b3f31b377..6572db9c3 100644
--- a/src/multimedia/video/qabstractvideobuffer.h
+++ b/src/multimedia/video/qabstractvideobuffer.h
@@ -82,10 +82,16 @@ public:
HandleType handleType() const;
- virtual MapMode mapMode() const = 0;
+ struct MapData
+ {
+ qsizetype nBytes = 0;
+ int nPlanes = 0;
+ int bytesPerLine[4] = {};
+ uchar *data[4] = {};
+ };
- virtual uchar *map(MapMode mode, int *numBytes, int *bytesPerLine) = 0;
- int mapPlanes(MapMode mode, int *numBytes, int bytesPerLine[4], uchar *data[4]);
+ virtual MapMode mapMode() const = 0;
+ virtual MapData map(MapMode mode) = 0;
virtual void unmap() = 0;
virtual QVariant handle() const;
@@ -93,31 +99,13 @@ public:
protected:
QAbstractVideoBuffer(QAbstractVideoBufferPrivate &dd, HandleType type);
- QAbstractVideoBufferPrivate *d_ptr; // For expansion, not used currently
+ QAbstractVideoBufferPrivate *d_ptr = nullptr; // currently unused
HandleType m_type;
private:
- Q_DECLARE_PRIVATE(QAbstractVideoBuffer)
Q_DISABLE_COPY(QAbstractVideoBuffer)
};
-class QAbstractPlanarVideoBufferPrivate;
-class Q_MULTIMEDIA_EXPORT QAbstractPlanarVideoBuffer : public QAbstractVideoBuffer
-{
-public:
- QAbstractPlanarVideoBuffer(HandleType type);
- virtual ~QAbstractPlanarVideoBuffer();
-
- uchar *map(MapMode mode, int *numBytes, int *bytesPerLine) override;
- virtual int map(MapMode mode, int *numBytes, int bytesPerLine[4], uchar *data[4]) = 0;
-
-protected:
- QAbstractPlanarVideoBuffer(QAbstractPlanarVideoBufferPrivate &dd, HandleType type);
-
-private:
- Q_DISABLE_COPY(QAbstractPlanarVideoBuffer)
-};
-
#ifndef QT_NO_DEBUG_STREAM
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QAbstractVideoBuffer::HandleType);
Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, QAbstractVideoBuffer::MapMode);