diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-01-04 12:31:09 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-01-22 06:58:14 +0000 |
commit | cfaa21174e72dc00d073f3d6f6ce7f68330afff9 (patch) | |
tree | d925688c02c5e6d9c596ba46be58ff2db6032078 /src/multimedia/video/qabstractvideobuffer.h | |
parent | c355d98b045834a494e9fda634388f82c8f625a9 (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.h | 32 |
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); |