QAbstractVideoBuffer Class Reference
[QtMultimedia module]
该QAbstractVideoBuffer类是视频数据的抽象。More…
Types
enum HandleType { NoHandle, GLTextureHandle, XvShmImageHandle, CoreImageHandle, QPixmapHandle, UserHandle }
enum MapMode { NotMapped, ReadOnly, WriteOnly, ReadWrite }
Methods
__init__ (self, HandleType type)
QVariant handle (self)
HandleType handleType (self)
(sip.voidptr, int numBytes, int bytesPerLine) map (self, MapMode mode)
MapMode mapMode (self)
unmap (self)
Detailed Description
该QAbstractVideoBuffer类是视频数据的抽象。
该QVideoFrame类利用一个QAbstractVideoBuffer的内部参考视频数据的缓冲区。创建QAbstractVideoBuffer的子类可以让你从预分配或静态缓冲构造的视频帧。
一个缓冲区的内容可以通过使用缓冲映射到存储器进行访问的map()函数返回一个指针,指向包含在视频缓冲器中的内容的记忆。通过返回的内存map( )被释放通过调用unmap()函数。
该handle的缓冲液()也可以被用来操纵它的使用类型特定的API含量。的缓冲器的句柄类型是由给定的handleType()函数。
Type Documentation
QAbstractVideoBuffer.HandleType
确定了视频缓冲器处理的类型。
Constant | Value | Description |
---|---|---|
QAbstractVideoBuffer.NoHandle |
0 |
该缓冲液具有无手柄,它的数据只能通过映射缓冲存取。 |
QAbstractVideoBuffer.GLTextureHandle |
1 |
缓冲区的句柄是一个OpenGL纹理的ID 。 |
QAbstractVideoBuffer.XvShmImageHandle |
2 |
手柄中包含指向共享内存的XVideo形象。 |
QAbstractVideoBuffer.CoreImageHandle |
3 |
手柄包含指针到Mac OS X CIImage 。 |
QAbstractVideoBuffer.QPixmapHandle |
4 |
缓冲区的把手是QPixmap。 |
QAbstractVideoBuffer.UserHandle |
1000 |
用户定义句柄类型起始值。 |
See also handleType( ) 。
QAbstractVideoBuffer.MapMode
列举了视频缓冲器的数据是如何映射到内存。
Constant | Value | Description |
---|---|---|
QAbstractVideoBuffer.NotMapped |
0x00 |
视频缓冲区没有映射到内存。 |
QAbstractVideoBuffer.ReadOnly |
0x01 |
映射的内存中填充了从视频缓冲区中的数据映射时,但映射的内存的内容可能会被丢弃时映射。 |
QAbstractVideoBuffer.WriteOnly |
0x02 |
所映射的存储器是未初始化的映射时,内容将被用于映射时填充视频缓冲器。 |
QAbstractVideoBuffer.ReadWrite |
ReadOnly | WriteOnly |
所映射的存储器中填充了从视频缓冲器中的数据,和视频缓冲器被重新填充与映射的存储器的内容。 |
Method Documentation
QAbstractVideoBuffer.__init__ (self, HandleType type)
构造给定一个抽象的视频缓冲器type。
QVariant QAbstractVideoBuffer.handle (self)
返回一个类型的具体处理到数据缓冲区。
手柄的类型由下式给出handleType()函数。
See also handleType( ) 。
HandleType QAbstractVideoBuffer.handleType (self)
[
传回的视频缓冲区的句柄类型。
]($docs-qabstractvideobuffer.html#HandleType-enum)
(sip.voidptr, int numBytes, int bytesPerLine) QAbstractVideoBuffer.map (self, MapMode mode)
这种方法是抽象的,应在任何子类中重新实现。
映射一个视频缓冲器的内容传送到存储器中。
地图mode指示是否映射存储器中的内容应被读出和/或写入到缓冲区。如果映射模式包括QAbstractVideoBuffer.ReadOnly标志映射的内存将被填入视频缓冲区的内容映射时。如果映射模式包括QAbstractVideoBuffer.WriteOnly映射的内存的标志内容将被保存在缓冲区中,当未映射。
当访问数据不再需要,一定要调用unmap( )函数释放映射内存。
返回一个指针映射内存区域,或一个空指针,如果映射失败。在映射内存区域的字节大小的返回numBytes和线步幅在bytesPerLine。
当访问数据不再需要,一定要unmap()的缓冲液中。
Note:记录到被映射为只读存储器是不确定的,并且可能导致改变的共享数据。
MapMode QAbstractVideoBuffer.mapMode (self)
[
这种方法是抽象的,应在任何子类中重新实现。
返回视频缓冲器被映射英寸的模式
]($docs-qabstractvideobuffer.html#MapMode-enum)
QAbstractVideoBuffer.unmap (self)
这种方法是抽象的,应在任何子类中重新实现。
发布映射的内存map( )函数
如果MapMode包括QAbstractVideoBuffer.WriteOnly标志,这将持续映射内存的当前内容到视频帧。
See also map( ) 。