Improve footprint by allowing element selection during static link stage

This MR intends to alleviate gst-full library by splitting the plugin into elements and add these elements to a static plugin removing all the unnecessary code from non selected elements.

By reorganizing the code after declaring all the individual element (GST_ELEMENT_DEFINE) from a plugin, the dead code path (elements not selected and their code dependencies) will be removed. It will result in a smaller gst-full library containing only the set of libs and the set of plugins/elements selected.

For more details, please follow details described in gst-build!199 (merged)

Edited by Stéphane Cerveau

Merge request reports