Режим VMR-9 без визуализации: происходит сбой SelectAtPosition () - PullRequest
1 голос
/ 09 января 2009

Как устранить ошибку SelectAtPosition () при использовании VMR-9 в режиме без рендеринга?

1 Ответ

2 голосов
/ 09 января 2009

Проблема сбоя SelectAtPosition () при использовании режима без рендеринга может быть решена путем реализации интерфейса IVMRWindowlessControl9 в вашем пользовательском распределителе.

  1. В дополнение к IVMRSurfaceAllocator9 и IVMRImagePresenter9 также реализуйте IMRWindowlessControl9! Класс CAllocator: общедоступный IVMRSurfaceAllocator9, IVMRImagePresenter9, IVMRWindowlessControl9

  2. Определите все виртуальные функции IVMRWindowlessControl9. В моем случае мне нужно было поставить дополнительные коды для следующих функций, чтобы заставить мышь работать должным образом: GetAspectRatioMode (), SetAspectRatioMode (), SetAspectRatioMode (), GetVideoPosition () и GetNativeVideoSize (). Другие функции просто возвращают S_OK.

В документации M $ SDK не упоминается, что нам нужно это реализовать !!! После часов отладки, Я заметил, что quartz.dll пытается запросить этот интерфейс из custom-allocator. Иногда стоит быть терпеливым!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...