Я борюсь с этой проблемой в течение недели .. Я надеюсь, что могу заявить
проблема достаточно ясна:
Итак, я настраиваю свой собственный распределитель / докладчик и в InitializeDevice () я
создать текстуры для VMR9
Затем VMR9 вызывает мою функцию PresentImage () каждый раз, когда у нее
кадр.
Я отображаю рендер этой текстуры на четырехугольнике и представляю ее (). Если
Present () возвращает D3DERR_DEVICELOST, а затем PostMessage () для моего
WndProc () для оповещения о перезагрузке устройства.
Затем мой WndProc () вызывает ResetDevice () для моего пользовательского объекта.
ResetDevice () освобождает все ресурсы DEFAULT_POOL и вызывает Reset () в
Устройство. Теперь давайте на минуту остановимся
В этот момент Direct3d выдает ошибку, сообщающую, что я все еще держу
ссылки на некоторые поверхности DEFAULT_POOL ... Что я вполне уверен, что я делаю
не потому что я освобождаю единственную текстуру, которую я выделил. Эта проблема
загадка насколько я знаю ... Есть многочисленные неотвеченные форумы
сообщения по этому вопросу, начиная с 2003 года ..
Давайте сменим полосу движения. В этом сообщении на форуме
http://www.eggheadcafe.com/software/aspnet/29909616/i-did-some-more-e...
сказано, что вы должны остановить график, отключить все контакты
VMR9, перезагрузите устройство, затем снова подключите и снова запустите график.
Когда я это делаю, я получаю еще одну жалобу Direct3d:
Direct3D9: (ОШИБКА): сбой при попытке создать текстуру
Direct3D9: (ОШИБКА): ширина текстуры больше, чем у устройства
поддерживает. Сбой CreateTexture.
Я проследил проблему до некоторой точки, где я вижу, что в какой-то функции
глубоко в VMR9 вычисляет следующую степень 2 ширины до
создание некоторых текстур (кроме тех, которые я успешно создаю в
мой А / П). И во время отслеживания я понял это:
Ширина моего видео - 640. Следующая степень 2 из 640 - 1024. И я вижу
что это значение как-то становится 10240. Хотя я даже не устанавливаю
ширина выделения до 1024. Я просто передаю 640, поскольку моя видеокарта не
требуются размеры текстуры pow2.
Вот где я застрял ..
Есть ли кто-нибудь, кто знает что-то о сбросе / обновлении
устройство с VMR9 ?? Пожалуйста, помогите.
Заранее спасибо.
Фатих