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?