Qt 4.8
|
The QAbstractVideoBuffer class is an abstraction for video data. More...
#include <qabstractvideobuffer.h>
Public Types | |
enum | HandleType { NoHandle, GLTextureHandle, XvShmImageHandle, CoreImageHandle, QPixmapHandle, UserHandle = 1000 } |
Identifies the type of a video buffers handle. More... | |
enum | MapMode { NotMapped = 0x00, ReadOnly = 0x01, WriteOnly = 0x02, ReadWrite = ReadOnly | WriteOnly } |
Enumerates how a video buffer's data is mapped to memory. More... | |
Public Functions | |
virtual QVariant | handle () const |
Returns a type specific handle to the data buffer. More... | |
HandleType | handleType () const |
Returns the type of a video buffer's handle. More... | |
virtual uchar * | map (MapMode mode, int *numBytes, int *bytesPerLine)=0 |
Maps the contents of a video buffer to memory. More... | |
virtual MapMode | mapMode () const =0 |
Returns the mode a video buffer is mapped in. More... | |
QAbstractVideoBuffer (HandleType type) | |
Constructs an abstract video buffer of the given type. More... | |
virtual void | unmap ()=0 |
Releases the memory mapped by the map() function. More... | |
virtual | ~QAbstractVideoBuffer () |
Destroys an abstract video buffer. More... | |
Protected Functions | |
QAbstractVideoBuffer (QAbstractVideoBufferPrivate &dd, HandleType type) | |
Protected Variables | |
QAbstractVideoBufferPrivate * | d_ptr |
The QAbstractVideoBuffer class is an abstraction for video data.
The QVideoFrame class makes use of a QAbstractVideoBuffer internally to reference a buffer of video data. Creating a subclass of QAbstractVideoBuffer will allow you to construct video frames from preallocated or static buffers.
The contents of a buffer can be accessed by mapping the buffer to memory using the map() function which returns a pointer to memory containing the contents of the the video buffer. The memory returned by map() is released by calling the unmap() function.
The handle() of a buffer may also be used to manipulate it's contents using type specific APIs. The type of a buffer's handle is given by the handleType() function.
Definition at line 57 of file qabstractvideobuffer.h.
Identifies the type of a video buffers handle.
Enumerator | |
---|---|
NoHandle | |
GLTextureHandle | |
XvShmImageHandle | |
CoreImageHandle | |
QPixmapHandle | |
UserHandle |
Definition at line 60 of file qabstractvideobuffer.h.
Enumerates how a video buffer's data is mapped to memory.
Enumerator | |
---|---|
NotMapped | |
ReadOnly | |
WriteOnly | |
ReadWrite |
Definition at line 70 of file qabstractvideobuffer.h.
QAbstractVideoBuffer::QAbstractVideoBuffer | ( | HandleType | type | ) |
Constructs an abstract video buffer of the given type.
Definition at line 111 of file qabstractvideobuffer.cpp.
|
virtual |
|
protected |
Definition at line 123 of file qabstractvideobuffer.cpp.
|
virtual |
Returns a type specific handle to the data buffer.
The type of the handle is given by handleType() function.
Definition at line 210 of file qabstractvideobuffer.cpp.
Referenced by QVideoFrame::handle().
QAbstractVideoBuffer::HandleType QAbstractVideoBuffer::handleType | ( | ) | const |
Returns the type of a video buffer's handle.
Definition at line 146 of file qabstractvideobuffer.cpp.
Referenced by QVideoFrame::handleType().
|
pure virtual |
Maps the contents of a video buffer to memory.
The map mode indicates whether the contents of the mapped memory should be read from and/or written to the buffer. If the map mode includes the QAbstractVideoBuffer::ReadOnly flag the mapped memory will be populated with the content of the video buffer when mapped. If the map mode includes the QAbstractVideoBuffer::WriteOnly flag the content of the mapped memory will be persisted in the buffer when unmapped.
When access to the data is no longer needed be sure to call the unmap() function to release the mapped memory.
Returns a pointer to the mapped memory region, or a null pointer if the mapping failed. The size in bytes of the mapped memory region is returned in numBytes, and the line stride in bytesPerLine.
When access to the data is no longer needed be sure to unmap() the buffer.
Implemented in QMemoryVideoBuffer, and QImageVideoBuffer.
Referenced by QVideoFrame::map().
|
pure virtual |
Returns the mode a video buffer is mapped in.
Implemented in QMemoryVideoBuffer, and QImageVideoBuffer.
Referenced by QVideoFrame::isMapped(), QVideoFrame::isReadable(), QVideoFrame::isWritable(), and QVideoFrame::mapMode().
|
pure virtual |
Releases the memory mapped by the map() function.
If the QAbstractVideoBuffer::MapMode{MapMode} included the QAbstractVideoBuffer::WriteOnly flag this will persist the current content of the mapped memory to the video frame.
Implemented in QMemoryVideoBuffer, and QImageVideoBuffer.
Referenced by QVideoFrame::unmap().
|
protected |
Definition at line 93 of file qabstractvideobuffer.h.
Referenced by ~QAbstractVideoBuffer().