Грешка на Phonon VideoWidget: видеоизпълнителят не може да бъде инициализиран правилно

Зададох този въпрос в пощенския списък на PyQt и не получих никакви отговори, така че ще опитам късмета си тук.

Срещнах разочароващ проблем (само за Windows): когато се опитвам да създам екземпляр на VideoWidget, получавам съобщение за грешка „видео приспособлението не може да бъде инициализирано правилно“. Странно, това току-що се появи в кода след няколко седмици перфектна работа, на две отделни Windows кутии (едната Vista, другата XP изображение, работещо чрез Parallels). Не знам нищо да се е променило в околната среда, което да го е причинило.

Използвам Python 2.6 и инсталатора на Windows PyQt 4.5.4. Забелязвам, че този проблем беше повдигнат миналия ноември, но не бяха предложени решения:

http://www.riverbankcomputing.com/pipermail/pyqt/2008-November/021029.html

Моето търсене в Гугъл не намери никакви обяснения какво може да причини това. Може ли някой да ме подскаже?


person Daniel Naab    schedule 17.08.2009    source източник


Отговори (2)


Кодът, който генерира това съобщение, е в 3rdparty/phonon/ds9/videorenderer_vmr9.cpp:

m_filter = Filter(CLSID_VideoMixingRenderer9, IID_IBaseFilter);
if (!m_filter) {
    qWarning("the video widget could not be initialized correctly");
    return;
 }

Филтърът е тип ComPointer<IBaseFilter> и неговият конструктор прави следното неуспешно извикване (извикване на оператор връща m_t, което е присвоено на m_filter по-горе):

::CoCreateInstance(clsid, 0, CLSCTX_INPROC_SERVER, iid,
                reinterpret_cast<void**>(&m_t));

По този начин той се проваля в извикване на Windows API. Бихте могли да промените изходния код, за да разберете каква е върнатата стойност на CoCreateInstance, за да изолирате причината, но изглежда, че е свързано с промяна във вашата система и не знам как да помогна допълнително. Късмет.

person Kaleb Pederson    schedule 18.08.2009

Мразя да отговарям на собствения си въпрос, но ако някой друг се сблъска с това:

Решението за това в крайна сметка беше специфично за хардуера. Изглежда, че Phonon има проблеми с видеодрайверите за определени виртуални машини - Parallels в моя случай. Физическият хардуер не проявява проблема. Няма заобиколно решение, което успях да намеря.

person Daniel Naab    schedule 19.11.2009