Поделиться через


Структура AVISTREAMINFOA (vfw.h)

Структура AVISTREAMINFO содержит сведения для одного потока.

Синтаксис

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;

Члены

fccType

Четырехзначный код, указывающий тип потока. Для данных, найденных в потоках AVI, определены следующие константы:

Постоянный Описание
streamtypeAUDIO
Указывает аудиопоток.
streamtypeMIDI
Указывает поток MIDI.
streamtypeTEXT
Указывает текстовый поток.
streamtypeVIDEO
Указывает видеопоток.

fccHandler

Четырехзначный код обработчика, который сжимает этот видеопоток при сохранении (например, mmioFOURCC ('M', 'S','V','C')). Этот элемент не используется для аудиопотоков.

dwFlags

Применимые флаги для потока. Биты в слове высокого порядка этих флагов относятся к типу данных, содержащихся в потоке. Определены следующие флаги:

Имя Описание
AVISTREAMINFO_DISABLED
Указывает, что этот поток должен отображаться при явной включении пользователем.
AVISTREAMINFO_FORMATCHANGES
Указывает, что этот видеопоток содержит изменения палитры. Этот флаг предупреждает программное обеспечение воспроизведения, которое потребуется анимировать палитру.

dwCaps

Флаги возможностей; в настоящее время не используется.

wPriority

Приоритет потока.

wLanguage

Язык потока.

dwScale

Шкала времени, применяемая для потока. Разделение dwRate на dwScale дает частоту воспроизведения в количестве выборок в секунду.

Для видеопотоков эта скорость должна быть частотой кадров. Для аудиопотоков эта скорость должна соответствовать размеру блока звука (nBlockAlign элементу WAVEFORMAT или структуре PCMWAVEFORMAT), что для звука PCM (пульсовая модуляция кода) уменьшается до скорости выборки.

dwRate

Частота в целочисленном формате. Чтобы получить частоту в примерах в секунду, разделите это значение на значение в dwScale.

dwStart

Пример номера первого кадра файла AVI. Единицы определяются dwRate и dwScale. Как правило, это равно нулю, но может указывать время задержки для потока, который не начинается параллельно с файлом.

Выпуск средств AVI версии 1.0 не поддерживает ненулевое время начала.

dwLength

Длина этого потока. Единицы определяются dwRate и dwScale.

dwInitialFrames

Звуковое отклонение. Этот член указывает, сколько нужно сломать звуковые данные перед видеокадрами в чередуемых файлах. Как правило, это около 0,75 секунд.

dwSuggestedBufferSize

Рекомендуемый размер буфера в байтах для потока. Как правило, этот элемент содержит значение, соответствующее наибольшему фрагменту в потоке. Использование правильного размера буфера повышает эффективность воспроизведения. Используйте ноль, если вы не знаете правильный размер буфера.

dwQuality

Индикатор качества видеоданных в потоке. Качество представлено как число от 0 до 10 000. Для сжатых данных обычно это значение параметра качества, переданного программному обеспечению сжатия. Если задано значение –1, драйверы используют значение качества по умолчанию.

dwSampleSize

Размер в байтах одного примера данных. Если значение этого элемента равно нулю, выборки могут отличаться по размеру, а каждый пример данных (например, видеокадр) должен находиться в отдельном фрагменте. Значение, отличное от нуля, указывает, что несколько примеров данных можно сгруппировать в один блок в файле.

Для видеопотоков это число обычно равно нулю, хотя это может быть ненулевое значение, если все видеокадры одинаковы. Для звуковых потоков это число должно совпадать с nBlockAlign членом WAVEFORMAT или WAVEFORMATEX структурой, описывающей звук.

rcFrame

Размеры прямоугольника назначения видео. Значения представляют координаты верхнего левого угла, высоты и ширины прямоугольника.

dwEditCount

Количество раз, когда поток редактируется. Обработчик потоков поддерживает это число.

dwFormatChangeCount

Количество изменений формата потока. Обработчик потоков поддерживает это число.

szName[64]

Строка, завершающая значение NULL, содержащая описание потока.

Замечания

Заметка

Заголовок vfw.h определяет AVISTREAMINFO в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
заголовка vfw.h

См. также

функции и макросы AVIFile

структуры AVIFile

PCMWAVEFORMAT

WAVEFORMAT

WAVEFORMATEX

mmioFOURCC