Struttura AVISTREAMINFOW (vfw.h)

La struttura AVISTREAMINFO contiene informazioni per un singolo flusso.

Sintassi

typedef struct _AVISTREAMINFOW {
  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;
  WCHAR szName[64];
} AVISTREAMINFOW, *LPAVISTREAMINFOW;

Members

fccType

Codice a quattro caratteri che indica il tipo di flusso. Le costanti seguenti sono state definite per i dati comunemente trovati nei flussi AVI:

Costante Descrizione
streamtypeAUDIO
Indica un flusso audio.
streamtypeMIDI
Indica un flusso MIDI.
streamtypeTEXT
Indica un flusso di testo.
streamtypeVIDEO
Indica un flusso video.

fccHandler

Codice a quattro caratteri del gestore del compressore che comprime questo flusso video quando viene salvato (ad esempio, mmioFOURCC ('M','S','V','C'). Questo membro non viene usato per i flussi audio.

dwFlags

Flag applicabili per il flusso. I bit nella parola ad ordine elevato di questi flag sono specifici del tipo di dati contenuti nel flusso. I flag seguenti sono definiti:

Nome Descrizione
AVISTREAMINFO_DISABLED
Indica che questo flusso deve essere eseguito quando è abilitato in modo esplicito dall'utente.
AVISTREAMINFO_FORMATCHANGES
Indica che questo flusso video contiene modifiche al tavolozza. Questo flag avvisa il software di riproduzione che sarà necessario animare la tavolozza.

dwCaps

Flag di funzionalità; attualmente inutilizzato.

wPriority

Priorità del flusso.

wLanguage

Lingua del flusso.

dwScale

Scala temporale applicabile per il flusso. La divisione di dwRate per dwScale fornisce la frequenza di riproduzione in numero di campioni al secondo.

Per i flussi video, questa frequenza deve essere la frequenza dei fotogrammi. Per i flussi audio, questa frequenza deve corrispondere alle dimensioni del blocco audio (il membro nBlockAlign della struttura WAVEFORMAT o PCMWAVEFORMAT ), che per l'audio PCM (Modularità del codice pulse) riduce la frequenza di campionamento.

dwRate

Frequenza in un formato intero. Per ottenere la frequenza nei campioni al secondo, dividere questo valore in base al valore in dwScale.

dwStart

Numero di esempio del primo frame del file AVI. Le unità sono definite da dwRate e dwScale. Normalmente, questo è zero, ma può specificare un tempo di ritardo per un flusso che non inizia simultaneamente con il file.

La versione 1.0 degli strumenti AVI non supporta un'ora di inizio non zero.

dwLength

Lunghezza di questo flusso. Le unità sono definite da dwRate e dwScale.

dwInitialFrames

Asimmetria audio. Questo membro specifica la quantità di dati audio in anticipo rispetto ai fotogrammi video nei file interleaved. In genere, si tratta di circa 0,75 secondi.

dwSuggestedBufferSize

Dimensioni del buffer consigliate, in byte, per il flusso. In genere, questo membro contiene un valore corrispondente al blocco più grande nel flusso. L'uso delle dimensioni del buffer corrette rende la riproduzione più efficiente. Usare zero se non si conosce la dimensione corretta del buffer.

dwQuality

Indicatore di qualità dei dati video nel flusso. La qualità è rappresentata come numero compreso tra 0 e 10.000. Per i dati compressi, questo rappresenta in genere il valore del parametro di qualità passato al software di compressione. Se impostato su -1, i driver usano il valore di qualità predefinito.

dwSampleSize

Dimensioni, in byte, di un singolo esempio di dati. Se il valore di questo membro è zero, gli esempi possono variare in dimensioni e ogni esempio di dati (ad esempio un frame video) deve trovarsi in un blocco separato. Un valore diverso da zero indica che è possibile raggruppare più esempi di dati in un singolo blocco all'interno del file.

Per i flussi video, questo numero è in genere zero, anche se può essere diverso da zero se tutti i fotogrammi video sono le stesse dimensioni. Per i flussi audio, questo numero deve essere lo stesso del membro nBlockAlign della struttura WAVEFORMAT o WAVEFORMATEX che descrive l'audio.

rcFrame

Dimensioni del rettangolo di destinazione video. I valori rappresentano le coordinate dell'angolo superiore sinistro, l'altezza e la larghezza del rettangolo.

dwEditCount

Numero di volte in cui il flusso è stato modificato. Il gestore di flusso gestisce questo conteggio.

dwFormatChangeCount

Numero di volte in cui il formato del flusso è cambiato. Il gestore di flusso gestisce questo conteggio.

szName[64]

Stringa con terminazione null contenente una descrizione del flusso.

Commenti

Nota

L'intestazione vfw.h definisce AVISTREAMINFO come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione vfw.h

Vedi anche

Funzioni e macro AVIFile

Strutture AVIFile

PCMWAVEFORMAT

WAVEFORMAT

WAVEFORMATEX

mmioFOURCC