Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QAbstractVideoBuffer Class Reference
[QtMultimedia module]

The QAbstractVideoBuffer class is an abstraction for video data. More...

 #include <QAbstractVideoBuffer>

This class is not part of the Qt GUI Framework Edition.

This class was introduced in Qt 4.6.


Public Types

enum HandleType { NoHandle, GLTextureHandle, UserHandle }
enum MapMode { NotMapped, ReadOnly, WriteOnly, ReadWrite }

Public Functions

QAbstractVideoBuffer ( HandleType type )
virtual ~QAbstractVideoBuffer ()
virtual QVariant handle () const
HandleType handleType () const
virtual uchar * map ( MapMode mode, int * numBytes, int * bytesPerLine ) = 0
virtual MapMode mapMode () const = 0
virtual void unmap () = 0

Detailed Description

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.

See also QVideoFrame.


Member Type Documentation

enum QAbstractVideoBuffer::HandleType

Identifies the type of a video buffers handle.

ConstantValueDescription
QAbstractVideoBuffer::NoHandle0The buffer has no handle, its data can only be accessed by mapping the buffer.
QAbstractVideoBuffer::GLTextureHandle1The handle of the buffer is an OpenGL texture ID.
QAbstractVideoBuffer::UserHandle1000Start value for user defined handle types.

See also handleType().

enum QAbstractVideoBuffer::MapMode

Enumerates how a video buffer's data is mapped to memory.

ConstantValueDescription
QAbstractVideoBuffer::NotMapped0x00The video buffer has is not mapped to memory.
QAbstractVideoBuffer::ReadOnly0x01The mapped memory is populated with data from the video buffer when mapped, but the content of the mapped memory may be discarded when unmapped.
QAbstractVideoBuffer::WriteOnly0x02The mapped memory in unitialized when mapped, and the content will be used to populate the video buffer when unmapped.
QAbstractVideoBuffer::ReadWriteReadOnly | WriteOnlyThe mapped memory is populated with data from the video buffer, and the video buffer is repopulated with the content of the mapped memory.

See also mapMode() and map().


Member Function Documentation

QAbstractVideoBuffer::QAbstractVideoBuffer ( HandleType type )

Constructs an abstract video buffer of the given type.

QAbstractVideoBuffer::~QAbstractVideoBuffer ()   [virtual]

Destroys an abstract video buffer.

QVariant QAbstractVideoBuffer::handle () const   [virtual]

Returns a type specific handle to the data buffer.

The type of the handle is given by handleType() function.

See also handleType().

HandleType QAbstractVideoBuffer::handleType () const

Returns the type of a video buffer's handle.

See also handle().

uchar * QAbstractVideoBuffer::map ( MapMode mode, int * numBytes, int * bytesPerLine )   [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.

Note: Writing to memory that is mapped as read-only is undefined, and may result in changes to shared data.

See also unmap() and mapMode().

MapMode QAbstractVideoBuffer::mapMode () const   [pure virtual]

Returns the mode a video buffer is mapped in.

See also map().

void QAbstractVideoBuffer::unmap ()   [pure virtual]

Releases the memory mapped by the map() function

If the MapMode included the QAbstractVideoBuffer::WriteOnly flag this will persist the current content of the mapped memory to the video frame.

See also map().

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 103
  2. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 56
  3. «Le projet de loi des droits du développeur» : quelles conditions doivent remplir les entreprises pour que le développeur puisse réussir ? 90
  4. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 31
  5. Qt Commercial : Digia organise un webinar gratuit le 27 mars sur la conception d'interfaces utilisateur et d'applications avec le framework 0
  6. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 11
Page suivante
  1. Linus Torvalds : le "C++ est un langage horrible", en justifiant le choix du C pour le système de gestion de version Git 100
  2. Comment prendre en compte l'utilisateur dans vos applications ? Pour un développeur, « 90 % des utilisateurs sont des idiots » 231
  3. Quel est LE livre que tout développeur doit lire absolument ? Celui qui vous a le plus marqué et inspiré 96
  4. Apple cède et s'engage à payer des droits à Nokia, le conflit des brevets entre les deux firmes s'achève 158
  5. Nokia porte à nouveau plainte contre Apple pour violation de sept nouveaux brevets 158
  6. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 103
  7. Quel est le code dont vous êtes le plus fier ? Pourquoi l'avez-vous écrit ? Et pourquoi vous a-t-il donné autant de satisfaction ? 83
Page suivante

Le Qt Developer Network au hasard

Logo

Comment fermer une application

Le Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.6-snapshot
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web