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)