Структура 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, определены следующие константы:
Постоянный | Описание |
---|---|
|
Указывает аудиопоток. |
|
Указывает поток MIDI. |
|
Указывает текстовый поток. |
|
Указывает видеопоток. |
fccHandler
Четырехзначный код обработчика, который сжимает этот видеопоток при сохранении (например, mmioFOURCC ('M', 'S','V','C')). Этот элемент не используется для аудиопотоков.
dwFlags
Применимые флаги для потока. Биты в слове высокого порядка этих флагов относятся к типу данных, содержащихся в потоке. Определены следующие флаги:
dwCaps
Флаги возможностей; в настоящее время не используется.
wPriority
Приоритет потока.
wLanguage
Язык потока.
dwScale
Шкала времени, применяемая для потока. Разделение dwRate на dwScale дает частоту воспроизведения в количестве выборок в секунду.
Для видеопотоков эта скорость должна быть частотой кадров. Для аудиопотоков эта скорость должна соответствовать размеру блока звука (nBlockAlign элементу WAVEFORMAT или структуре PCMWAVEFORMAT), что для звука PCM (пульсовая модуляция кода) уменьшается до скорости выборки.
dwRate
Частота в целочисленном формате. Чтобы получить частоту в примерах в секунду, разделите это значение на значение в dwScale.
dwStart
Пример номера первого кадра файла AVI. Единицы определяются dwRate и dwScale. Как правило, это равно нулю, но может указывать время задержки для потока, который не начинается параллельно с файлом.
Выпуск средств AVI версии 1.0 не поддерживает ненулевое время начала.
dwLength
Длина этого потока. Единицы определяются
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 |