Ошибка видеозаписи Phonon:“не удалось правильно инициализировать виджет видео”

StackOverflow https://stackoverflow.com/questions/1291068

  •  18-09-2019
  •  | 
  •  

Вопрос

Я задал этот вопрос в списке рассылки PyQt и не получил никаких ответов, так что я попытаю счастья здесь.

Я столкнулся с неприятной проблемой (только в Windows):при попытке создать экземпляр VideoWidget я получаю сообщение об ошибке "не удалось правильно инициализировать видео-виджет".Как ни странно, это только что всплыло в коде после нескольких недель безупречной работы в двух отдельных окнах Windows (одна Vista, другая - образ XP, запущенный через Parallels).Я не знаю о каких-либо изменениях в окружающей среде, которые могли бы стать причиной этого.

Я использую Python 2.6 и установщик PyQt 4.5.4 для Windows.Я замечаю, что этот вопрос был поднят в ноябре прошлого года, но никаких решений предложено не было:

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

Мой поиск в Google не нашел никаких объяснений того, что может быть причиной этого.Кто-нибудь может подсказать мне?

Это было полезно?

Решение 2

Ненавижу отвечать на мой собственный вопрос, но если кто-нибудь еще столкнется с этим:

Решение этой проблемы оказалось зависящим от конкретного оборудования.У Phonon, похоже, проблемы с видеодрайверами для определенных виртуальных машин - Parallels в моем случае.Физическое оборудование не обнаруживает этой проблемы.Я не смог найти никакого обходного пути.

Другие советы

Код, который генерирует это сообщение, находится в 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, чтобы определить причину, но, похоже, это связано с изменением в вашей системе, и я не знаю, как помочь дальше.Удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top