Partager via


Structure AVISTREAMINFOA (vfw.h)

La structure AVISTREAMINFO contient des informations pour un seul flux.

Syntaxe

typedef struct _AVISTREAMINFOA {
  DWORD fccType;
  DWORD fccHandler;
  DWORD dwFlags;
  DWORD dwCaps;
  WORD  wPriority;
  WORD  wLanguage;
  DWORD dwScale;
  DWORD dwRate;
  DWORD dwStart;
  DWORD dwLength;
  DWORD dwInitialFrames;
  DWORD dwSuggestedBufferSize;
  DWORD dwQuality;
  DWORD dwSampleSize;
  RECT  rcFrame;
  DWORD dwEditCount;
  DWORD dwFormatChangeCount;
  char  szName[64];
} AVISTREAMINFOA, *LPAVISTREAMINFOA;

Membres

fccType

Code à quatre caractères indiquant le type de flux. Les constantes suivantes ont été définies pour les données couramment trouvées dans les flux AVI :

Constant Description
streamtypeAUDIO
Indique un flux audio.
streamtypeMIDI
Indique un flux MIDI.
streamtypeTEXT
Indique un flux de texte.
streamtypeVIDEO
Indique un flux vidéo.

fccHandler

Code à quatre caractères du gestionnaire de compresseur qui compresse ce flux vidéo lors de son enregistrement (par exemple, mmioFOURCC ('M','S','V','C')). Ce membre n’est pas utilisé pour les flux audio.

dwFlags

Indicateurs applicables pour le flux. Les bits dans le mot d’ordre supérieur de ces indicateurs sont spécifiques au type de données contenues dans le flux. Les indicateurs suivants sont définis :

Nom Description
AVISTREAMINFO_DISABLED
Indique que ce flux doit être affiché lorsqu’il est explicitement activé par l’utilisateur.
AVISTREAMINFO_FORMATCHANGES
Indique que ce flux vidéo contient des modifications de palette. Cet indicateur avertit le logiciel de lecture qu’il aura besoin d’animer la palette.

dwCaps

Indicateurs de capacité ; actuellement inutilisé.

wPriority

Priorité du flux.

wLanguage

Langue du flux.

dwScale

Échelle de temps applicable au flux. La division de dwRate par dwScale donne le taux de lecture en nombre d’échantillons par seconde.

Pour les flux vidéo, ce taux doit être la fréquence d’images. Pour les flux audio, ce débit doit correspondre à la taille du bloc audio (membre nBlockAlign de la structure WAVEFORMAT ou PCMWAVEFORMAT ), qui pour la modulation de code d’impulsion (PCM) réduit au taux d’échantillonnage.

dwRate

Taux dans un format entier. Pour obtenir le taux dans les échantillons par seconde, divisez cette valeur par la valeur dans dwScale.

dwStart

Numéro d’exemple de la première image du fichier AVI. Les unités sont définies par dwRate et dwScale. Normalement, il s’agit de zéro, mais il peut spécifier un délai pour un flux qui ne démarre pas simultanément avec le fichier.

La version 1.0 des outils AVI ne prend pas en charge une heure de début différente de zéro.

dwLength

Longueur de ce flux. Les unités sont définies par dwRate et dwScale.

dwInitialFrames

Asymétrie audio. Ce membre spécifie la quantité d’asymétrie des données audio avant les images vidéo dans les fichiers entrelacés. En règle générale, il s’agit d’environ 0,75 seconde.

dwSuggestedBufferSize

Taille de mémoire tampon recommandée, en octets, pour le flux. En règle générale, ce membre contient une valeur correspondant au plus grand segment du flux. L’utilisation de la bonne taille de mémoire tampon rend la lecture plus efficace. Utilisez zéro si vous ne connaissez pas la taille de mémoire tampon correcte.

dwQuality

Indicateur de qualité des données vidéo dans le flux. La qualité est représentée par un nombre compris entre 0 et 10 000. Pour les données compressées, cela représente généralement la valeur du paramètre de qualité passé au logiciel de compression. Si la valeur est –1, les pilotes utilisent la valeur de qualité par défaut.

dwSampleSize

Taille, en octets, d’un échantillon de données unique. Si la valeur de ce membre est zéro, la taille des échantillons peut varier et chaque échantillon de données (par exemple, une image vidéo) doit se trouver dans un segment distinct. Une valeur différente de zéro indique que plusieurs échantillons de données peuvent être regroupés en un seul bloc dans le fichier.

Pour les flux vidéo, ce nombre est généralement égal à zéro, bien qu’il puisse être différent de zéro si toutes les trames vidéo ont la même taille. Pour les flux audio, ce nombre doit être le même que le membre nBlockAlign de la structure WAVEFORMAT ou WAVEFORMATEX décrivant l’audio.

rcFrame

Dimensions du rectangle de destination de la vidéo. Les valeurs représentent les coordonnées du coin supérieur gauche, la hauteur et la largeur du rectangle.

dwEditCount

Nombre de fois que le flux a été modifié. Le gestionnaire de flux gère ce nombre.

dwFormatChangeCount

Nombre de fois que le format du flux a changé. Le gestionnaire de flux gère ce nombre.

szName[64]

Chaîne terminée par null contenant une description du flux.

Remarques

Notes

L’en-tête vfw.h définit AVISTREAMINFO comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête vfw.h

Voir aussi

Fonctions et macros AVIFile

AVIFile Structures

PCMWAVEFORMAT

WAVEFORMAT

WAVEFORMATEX

mmioFOURCC