audio: Initial changes for LPA/Tunnel

Initial changes to enable Tunnel/LPA feature

Change-Id: Id3df3b9ad1a11a045be7280a080a0ac166fcdfc6
frameworks/av: port fixes in LPA and Tunnel mode playback

No History was maintained during porting. Updating the
Description and CR's of all the fixes.
LPA Mode:
LPAPlayer synchronization fixes.
Fixes for seek, pause/resume, EOS handling
Fixes for synchronization b/w the decoder thread, TimedEventQueue and player thread.
Convert mono to stereo for LPA clips - CRs-Fixed: 421639
Add support to change clip duration to enable LPA
Set correct device while creating effects - CRs-Fixed: 496866
Fix the LPA-AudioEffects dead lock issue - CRs-Fixed: 477511
fix volume not updated in pause state of direct track - CRs-Fixed: 490592
Tunnel Mode:
Use tunnel player only for music stream
Exceptions in using Tunnel mode decode - CRs-Fixed: 432080
Enable Tunnel Decode for select formats - CRs-Fixed:437651
Use software decoder for ADTS content. - CRs-fixed: 431096
Skip tunnel mode for playback through AudioCache - CRs-Fixed: 437539
Fix stability crash on tunnel playback. - CRs-Fixed: 498386
support multiple tunnel instances - CRs-Fixed: 483603
Fix ANR repeated next with tunnel clips on BT/AOA - CRs-Fixed: 482966
Update condition to ignore a seek request - CRs-Fixed: 461908
Return seek position until seek has been processed - CRs-Fixed: 454825
TunnelPlayer performance tweaks for audio video playback - CRs-Fixed: 444041
Stability fixes for Tunnel Player (part 2) - CRs-Fixed: 449122
Adjustment for TunnelPlayer buffer size - CRs-Fixed: 447274, 442365
Remove unnecessary code from TunnelPlayer - CRs-Fixed: 442365
update condition to send SEEK_COMPLETE - CRs-Fixed: 441411
Stop extractor source after start in TunnelPlayer - CRs-Fixed: 440239
Handling of EOS, and triggering EOS was wrong in TunnelPlayer.
EOS should not be posted till seek is complete
Disable tunnel mode playback for streaming use cases to avoid jittery playback
CRs-Fixed: 433346 432233 429868
APIs for returning correct timestamps were implemented
Check whether sink is open before flushing or closing it.
Check for mIsAudioRouted is good to know if we are closing it
Seekbar freezes after seek and pause
Check pause status before writing.
Changes Cherry picked from Iea150f8d75aa9aa6d14da078695e920a3742dd81

Change-Id: I8b968ddad235f6e1a36404f0c9c6eda7cae41419
frameworks/av: port fixes in LPA and Tunnel mode playback Draft -2

-LPAPlayer: Update condition to ignore seek CRs-Fixed: 453067
-libstagefright: TunnelPlayer: update condition to send SEEK_COMPLETE
  CRs-Fixed: 441411
-libstagefright: Fix ANR with rigorous rewind of 3gp LPA clips
  CRs-Fixed: 491077 490992
-frameworks/av: Add  metadata mode changes to LPAPlayer
  CRs-Fixed: 458904 491077 490992

Change-Id: Ia89d7d6ac63b1267422a9138df9f98ef59b0ccb7
frameworks/av: port fixes in LPA effects

-audio: Fix for deadlock issue during LPA playback.
-frameworks/av: Fix the LPA-AudioEffects dead lock issue CRs-Fixed: 477511
-audioflinger: Fix pops in LPA while effects are applied CRs-Fixed: 526799
-audioflinger: Fix delay in enabling effect for LPA CRs-Fixed: 525510

Change-Id: Id3702bbeb0212cbe92370416b83daf0e383d6e3c