erreur phonon VideoWidget: « le widget vidéo n'a pas pu être initialisé correctement »

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

  •  18-09-2019
  •  | 
  •  

Question

J'ai posé cette question sur la liste de diffusion PyQt, et n'a pas obtenu les réponses, donc je vais tenter ma chance ici.

Je l'ai rencontré un problème frustrant (sous Windows uniquement): lorsque vous essayez de créer une instance VideoWidget, je reçois le message d'erreur « le widget vidéo n'a pas pu être initialisé correctement ». Bizarrement, ce juste fait surface dans le code après plusieurs semaines de fonctionnement parfait, sur deux boîtes de Windows Vista séparées (une, l'autre une image de XP en cours d'exécution via Parallels). Je ne suis pas au courant de rien avoir changé dans l'environnement qui peut avoir causé.

J'utilise Python 2.6 et le PyQt 4.5.4 Windows Installer. Je remarque cette question a été soulevée Novembre dernier, mais aucune solution n'a été proposées:

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

Mon googler n'a pas retroussé les explications de ce qui peut causer cela. Pouvez-vous me la moindre idée de quelqu'un dans?

Était-ce utile?

La solution 2

Je suis désolé de répondre à ma propre question, mais si quelqu'un d'autre rencontre ceci:

La solution à ce fini par être spécifiques au matériel. Phonon semble avoir des problèmes avec les pilotes vidéo pour les machines virtuelles particulières - Parallels dans mon cas. matériel physique ne présente pas la question. Il n'y a pas de solution, je suis en mesure de trouver.

Autres conseils

Le code qui génère un message qui 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;
 }

Le filtre est de type ComPointer<IBaseFilter> et son constructeur effectue l'appel suivant défaut (un appel d'opérateur retourne M_T qui est attribué à m_filter ci-dessus):

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

Ainsi, il est échoué dans un appel API Windows. Vous pouvez modifier le code source pour savoir ce que la valeur de retour de CoCreateInstance est afin d'isoler la cause, mais il semble que ce soit lié à un changement sur votre système et je ne sais pas comment aider. Bonne chance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top