QMediaplayer plugin - no service found for - "org.qt-project.qt.mediaplayer"



  • Hello everyone,

    First of, I am using latest Qt 5.12.3 with x64 msvc-2017 (visual studio) on my windows 10 computer.

    I have recently started working on a personal project involving a video player. But I've quickly met an issue that's been eating at me for days :

    Just when I call the constructor for QMediaPlayer, my debug terminal goes bananas and throws the following :

    QFactoryLoader::QFactoryLoader() checking directory path "C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice" ...
    QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/dsengine.dll"
    Found metadata in lib C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/dsengine.dll, metadata=
    {
    "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
    "MetaData": {
    "Keys": [
    "directshow"
    ],
    "Services": [
    "org.qt-project.qt.camera",
    "org.qt-project.qt.mediaplayer"
    ]
    },
    "archreq": 0,
    "className": "DSServicePlugin",
    "debug": false,
    "version": 330752
    }

    "The plugin 'C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/dsengine.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
    not a plugin
    QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/dsengined.dll"
    Found metadata in lib C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/dsengined.dll, metadata=
    {
    "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
    "MetaData": {
    "Keys": [
    "directshow"
    ],
    "Services": [
    "org.qt-project.qt.camera",
    "org.qt-project.qt.mediaplayer"
    ]
    },
    "archreq": 1,
    "className": "DSServicePlugin",
    "debug": true,
    "version": 330752
    }

    Got keys from plugin meta data ("directshow")
    QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/qtmedia_audioengine.dll"
    Found metadata in lib C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/qtmedia_audioengine.dll, metadata=
    {
    "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
    "MetaData": {
    "Keys": [
    "audiocapture"
    ],
    "Services": [
    "org.qt-project.qt.audiosource"
    ]
    },
    "archreq": 0,
    "className": "AudioCaptureServicePlugin",
    "debug": false,
    "version": 330752
    }

    "The plugin 'C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/qtmedia_audioengine.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
    not a plugin
    QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/qtmedia_audioengined.dll"
    Found metadata in lib C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/qtmedia_audioengined.dll, metadata=
    {
    "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
    "MetaData": {
    "Keys": [
    "audiocapture"
    ],
    "Services": [
    "org.qt-project.qt.audiosource"
    ]
    },
    "archreq": 1,
    "className": "AudioCaptureServicePlugin",
    "debug": true,
    "version": 330752
    }

    Got keys from plugin meta data ("audiocapture")
    QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/wmfengine.dll"
    Found metadata in lib C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/wmfengine.dll, metadata=
    {
    "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
    "MetaData": {
    "Keys": [
    "windowsmediafoundation"
    ],
    "Services": [
    "org.qt-project.qt.audiodecode"
    ]
    },
    "archreq": 0,
    "className": "WMFServicePlugin",
    "debug": false,
    "version": 330752
    }

    "The plugin 'C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/wmfengine.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
    not a plugin
    QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/wmfengined.dll"
    Found metadata in lib C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/wmfengined.dll, metadata=
    {
    "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
    "MetaData": {
    "Keys": [
    "windowsmediafoundation"
    ],
    "Services": [
    "org.qt-project.qt.audiodecode"
    ]
    },
    "archreq": 1,
    "className": "WMFServicePlugin",
    "debug": true,
    "version": 330752
    }

    Got keys from plugin meta data ("windowsmediafoundation")
    QFactoryLoader::QFactoryLoader() checking directory path "D:/DEV/MediaPlayer/MyMediaPlayer/x64/Debug/mediaservice" ...
    QMediaPluginLoader: loading metadata for iid "org.qt-project.qt.mediaserviceproviderfactory/5.0" at location "/mediaservice"
    QMediaPluginLoader: Inserted index 0 into metadata: QJsonObject({"Keys":["directshow"],"Services":["org.qt-project.qt.camera","org.qt-project.qt.mediaplayer"],"index":0})
    QMediaPluginLoader: Inserting new list for key: "org.qt-project.qt.camera"
    QMediaPluginLoader: Inserting new list for key: "org.qt-project.qt.mediaplayer"
    QMediaPluginLoader: Inserted index 1 into metadata: QJsonObject({"Keys":["audiocapture"],"Services":["org.qt-project.qt.audiosource"],"index":1})
    QMediaPluginLoader: Inserting new list for key: "org.qt-project.qt.audiosource"
    QMediaPluginLoader: Inserted index 2 into metadata: QJsonObject({"Keys":["windowsmediafoundation"],"Services":["org.qt-project.qt.audiodecode"],"index":2})
    QMediaPluginLoader: Inserting new list for key: "org.qt-project.qt.audiodecode"
    'MyMediaPlayer.exe' (Win32) : Chargé 'C:\Qt\5.12.3\msvc2017_64\plugins\mediaservice\dsengined.dll'. Les symboles ont été chargés.
    'MyMediaPlayer.exe' (Win32) : Chargé 'C:\Windows\System32\d3d9.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'MyMediaPlayer.exe' (Win32) : Chargé 'C:\Windows\System32\dxva2.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'MyMediaPlayer.exe' (Win32) : Déchargé 'C:\Windows\System32\d3d9.dll'
    'MyMediaPlayer.exe' (Win32) : Déchargé 'C:\Windows\System32\dxva2.dll'
    'MyMediaPlayer.exe' (Win32) : Déchargé 'C:\Qt\5.12.3\msvc2017_64\plugins\mediaservice\dsengined.dll'
    Cannot load library C:\Qt\5.12.3\msvc2017_64\plugins\mediaservice\dsengined.dll: Le module spécifié est introuvable.
    QLibraryPrivate::loadPlugin failed on "C:/Qt/5.12.3/msvc2017_64/plugins/mediaservice/dsengined.dll" : "Cannot load library C:\Qt\5.12.3\msvc2017_64\plugins\mediaservice\dsengined.dll: Le module spécifié est introuvable."
    defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"

    I've spent days looking for a solution, tried rebuilding Qt, tried using another version of Qt, and/or versions of MSVC... Nothing changes, I can't get this service to work.

    Any insight ? Hope someone can help me out I'm starting to run out of ideas.

    Thanks a lot in advance, looking forward to reading from you guys.

    Regards,

    TomHat


  • Qt Champions 2018

    @TomHat

    (Cannot mix debug and release libraries.)

    carefully check your paths and PATH environment variable. for some reason DLLs of different version or debug/release are used. That doesn't work (on Windows)



  • Hello aha_1980,

    First of, thanks a lot for taking the time to reply.
    I have checked my paths and PATH environment variable, but it seems like the same path is used everywhere. Although... it also seems both DEBUG and RELEASE plugin DLLs are being loaded.
    I don't suppose that's normal, is it ? Is there something I can do about that ?

    Thanks in advance.

    Best regards,
    TomHat


  • Lifetime Qt Champion

    Hi
    There might be an app installed that added something to the PATH environment so
    its Qt dlls are found first.
    alt text
    You have to look PATH over and try to see if any points to program folder or the like.



  • Hello,
    Thank you as well for the help. I have now looked into my PATH environment variables. Nothing shocking there... I have searched for all QT resources used in other softwares I have installed on my computer, and deleted them all.
    Nothing changed.

    I aslo tried compiling a debug-only version of Qt, and here's what I get...

    QFactoryLoader::QFactoryLoader() checking directory path "C:/Qt/5.12.3/msvc2017/plugins/mediaservice" ...
    QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.12.3/msvc2017/plugins/mediaservice/dsengined.dll"
    Found metadata in lib C:/Qt/5.12.3/msvc2017/plugins/mediaservice/dsengined.dll, metadata=
    {
    "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
    "MetaData": {
    "Keys": [
    "directshow"
    ],
    "Services": [
    "org.qt-project.qt.camera",
    "org.qt-project.qt.mediaplayer"
    ]
    },
    "archreq": 1,
    "className": "DSServicePlugin",
    "debug": true,
    "version": 330752
    }

    Got keys from plugin meta data ("directshow")
    QFactoryLoader::QFactoryLoader() looking at "C:/Qt/5.12.3/msvc2017/plugins/mediaservice/qtmedia_audioengined.dll"
    Found metadata in lib C:/Qt/5.12.3/msvc2017/plugins/mediaservice/qtmedia_audioengined.dll, metadata=
    {
    "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
    "MetaData": {
    "Keys": [
    "audiocapture"
    ],
    "Services": [
    "org.qt-project.qt.audiosource"
    ]
    },
    "archreq": 1,
    "className": "AudioCaptureServicePlugin",
    "debug": true,
    "version": 330752
    }

    Got keys from plugin meta data ("audiocapture")
    QFactoryLoader::QFactoryLoader() checking directory path "D:/DEV/MediaPlayer/MyMediaPlayer/Win32/Debug/mediaservice" ...
    QMediaPluginLoader: loading metadata for iid "org.qt-project.qt.mediaserviceproviderfactory/5.0" at location "/mediaservice"
    QMediaPluginLoader: Inserted index 0 into metadata: QJsonObject({"Keys":["directshow"],"Services":["org.qt-project.qt.camera","org.qt-project.qt.mediaplayer"],"index":0})
    QMediaPluginLoader: Inserting new list for key: "org.qt-project.qt.camera"
    QMediaPluginLoader: Inserting new list for key: "org.qt-project.qt.mediaplayer"
    QMediaPluginLoader: Inserted index 1 into metadata: QJsonObject({"Keys":["audiocapture"],"Services":["org.qt-project.qt.audiosource"],"index":1})
    QMediaPluginLoader: Inserting new list for key: "org.qt-project.qt.audiosource"
    'MyMediaPlayer.exe' (Win32) : Chargé 'C:\Qt\5.12.3\msvc2017\plugins\mediaservice\dsengined.dll'. Les symboles ont été chargés.
    'MyMediaPlayer.exe' (Win32) : Chargé 'C:\Windows\SysWOW64\d3d9.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'MyMediaPlayer.exe' (Win32) : Chargé 'C:\Windows\SysWOW64\dxva2.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'MyMediaPlayer.exe' (Win32) : Déchargé 'C:\Windows\SysWOW64\d3d9.dll'
    'MyMediaPlayer.exe' (Win32) : Déchargé 'C:\Windows\SysWOW64\dxva2.dll'
    'MyMediaPlayer.exe' (Win32) : Déchargé 'C:\Qt\5.12.3\msvc2017\plugins\mediaservice\dsengined.dll'
    Cannot load library C:\Qt\5.12.3\msvc2017\plugins\mediaservice\dsengined.dll: Le module spécifié est introuvable.
    QLibraryPrivate::loadPlugin failed on "C:/Qt/5.12.3/msvc2017/plugins/mediaservice/dsengined.dll" : "Cannot load library C:\Qt\5.12.3\msvc2017\plugins\mediaservice\dsengined.dll: Le module spécifié est introuvable."
    defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"

    I really hope someone's got a solution for me there. Because I'm out of ideas right now.

    Thank you guys a lot in advance.

    Best regards,

    TomHat


  • Lifetime Qt Champion

    Hi
    I wonder if something up with your DirectX.
    Can you try to run dxdiag.exe
    and see if all looks good ?
    alt text



  • Hello,

    I had not thought of looking there... Thanks for the idea. Here is what this dialog says (sorry for the french) :
    0_1557075149759_DX.png

    Seems all right... Or am I missing something ?

    Best regards,
    TomHat


  • Lifetime Qt Champion

    Hi
    Could try to see if a new driver is available for your intel card ?
    its worth a shot



  • Hello,

    Nope, no driver update available, sadly.
    I tried on 3 other computers and it works perfectly ! What could possibly go wrong with my laptop ?

    Thanks again for all the help !

    Best regards,

    TomHat



  • Actually, after some more research, turned out @mrjj wasn't too far from fixing my problem. I just needed to google "missing media service windows 10", and learned some computers needed to manually download media update from microsoft's website.
    Well that only solved half of the problem, as I still have no sound coming out, and I get the following error message after creating a QMediaPlaylist :

    Invalid parameter passed to C runtime function.
    Invalid parameter passed to C runtime function.
    Invalid parameter passed to C runtime function.
    Invalid parameter passed to C runtime function.

    Thanks guys for you help !

    Best regards,

    TomHat


  • Lifetime Qt Champion

    Hi
    Your DirectX looked pretty ok.
    So not sure what it still is missing.
    Did you look in dxdiag under sound ?
    and it all looked fine ?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.