The GstPlugin documentation (gstreamer.freedesktop.org) seems to be suggesting that the version
arg is different than the major and minor version args at the start of the macro – that those two are related to the gstreamer version the plugin is compiled against so therefore the last version is the plugin’s version itself. However if I treat the version
argument in that way, I get a behavior of gst-inspect-1.0 --exists <element>
being different than the output of gst-inspect-1.0 <element>
(the former is a non-zero exit whereas the latter clearly finds the element and can read its information). I ran the command with GST_DEBUG=*:DEBUG
enabled, and the log ended with this: Checking whether 0.2.1 >= 1.22.0? no
. (The log line is from gst_plugin_feature_check_version
.) The code is comparing the plugin’s version to the GStreamer core library version and reporting back that the plugin is incompatible because its own independent version differs from GStreamer’s own version.
Is the version
arg supposed to be the full GStreamer core version? If so, why is the major and minor version also required as the first two args to the macro – it seems redundant/unnecessary.
If the version
arg is not supposed to be the plugin’s own independent version, where is such a version supposed to be set when declaring a plugin?