Ранее я думал о том, как организовать таймер. Сейчас дело дошло до реализации и появилось еще несколько вопросов. Хочется чтобы код плеера был максимально общим для обычной винды и для Windows Mobile. 1. В чем принципиальная разница отрисовки кадра по InvalidateRect -> WM_PAINT, или просто GetDC у окна и рисовать в него как только кадр у нас в руках? 2. Как в реальных плеерах делается синхронизация/ожидание кадра? libvlccore.dll содержит мультимедмйный импорт. Она юзает мультимедийный таймер?
Рисовать в Compatible MemDC. Думаю без DSHow и прочего самое быстрое будет с DIB-секциями. Паралельно декодить кадры, и блиттить их на окно в соответствии с фпс кина, стараться по крайней мере. По крайней мере что то типа того.