Compartilhar via


Estrutura AVISTREAMINFOA (vfw.h)

A estrutura AVISTREAMINFO contém informações para um único fluxo.

Sintaxe

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;

Membros

fccType

Código de quatro caracteres que indica o tipo de fluxo. As seguintes constantes foram definidas para os dados comumente encontrados em fluxos AVI:

Constante Descrição
streamtypeAUDIO
Indica um fluxo de áudio.
streamtypeMIDI
Indica um fluxo MIDI.
streamtypeTEXT
Indica um fluxo de texto.
streamtypeVIDEO
Indica um fluxo de vídeo.

fccHandler

Código de quatro caracteres do manipulador de compressor que compactará esse fluxo de vídeo quando ele for salvo (por exemplo, mmioFOURCC ('M','S','V','C')). Esse membro não é usado para fluxos de áudio.

dwFlags

Sinalizadores aplicáveis para o fluxo. Os bits na palavra de alta ordem desses sinalizadores são específicos para o tipo de dados contidos no fluxo. Os seguintes sinalizadores são definidos:

Nome Descrição
AVISTREAMINFO_DISABLED
Indica que esse fluxo deve ser renderizado quando habilitado explicitamente pelo usuário.
AVISTREAMINFO_FORMATCHANGES
Indica que esse fluxo de vídeo contém alterações de paleta. Esse sinalizador avisa o software de reprodução de que ele precisará animar a paleta.

dwCaps

Sinalizadores de funcionalidade; atualmente não utilizado.

wPriority

Prioridade do fluxo.

wLanguage

Idioma do fluxo.

dwScale

Escala de tempo aplicável ao fluxo. Dividir dwRate por dwScale fornece a taxa de reprodução em número de amostras por segundo.

Para fluxos de vídeo, essa taxa deve ser a taxa de quadros. Para fluxos de áudio, essa taxa deve corresponder ao tamanho do bloco de áudio (o membro nBlockAlign da estrutura WAVEFORMAT ou PCMWAVEFORMAT ), que para o áudio PCM (Pulse Code Modulation) reduz para a taxa de exemplo.

dwRate

Taxa em um formato inteiro. Para obter a taxa em exemplos por segundo, divida esse valor pelo valor em dwScale.

dwStart

Número de exemplo do primeiro quadro do arquivo AVI. As unidades são definidas por dwRate e dwScale. Normalmente, isso é zero, mas pode especificar um tempo de atraso para um fluxo que não é iniciado simultaneamente com o arquivo.

A versão 1.0 das ferramentas AVI não dá suporte a uma hora inicial diferente de zero.

dwLength

Comprimento desse fluxo. As unidades são definidas por dwRate e dwScale.

dwInitialFrames

Distorção de áudio. Esse membro especifica o quanto distorcer os dados de áudio antes dos quadros de vídeo em arquivos intercalados. Normalmente, são cerca de 0,75 segundos.

dwSuggestedBufferSize

Tamanho de buffer recomendado, em bytes, para o fluxo. Normalmente, esse membro contém um valor correspondente à maior parte do fluxo. Usar o tamanho correto do buffer torna a reprodução mais eficiente. Use zero se você não souber o tamanho correto do buffer.

dwQuality

Indicador de qualidade dos dados de vídeo no fluxo. A qualidade é representada como um número entre 0 e 10.000. Para dados compactados, isso normalmente representa o valor do parâmetro de qualidade passado para o software de compactação. Se definido como –1, os drivers usarão o valor de qualidade padrão.

dwSampleSize

Tamanho, em bytes, de um único exemplo de dados. Se o valor desse membro for zero, os exemplos poderão variar de tamanho e cada amostra de dados (como um quadro de vídeo) deverá estar em uma parte separada. Um valor diferente de zero indica que vários exemplos de dados podem ser agrupados em uma única parte dentro do arquivo.

Para fluxos de vídeo, esse número normalmente é zero, embora possa ser diferente de zero se todos os quadros de vídeo tiverem o mesmo tamanho. Para fluxos de áudio, esse número deve ser o mesmo que o membro nBlockAlign da estrutura WAVEFORMAT ou WAVEFORMATEX que descreve o áudio.

rcFrame

Dimensões do retângulo de destino do vídeo. Os valores representam as coordenadas do canto superior esquerdo, a altura e a largura do retângulo.

dwEditCount

Número de vezes que o fluxo foi editado. O manipulador de fluxo mantém essa contagem.

dwFormatChangeCount

Número de vezes que o formato de fluxo foi alterado. O manipulador de fluxo mantém essa contagem.

szName[64]

Cadeia de caracteres terminada em nulo que contém uma descrição do fluxo.

Comentários

Observação

O cabeçalho vfw.h define AVISTREAMINFO como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho vfw.h

Confira também

Funções e macros do AVIFile

Estruturas AVIFile

PCMWAVEFORMAT

WAVEFORMAT

WAVEFORMATEX

mmioFOURCC