diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-09-07 15:08:58 +0200 |
---|---|---|
committer | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-10-10 09:53:52 +0200 |
commit | bf4e6b506583170f1f86eb408ab01b5846b7a96d (patch) | |
tree | 3fa98757619bcb2186664311d08486d62d06fa5e /src/plugins/multimedia/gstreamer/audio/qgstreameraudiosource.cpp | |
parent | 6fae541a2015c329942f6c2a96fc3b1de3f14a7a (diff) |
Validate that gstreamer elements necessary for operation are available
This patch validates that all elements that are necessary to run
the requested functionality are available. Instead of running
constructors directly, the patch uses a static create() function for
each class. This function first tries to instantiate all necessary
GStreamer plugins and then pass them to the class constructor.
If some element is missing the function returns an error message
describing the element.
Pick-to: 6.4
Fixes: QTBUG-106257
Change-Id: I2b9db3f509e9ad5b760fcc251e634a01c687b790
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Diffstat (limited to 'src/plugins/multimedia/gstreamer/audio/qgstreameraudiosource.cpp')
-rw-r--r-- | src/plugins/multimedia/gstreamer/audio/qgstreameraudiosource.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/multimedia/gstreamer/audio/qgstreameraudiosource.cpp b/src/plugins/multimedia/gstreamer/audio/qgstreameraudiosource.cpp index d1b00840a..77d09be49 100644 --- a/src/plugins/multimedia/gstreamer/audio/qgstreameraudiosource.cpp +++ b/src/plugins/multimedia/gstreamer/audio/qgstreameraudiosource.cpp @@ -159,6 +159,7 @@ bool QGStreamerAudioSource::open() QGstElement conv("audioconvert", "conv"); gstVolume = QGstElement("volume", "volume"); + Q_ASSERT(gstVolume); if (m_volume != 1.) gstVolume.set("volume", m_volume); |