1// qabstractvideobuffer.sip generated by MetaSIP 2// 3// This file is part of the QtMultimedia Python extension module. 4// 5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com> 6// 7// This file is part of PyQt5. 8// 9// This file may be used under the terms of the GNU General Public License 10// version 3.0 as published by the Free Software Foundation and appearing in 11// the file LICENSE included in the packaging of this file. Please review the 12// following information to ensure the GNU General Public License version 3.0 13// requirements will be met: http://www.gnu.org/copyleft/gpl.html. 14// 15// If you do not wish to use this file under the terms of the GPL version 3.0 16// then you may purchase a commercial license. For more information contact 17// info@riverbankcomputing.com. 18// 19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 22 23class QAbstractVideoBuffer 24{ 25%TypeHeaderCode 26#include <qabstractvideobuffer.h> 27%End 28 29public: 30 enum HandleType 31 { 32 NoHandle, 33 GLTextureHandle, 34 XvShmImageHandle, 35 CoreImageHandle, 36 QPixmapHandle, 37%If (Qt_5_4_0 -) 38 EGLImageHandle, 39%End 40 UserHandle, 41 }; 42 43 enum MapMode 44 { 45 NotMapped, 46 ReadOnly, 47 WriteOnly, 48 ReadWrite, 49 }; 50 51 QAbstractVideoBuffer(QAbstractVideoBuffer::HandleType type); 52 virtual ~QAbstractVideoBuffer(); 53 QAbstractVideoBuffer::HandleType handleType() const; 54 virtual QAbstractVideoBuffer::MapMode mapMode() const = 0; 55 virtual SIP_PYOBJECT map(QAbstractVideoBuffer::MapMode mode, int *numBytes, int *bytesPerLine) = 0 /TypeHint="PyQt5.sip.voidptr"/ [uchar * (QAbstractVideoBuffer::MapMode mode, int *numBytes, int *bytesPerLine)]; 56%MethodCode 57 uchar *mem; 58 59 Py_BEGIN_ALLOW_THREADS 60 mem = sipCpp->map(a0, &a1, &a2); 61 Py_END_ALLOW_THREADS 62 63 if (mem) 64 { 65 if (a0 & QAbstractVideoBuffer::WriteOnly) 66 sipRes = sipConvertFromVoidPtrAndSize(mem, a1); 67 else 68 sipRes = sipConvertFromConstVoidPtrAndSize(mem, a1); 69 } 70 else 71 { 72 sipRes = Py_None; 73 Py_INCREF(sipRes); 74 } 75%End 76 77 virtual void unmap() = 0; 78 virtual QVariant handle() const; 79 virtual void release(); 80 81private: 82 QAbstractVideoBuffer(const QAbstractVideoBuffer &); 83}; 84