Condividi tramite


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
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. Sono definiti i flag seguenti:

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

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 nBlockAlign del WAVEFORMAT o struttura WAVEFORMATEX che descrive l'audio.

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

Vedere anche

funzioni AVIFile e macro

strutture AVIFile

PCMWAVEFORMAT

WAVEFORMAT

WAVEFORMATEX

mmioFOURCC