Struttura AVISTREAMINFOA (vfw.h)
La struttura AVISTREAMINFO contiene informazioni per un singolo flusso.
Sintassi
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;
Membri
fccType
Codice a quattro caratteri che indica il tipo di flusso. Per i dati comunemente presenti nei flussi AVI sono state definite le costanti seguenti:
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. Sono definiti i flag seguenti:
dwCaps
Flag di funzionalità; attualmente inutilizzato.
wPriority
Priorità del flusso.
wLanguage
Lingua del flusso.
dwScale
Scalabilità temporale applicabile per il flusso. Dividendo dwRate per dwScale offre 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 nBlockAlign membro del WAVEFORMAT o struttura PCMWAVEFORMAT), che per l'audio PCM (Pulse Code Modulation) riduce la frequenza di campionamento.
dwRate
Frequenza in un formato integer. Per ottenere la frequenza nei campioni al secondo, dividere questo valore per il valore in dwScale.
dwStart
Numero di esempio del primo frame del file AVI. Le unità sono definite da dwRate e dwScale. In genere, questo è zero, ma può specificare un tempo di ritardo per un flusso che non viene avviato simultaneamente con il file.
La versione 1.0 degli strumenti AVI non supporta un'ora di inizio diversa da zero.
dwLength
Lunghezza di questo flusso. Le unità sono definite da dwRate e dwScale.
dwInitialFrames
Asimmetria audio. Questo membro specifica quanto sfasare i dati audio prima dei 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 corrette del buffer 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 campione di dati. Se il valore di questo membro è zero, i campioni possono variare in dimensioni e ogni campione di dati (ad esempio un fotogramma video) deve trovarsi in un blocco separato. Un valore diverso da zero indica che è possibile raggruppare più campioni 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 hanno le stesse dimensioni. Per i flussi audio, questo numero deve corrispondere al membro
rcFrame
Dimensioni del rettangolo di destinazione video. I valori rappresentano le coordinate dell'angolo superiore sinistro, dell'altezza e della larghezza del rettangolo.
dwEditCount
Numero di modifiche apportate al flusso. Il gestore del flusso gestisce questo conteggio.
dwFormatChangeCount
Numero di modifiche apportate al formato del flusso. Il gestore del flusso gestisce questo conteggio.
szName[64]
Stringa con terminazione Null contenente una descrizione del flusso.
Osservazioni
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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
intestazione |
vfw.h |