CMediaSample, classe

La CMediaSample classe définit un exemple de média qui prend en charge l’interface IMediaSample2 . L’exemple de support contient un pointeur vers une mémoire tampon et diverses propriétés stockées en tant que variables membres protégées.
Les exemples de média sont créés par des allocateurs, qui sont dérivés de la classe CBaseAllocator . Le CMediaSample constructeur reçoit un pointeur vers une mémoire tampon allouée, ainsi que la taille de la mémoire tampon. D’autres propriétés sont généralement définies et récupérées par le biais de méthodes d’interface IMediaSample .
Le cycle de vie d’un exemple de média diffère de celui de la plupart des objets COM :
- L’Allocator contient une liste d’échantillons gratuits. Lorsqu’un filtre a besoin d’un nouvel exemple, il appelle la méthode IMemAllocator :: GetBuffer de l’allocateur. L’Allocator récupère un exemple à partir de sa liste libre, incrémente le décompte de références de l’exemple et retourne un pointeur vers l’exemple.
- Une fois le filtre terminé avec l’exemple, il appelle la méthode IUnknown :: Release sur l’exemple. Contrairement à la plupart des objets, l’exemple ne se supprime pas quand son décompte de références atteint zéro. Au lieu de cela, il appelle la méthode IMemAllocator :: ReleaseBuffer sur l’allocateur, et l’allocateur retourne l’exemple à sa liste libre.
- L’Allocator ne détruit pas les exemples tant que la méthode IMemAllocator ::D ecommit est appelée.
| Variables membres protégées | Description |
|---|---|
| m _ dwFlags | Exemples d’indicateurs de propriété. |
| m _ dwTypeSpecificFlags | Indicateurs spécifiques au type. |
| m _ pbuffer | Pointeur vers la mémoire tampon qui contient les données multimédia. |
| m _ lActual | Longueur des données valides dans la mémoire tampon, en octets. |
| m _ cbBuffer | Taille de la mémoire tampon, en octets. |
| m _ pAllocator | Pointeur vers l’allocateur qui a créé cet exemple. |
| m _ pNext | Pointeur vers l’exemple suivant dans la liste des exemples de l’allocateur. |
| _début m | Heure de début de l’exemple. |
| _fin m | Heure de fin de l’exemple. |
| m _ MediaStart | Heure de début du média. |
| m _ MediaEnd | Heure d’arrêt du support. |
| m _ pMediaType | Pointeur vers le type de média, si le type a été modifié par rapport à l’exemple précédent dans le flux de données. |
| m _ dwStreamId | Identificateur de flux. |
| Variables membres publiques | Description |
| m _ cref | Nombre de références. |
| Méthodes publiques | Description |
| CMediaSample | Méthode de constructeur. |
| ~ CMediaSample | Méthode de destructeur. Virtuels. |
| SetPoint | Définit le pointeur sur la mémoire tampon. |
| Méthodes IMediaSample | Description |
| GetPointer | Récupère un pointeur en lecture/écriture dans la mémoire tampon. |
| GetSize | Récupère la taille de la mémoire tampon. |
| GetTime | Récupère les temps de flux auxquels cet exemple doit commencer et se terminer. |
| SetTime | Définit les temps de flux auxquels cet exemple doit commencer et se terminer. |
| IsSyncPoint | Détermine si le début de l’exemple est un point de synchronisation. |
| SetSyncPoint | Spécifie si le début de cet exemple est un point de synchronisation. |
| IsPreroll | Détermine si cet exemple est un exemple de préroll. |
| SetPreroll | Spécifie si cet exemple est un exemple de préroll. |
| GetActualDataLength | Récupère la longueur des données valides dans la mémoire tampon. |
| SetActualDataLength | Définit la longueur des données valides dans la mémoire tampon. |
| GetMediaType | Récupère le type de média si le type de média diffère de l’exemple précédent. |
| SetMediaType | Définit le type de média pour l’exemple. |
| IsDiscontinuity | Détermine si cet exemple représente une rupture dans le flux de données. |
| SetDiscontinuity | Spécifie si cet exemple représente une rupture dans le flux de données. |
| GetMediaTime | Récupère les temps de support pour cet exemple. |
| SetMediaTime | Définit les durées de support pour cet exemple. |
| Méthodes IMediaSample2 | Description |
| GetProperties | Récupère les propriétés de l’exemple. |
| SetProperties | Définit les propriétés de l’exemple. |
Spécifications
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|