Initial support for configuration file
Initial support for configuration file

Configurable mapping between gst-openmax elements and OMX library-name
and component-name via config file. The config file may even create
multiple different elements with unique names using the same gst-openmax
class but different OMX library-name and/or component-name.

In the simple case, of one OMX component per gst-openmax class, specify
the gst-openmax class as the 'type', and the 'library-name' and
'compnent-name' of the OMX component, and optionally the 'rank'
(defaults to 0 or GST_RANK_NONE):

----
omx_h264dec,
  type=GstOmxH264Dec,
  library-name=libomxil-bellagio.so.0,
  component-name=OMX.st.video_decoder.avc,
  rank=256;
----

Or in the advanced case of multiple OMX components per gst-openmax
class, specify the gst-openmax class as the 'parent-type' and a
dynamically created sub-class for the 'type':

----
omx_mp3dec_ti,
  parent-type=GstOmxMp3Dec,
  type=GstOmxMp3DecTi
  library-name=libOMX_Core.so.0,
  component-name=OMX.TI.AUDIO.DECODE,
  component-role=audio_decode.dsp.mp3,
  rank=256;

omx_mp3dec_nokia,
  parent-type=GstOmxMp3Dec,
  type=GstOmxMp3DecNokia
  library-name=libomxil_bellagio.so.0,
  component-name=OMX.nokia.audio_decode.mp3,
  rank=128;
----

By default, the config file is stored in $HOME/.config/gst-openmax.conf,
although if none is found a default config will be created.

Modified by Felipe Contreras to keep using the library and component
names through qdata. Plus a bunch of cleanups and reorganization.

Signed-off-by: Felipe Contreras <de77a8b9cd239b204c19c52ed62e48ab47243362@nokia.com>
Signed-off-by: Rob Clark <7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@ti.com>

matsu/gst-openmax,felipec/gst-openmax,freedesktop-unofficial-mirror/gstreamer__attic__gst-openmax,felipec/gst-openmax,matsu/gst-openmax,freedesktop-unofficial-mirror/gstreamer__attic__gst-openmax