libstagefright: Add Dolby UDC decoder support

Add support for ARM based AC3/EAC3 decoder

Change-Id: I63e994fca23479ea9f7c68d5f008eed00cbafffd

Conflicts:
	include/media/stagefright/MediaDefs.h
	media/libstagefright/Android.mk
	media/libstagefright/omx/Android.mk
libstagefright: Additional UDC software decoder support
patches

This is principally to allow merging into CAF. AC3/EC3
mime-type definitions removed to prevent duplication.

Change-Id: I09847a09b0f0780798a82cff7b31b2207c267769

Conflicts:
	include/media/stagefright/MediaDefs.h
frameworks/av: Fix race condition during LPA/tunnel playback

-Mutex unlock is called twice in audioflinger setparameter. This
 can cause undefined behaviour.
-This causes not audio issue during LPA /tunnel playback.
-Fix issue by removing unnecessary unlocks in LPA playback.

CRs-Fixed: 501427
Change-Id: Ic81067678347e534b7d3885a750af8fa618d22e3
audioflinger: Fix crash on delete effectchain from google music app

-Fix crash in delete effect session on pause /resume of lpa effects.
-On pause-resume from google music app with lpa effects enabled there
 is a possibility of lpa effect chain to be cleared from two threads
 resulting in a crash.
-Use flinger lock to synchronize the threads.

CRs-Fixed: 503592
Change-Id: Ib6f134d6a6681fa1a9915cc0e31546949757b7a3

Conflicts:
	services/audioflinger/AudioFlinger.cpp
stagefright: support multiple tunnel instances

There is a need of supporting more than 1 instance of TunnelPlayer.
When one tunnel playback is run and if we try to play a video
having audio format supported in tunnel mode only, that can not be
played due to this limitation, so implement upto 4 tunnel instances
support

Change-Id: I6305840134ba1e2eb71199120187c13ac88d1ddf

CRs-Fixed: 483603
audioflinger: Do not apply effect on multichannel content

-Do not apply effect on multichannel content.
-Effects are applied only for mono or stereo.

CRs-Fixed: 484078
Change-Id: I0b6aa4ab19c5a24f81705f141ddb3b4a86ee52fa

Conflicts:
	services/audioflinger/AudioFlinger.cpp