Исходные данные:
Имеется видеокамера 1920x1080 30FPS, снимаю с неё кадры и сохрняю их в AVI файл:
1) Создаем файл и стрим: AVIFileOpen, затем AVIFileCreateStream, AVIMakeCompressedStream, AVIStreamSetFormat,
2) затем с помощью AVIStreamWrite записываем кадры
3) Закрываем поток и файл AVIStreamRelease, AVIFileRelease.
Проблема в том, что при создании стрима, в структуре AVISTREAMINFO было задано FPS=30 (lInfo.dwScale = 100; lInfo.dwRate = 30*100

, Однако из за тормозов при вызове AVIStreamWrite, реальное значение FPS — около 5-ти.
Вопрос: Можно ли посчитав реальный FPS, задать его после записи последнего кадра и перед закрытим потока и файла?
проблема разрешилась следующим образом:
Записал и закрыл AVI, затем открыл файл, по FourCC нашол в файле место где лежит структура AVISTREAMINFO, и запатчил поле dwRate.