libhardware_legacy: Add support for DirectTrack

-Add new APIs to AudioStreamOut class.
-Add audio output flags to openOutputStream.

(cherry picked from commit c2238e581c815dbf33625011ad32a97067d1ab52)
(cherry picked from commit 87d4ab5eee4124403012cb3e5440d36eb0df9586)

Conflicts:
	include/hardware_legacy/AudioHardwareInterface.h

Change-Id: I8a1f51542658655b254f629b648ac6b1bb0113f3
libhardware_legacy: Add MSM specific flags, devices and channels.

- Add support for MSM flags, devices and channels

Change-Id: I88ff548a4ac0629ea80a0103648b5d8f7acfd7da
(cherry picked from commit 47fc1126a6d6d4e7716b6ca65490550744c909f2)
(cherry picked from commit dc8add29ede96579400e07721ee2510cf40da629)
audio: fix no audio when playing dtmf tones

AUDIO_OUTPUT_FLAG_DIRECT is passed for isCompatibleProfile()
which would match incall music profile even for regular dtmf
tones. As a result output stream for incall music case is
selected. Fix by passing the input parameter flags along
with AUDIO_OUTPUT_FLAG_DIRECT.

CRs-fixed: 568696
Change-Id: Ie5a11f21a01c65fb07e9ae1268cf03b6744f9f6e
libhardware_legacy: Add property for A-V playback in offload mode

Add a and check for property for enabline tunnel audio video
playback.

Change-Id: I8ebbfe106feac4a991de05a0db79ac64493d0129
audio: fix no audio playback issue in recorder app

When audio clips recorded using voice recorder app is played,
openoutput() in audio policy manager is called with flags 0 and
will match the incall music profile and try to open incall music
direct output stream. Fix by looking for direct output profiles
only when AUDIO_OUTPUT_FLAG_DIRECT is set in the flags.

Change-Id: I3f6fdec1dfdc4c7642d308108199369cfc6d2409
libhardware_legacy: Add ifdefs for non-QCOM hardware

Change-Id: Iae00232cd401aa748e9ae3d941427d13c6aa51b6