de error de fonones VideoWidget: “el widget de vídeo no se pudo inicializar correctamente”

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

  •  18-09-2019
  •  | 
  •  

Pregunta

hice esta pregunta en la lista de correo PyQt, y no conseguir ninguna respuesta, así que voy a probar suerte aquí.

Me he encontrado con un problema frustrante (sólo en Windows): cuando se trata de crear una instancia de VideoWidget, estoy recibiendo el mensaje de error "el widget de vídeo no se pudo inicializar correctamente". Curiosamente, esto sólo apareció en el código después de varias semanas de funcionamiento perfecto, en dos cajas de Windows separadas (la otra imagen de un XP que opera a través de Parallels uno Vista,). No estoy al tanto de todo lo que tenga cambiado en el medio ambiente que puedan haber causado.

Estoy usando Python 2.6 y 4.5.4 del PyQt instalador de Windows. Me he dado cuenta esta cuestión se planteó en noviembre pasado, pero no se ofrecieron soluciones:

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

Mi googlear no ha aparecido ninguna explicación de lo que puede causar esto. Puede cualquier persona pista en?

¿Fue útil?

Solución 2

El odio a responder a mi propia pregunta, pero si alguien más encuentros siguiente:

La solución a este terminó siendo específico del hardware. Fonones parece tener problemas con los controladores de vídeo para las máquinas virtuales Parallels particulares - en mi caso. hardware físico no presenta el problema. No hay ninguna solución que he podido encontrar.

Otros consejos

El código que genera que el mensaje está en 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;
 }

Filtro es de tipo ComPointer<IBaseFilter> y su constructor hace la llamada siguiente no (una llamada operador devuelve m_t que se asigna a m_filter arriba):

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

Por lo tanto, está fallando en una llamada a la API de Windows. Se podría modificar el código fuente para averiguar cuál es el valor de retorno de CoCreateInstance es con el fin de aislar la causa, pero parece que está relacionado con un cambio en el sistema y no sé cómo ayudar aún más. Buena suerte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top