Errore di Phonon VideoWidget: “il widget video non poteva essere inizializzato correttamente”

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

  •  18-09-2019
  •  | 
  •  

Domanda

Ho fatto questa domanda sulla mailing list PyQt, e non ho avuto alcuna risposta, quindi proverò la mia fortuna qui.

Ho incontrato un problema frustrante (solo su Windows): quando si tenta di creare un'istanza VideoWidget, sto ottenendo il messaggio di errore "il widget di video non poteva essere inizializzato correttamente". Stranamente, questo appena emerse nel codice dopo diverse settimane di perfetto funzionamento, su due macchine Windows separate (una Vista, l'immagine di un altro XP in esecuzione tramite Parallels). Io non sono a conoscenza di nulla aver cambiato nell'ambiente che possono aver causato.

Sto usando Python 2.6 e il programma di installazione di Windows PyQt 4.5.4. Ho notato questo problema è stato sollevato lo scorso novembre, ma esistono soluzioni hanno offerto:

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

Il mio Googling non ha alzato spiegazioni di ciò che può causare questo. Qualcuno mi può indizio?

È stato utile?

Soluzione 2

L'odio di rispondere alla mia domanda, ma se qualcun altro gli incontri in questo modo:

La soluzione a questo ha finito per essere specifici per l'hardware. Phonon sembra avere problemi con i driver video per particolari macchine virtuali Parallels - nel mio caso. hardware fisico non presenta il problema. Non v'è alcuna soluzione Sono stato in grado di trovare.

Altri suggerimenti

Il codice che genera quel messaggio è in 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;
 }

Filter è tipo ComPointer<IBaseFilter> e il costruttore effettua la chiamata seguente non avendo (a chiamata operatore restituisce m_t che viene assegnato a m_filter sopra):

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

In questo modo, è non riuscendo in una chiamata API di Windows. Si potrebbe modificare il codice sorgente per scoprire qual è il valore di ritorno di CoCreateInstance è per isolare la causa, ma sembra che sia correlato ad un cambiamento nel sistema e non so come aiutare ulteriormente. Buona fortuna.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top