How to skip compilation of Qt5MultimediaGstTools?
-
Hi, I recently compiled Qt 5.15.5 on Linux. Qt's multimedia on Linux relies on GStreamer. But after installing GStreamer-related dependencies and compiling Qt, libQtMultimediaGstTools.so will be generated. Is there a configuration to not compile this shared library? Because I see warnings in the header files of this library saying that this library is not part of the Qt API, and some people say that this library has some problems and can't be used normally. For whatever reason, is there a way to skip this library when the multimedia functionality is guaranteed to work?
-
Hi,
It's a helper library for the GStreamer backend. The warning states that it's not part of the public API and thus can be changed and even removed at any time. This is the same warning that you will see in all the headers from the private API part of Qt and nothing to worry about. It is what allows Qt to provide its API and ABI guaranties while allowing the implementation to be changed and fixed.
-
Hi,
It's a helper library for the GStreamer backend. The warning states that it's not part of the public API and thus can be changed and even removed at any time. This is the same warning that you will see in all the headers from the private API part of Qt and nothing to worry about. It is what allows Qt to provide its API and ABI guaranties while allowing the implementation to be changed and fixed.
@SGaist Ah this. . . So this is ah. Thank you for taking the time to answer my doubts. I still have a few small questions.
1. So it means that you want the multimedia function to be normal [play music and video, etc.] This library cannot be removed, right?
2. I saw a lot of functions in the header file of this library, such as play, pause and some other APIs similar to the player. So can this library also be used to play music and videos?
3. I have also compiled this library on Windows platform, can it also play music and video? I didn't see any help documentation about this library API in QDoc Central. . . why is that?
4. If you use this library on Windows platform, you should rely on GStreamer related binary files, such as: gstreamer-1.0.dll. .
5. If available, is it available in Qml? Is there an exact type corresponding to Qml?
Looking forward to your reply!
-
-
using the GStreamer backend, yes, you need that library (it's gone in Qt 6 though)
-
The library implements the QtMultimedia API on top of GStreamer
-
AFAIK, it should provide the same level of support. There is no documentation provided because it's a internal library and shall be considered an implementation detail that can be changed / removed at any time as the warning in the headers says. It is used for the corresponding platform plugin and nothing more.
-
Yes, the same goes for Linux where you need to have the GStreamer packages installed on your system.
-
This is one of several backends. Qt provides the Qt Multimedia widgets and Qt Quick items to build your application. Whether it uses the Windows or GStreamer backend has no influence on the widgets or Qt Quick item you use to build your GUI.
-
-
-
using the GStreamer backend, yes, you need that library (it's gone in Qt 6 though)
-
The library implements the QtMultimedia API on top of GStreamer
-
AFAIK, it should provide the same level of support. There is no documentation provided because it's a internal library and shall be considered an implementation detail that can be changed / removed at any time as the warning in the headers says. It is used for the corresponding platform plugin and nothing more.
-
Yes, the same goes for Linux where you need to have the GStreamer packages installed on your system.
-
This is one of several backends. Qt provides the Qt Multimedia widgets and Qt Quick items to build your application. Whether it uses the Windows or GStreamer backend has no influence on the widgets or Qt Quick item you use to build your GUI.
@SGaist Then in Windows Qt implements the Multimedia function by encapsulating the DirectShow interface. This should be the default. So if I use Qt with GStreamer enabled on the Windows platform, how can I make the multimedia functions use GStreamer instead of the default DirectShow?
-
-
The simple way is to move the other plugins from your installation into a different folder.