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 |
---|---|
|
Indica un flusso audio. |
|
Indica un flusso MIDI. |
|
Indica un flusso di testo. |
|
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:
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 |