Короче, вот такой будет вопрос...
Кадр = 640*480, енто мы принимаем по булочной In точке в виде 5-и буферов по 120*512 байт (т.е. = 640*480 = 512*600). Это все в одном потоке с высоким приоритетом. Как приняли эти 640*480 байт, передаем их в ф-ю вывода на экран.
в параллельном потоке принимаем по второй булочной In точке 3 байта, которые сайпрас передает каждый кадр (1/30 сек)
Иногда во время приема почему-то (дело вроде не в железе) пропадают пара-тройка пакетов по 512 байт. Но вот тут-то
Код
if (dlg->InEndPt->FinishDataXfer(buffers[i], rLen, &inOvLap[i], contexts[i], isoPktInfos[i])) {
.......
ждет себе заполнения буфера до размера 640*480! А берет он их ясен пень из следующего кадра и, получаем сбой синхронизации.
Т.е. после запуска программы пару секунд фсе нормуль, а потом сбой, еще через 1-2 сек опять и т.д. иногда даже раз в 0.5 сек (примерно)
Чтобы синхронизироваться надо бы при приеме кадровой синхронизации (иными словами по приему от второй In точки) делать как-то так чтобы буфер поновой заполнялся!!
КАК??
Быть. torizin-liteha@yandex.ru