lpsink: Add StateChange asynchronously

When changing lpsink's state, it returns GST_STATE_CHANGE_ASYNC
In case of READY -> PAUSED and PAUSED -> READY state

Before this patch, in streaming playback cases, stateChange return value is
always GST_STATE_CHANGE_SUCCESS
It is not guarentee actual status of sink elements

:Issues Addressed:
[GF-33102] media pipeline command handler

Change-Id: Iafee630bcaf23bb6591e9c642a7d96c0bab415da
Reviewed-on: https://gpro.palm.com/11786
Reviewed-by: Wonchul Lee <wonchul86.lee@lge.com>
Tested-by: Wonchul Lee <wonchul86.lee@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpbin: Fix a thumbnail extraction bug

http://hlm.lge.com/issue/browse/MSPART-154

Change-Id: If0e0bb59578252578abbc10b478fc6db6c82482b
Reviewed-on: https://gpro.palm.com/12481
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpbin: Fix memory leaks

fix memory leaks at thumbnail extract code.
the return value of gst_element_get_name function need to be freed

Change-Id: Ic302cabb75aa36aeaadbd343ee5194cf1cb1ab62
Reviewed-on: https://gpro.palm.com/12572
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpbin: Fix SIGABRT when state changing

When pipeline state changing READY to NULL, SIGABRT occured.
The reason why gst_element_factory_get_klass return "" values.
Thus add the exception handling code.

:Issues Addressed:
[GF-40892] segmentation fault when unloading pipeline

Change-Id: Idf3d99fa71767732df68290346a75622577a3263
Reviewed-on: https://gpro.palm.com/12732
Tested-by: Wonchul Lee <wonchul86.lee@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpsink: Fix segfault when state changing

When pipeline State changing at READY to NULL, segmentation fault occured.

http://jira2.lgsvl.com/browse/GF-40892

Change-Id: I91efc9403dda1bf59184b4fea2f970ff22c6b18b
Reviewed-on: https://gpro.palm.com/12738
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpsink: Modify some logics with streamiddemux

It is modified that uses caps_nodify_cb from sinkpad in streamiddemux
instead of pad-aded cb from streamiddemux.
And reversefunnel element removed.

Change-Id: I1ba4ffcb4d67d39324e602b81c815d5611b80ba9
Reviewed-on: https://gpro.palm.com/12342
Tested-by: HoonHee Lee <hoonhee.lee@lge.com>
Reviewed-by: Hyunrae Cho <hr.cho@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
streamiddemux: Add mutex locks for srcpad

Before setting active_srcpad, the previous pad should be
released. For the reason of stability, mutex locks are required
before handling active_srcpad.

:Issues Addressed:
[GF-41143] streamid-demuxer for multiple streams and
           UD case in lpsink.

Change-Id: I6a03422e731c48745095f817fad2d7dc9f781549
Reviewed-on: https://gpro.palm.com/12894
Tested-by: HoonHee Lee <hoonhee.lee@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpbin: add get-audio-tags signal for upper layer

Changed signals of audio and video streams are added
to notify upper layer.
To get the tag information of audio and video streams,
get-audio-tags and get_video_tags signals are added.
Also, To get a pad instance of audio and video streams,
get_video_pad and get_audio_pad signals are added.

:Issues Addressed:
[GF-41484] add get-audio-tags signal at lpbin

Change-Id: I8ceddeada5ce9a6f5a0627da1c87f322078532ae
Reviewed-on: https://gpro.palm.com/13206
Tested-by: HoonHee Lee <hoonhee.lee@lge.com>
Reviewed-by: Hyunuk Seo <hyunuk.seo@lge.com>
Tested-by: Hyunuk Seo <hyunuk.seo@lge.com>
Reviewed-by: Hyunrae Cho <hr.cho@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpbin: modify delimiter of "smart-properties" property

This property makes to be possible that all of elements in uridecodebin
can set directly their's properties while auto-pluging.
A property should be comprised of key and value and split by '|' delimiter.
Also, all of properties should be split by '|' delimiter.
ex) smart-properties="program-number|3|emit-stats|TRUE"

:Issues Addressed:
[GF-41109] DLNA property set on gstreamer

DCO-1.0-Signed-off-by: hoonhee.lee <hoonhee.lee@lge.com>

Change-Id: I33a81dedc3138ecc87c003c6056ca899e76c64d2
Reviewed-on: https://gpro.palm.com/13301
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
common: Add submodule

A submodule, common, is related to build and maintain
code qualification. To synchronize with official repository,
Lightweigh Playback also follows these rules.

Change-Id: I036114fb480a102112ac5e594ba957c8fce68690
Reviewed-on: https://gpro.palm.com/13489
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
Reviewed-by: HoonHee Lee <hoonhee.lee@lge.com>
Tested-by: HoonHee Lee <hoonhee.lee@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpbin: Change sink property's type as READWRITE

The upper layer can gain access to sink elements via
"video-sink" and "audio-sink" like playbin.

:Issues Addressed:
[GF-42099] sinks should be exposed out of lpbin

Change-Id: I48d01eaa208e850fd7d8191ef9e41a49dcd8a860
Reviewed-on: https://gpro.palm.com/13916
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
Reviewed-by: HoonHee Lee <hoonhee.lee@lge.com>
Tested-by: Wonchul Lee <wonchul86.lee@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpbin: Fix build error for changing sink property's type as READWRITE

The upper layer can gain access to sink elements via
"video-sink" and "audio-sink" like playbin.

:Issues Addressed:
[GF-42099] sinks should be exposed out of lpbin

Change-Id: I40a97b84b78b4c01bc11c368993ee71e2c544f5d
Reviewed-on: https://gpro.palm.com/13937
Tested-by: HoonHee Lee <hoonhee.lee@lge.com>
Reviewed-by: Wonchul Lee <wonchul86.lee@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>
lpsink: Refactor request_pad code

Simplify stream-id-demux element deploy code when request_pad is called

Change-Id: If62be02a2cd429d356f02818ac95468fa554fe80
Reviewed-on: https://gpro.palm.com/13939
Tested-by: Wonchul Lee <wonchul86.lee@lge.com>
Reviewed-by: Jeongseok Kim <jeongseok.kim@lge.com>
Tested-by: Jeongseok Kim <jeongseok.kim@lge.com>