Camera: QCOM legacy definitions,HTC cam switch,NO_UPDATE_PREVIEW

Updating Camera parameters, and service with several
compatibility patches:

1., QCOM legacy CameraParameters and functions:
Adding these will make ICS qcomm camera blobs work on JB 4.2.
Use BOARD_USES_QCOM_LEGACY_CAM_PARAMS := true in BoardConfig
to use this.

Also fixes the problem of legacy qcom
camera blobs with recent libcameraservice QCOM_HARDWARE changes,
where the orientation is messed up on first
preview: the fix is leaving out setPreviewWindow(window) for
legacy qcomm cam blobs.

2., Also adding NO_UPDATE_PREVIEW flag for legacy purposes.

3., Adding adding the set orientation patch:
Always set buffers orientation when setting the qcom camera preview window
Fixes the rotated preview on TouchPad
https://github.com/CyanogenMod/android_frameworks_base/commit/1a8e41a3c7434737db89b604352575f8b3109e7a

4., camera: Full support for HTC camera switch

5., Adding more parameters for HTC Explorer

Change-Id: I2bfc72b8ef027665356788f1db7f96b31d037dbe
Camera: QCOM legacy definitions,HTC cam switch,NO_UPDATE_PREVIEW

Updating Camera parameters, and service with several
compatibility patches:

1., QCOM legacy CameraParameters and functions:
Adding these will make ICS qcomm camera blobs work on JB 4.2.
Use BOARD_USES_QCOM_LEGACY_CAM_PARAMS := true in BoardConfig
to use this.

Also fixes the problem of legacy qcom
camera blobs with recent libcameraservice QCOM_HARDWARE changes,
where the orientation is messed up on first
preview: the fix is leaving out setPreviewWindow(window) for
legacy qcomm cam blobs.

2., Also adding NO_UPDATE_PREVIEW flag for legacy purposes.

3., Adding adding the set orientation patch:
Always set buffers orientation when setting the qcom camera preview window
Fixes the rotated preview on TouchPad
https://github.com/CyanogenMod/android_frameworks_base/commit/1a8e41a3c7434737db89b604352575f8b3109e7a

4., camera: Full support for HTC camera switch

5., Adding more parameters for HTC Explorer

Change-Id: I2bfc72b8ef027665356788f1db7f96b31d037dbe

Conflicts:
	services/camera/libcameraservice/Android.mk
Camera parameters for Samsung's qcom based legacy devices

Change-Id: I8f84e06771338d992521e69704d21cd113201b4b
Revert "audioflinger: apply volume on direct track when track is active"

Causes issues with MortPlayer (LPA).  Track starts/resumes playing, but volume is forced to zero, until a track-change occurs.

4-17 21:41:51.492 D/ALSADevice(  256): setHardwareParams: reqBuffSize 262144 channels 2 sampleRate 44100
04-17 21:41:51.492 D/ALSADevice(  256): setHardwareParams: buffer_size 1048576, period_size 262144, period_cnt 4
04-17 21:41:51.492 W/AudioFlinger(  256): There was no effectChain created for the sessionId(283)
04-17 21:41:51.512 E/AudioFlinger(  256): setting observer mOutputDesc track 0x40c598a0, obv 0x40c598b0
04-17 21:41:51.512 D/AudioSessionOutALSA(  256): setLpaVolume(0)
04-17 21:41:51.512 D/AudioSessionOutALSA(  256): Setting LPA volume to 0 (available range is 0 to 100)
04-17 21:41:51.512 D/ALSADevice(  256): setMixerControl:: name LPA RX Volume value 0 index 0
04-17 21:41:51.512 D/AudioSessionOutALSA(  256): setLpaVolume(0)
04-17 21:41:51.512 D/AudioSessionOutALSA(  256): Setting LPA volume to 0 (available range is 0 to 100)

Change-Id: I6e0ee8cd7c2f577ca5b4cb834c7a83703db4b167
audioflinger: Fix to release wakelock after closeoutput

-In DirectTrack destructor, closeOutput is called after
releaseWakelock is done. This may sometimes result in
power collapse happening even before actual close
sequence of Audio path is completed and will result
in high power consumption.
-Release wakelock only after closeOutput is done
in directtrack destructor.

(cherry picked from commit fb48938f73e335ac66c83e6adba96431e050ec94)

Change-Id: Ib8d05a38f28d7e2f0bdf9e420e5db526cf874bc6
CRs-Fixed: 430786

Conflicts:
	services/audioflinger/AudioFlinger.cpp
Fixed the wrong timestamps issue about camera recording

On emulator, the camera video recording crashes randomly.
It's caused by wrong timestamp when encoding the video frame.
The element of the vector is erased before accessing it.
Therefore, when reading the timestamp from the element,
the memory of the element has been changed.

Change-Id: I9750417fbb9dc4697ccae1e78e286b23925d3764

Signed-off-by: Panfeng Chang <panfengx.chang@intel.com>
Signed-off-by: Jun Tian <jun.j.tian@intel.com>
OMXCodec: Re-implement requires-flush-before-shutdown quirk

Support is already there, but is not in the codec quirk reading list.
Re-implement it as required by Broadcom's OMX

Change-Id: I1beac06af8118dcf0c248b631bc8e6dbbab2c1d5
Fix overflow of rand in ARTPConnection

without this fix, (rand()*1000)/RAND_MAX is mainly 0.

Change-Id: I48ae940a7b6974b197d81732774c9dcea107bcf1
Signed-off-by: Yajun Zeng <beanz@marvell.com>
fix a race condition of MediaPlayerServce::Client::mClient

there will be race condition between mClient.clear in MediaPlayerServce::Client::disconnect method
and c=client->mClient in in MediaPlayerServce::Client::notify method

Change-Id: I767294c4cb864c08e9c0e9f23d6d304a39016205
Signed-off-by: beanz <beanz@marvell.com>
Merge branch 'jb4.2' of https://github.com/SlimRoms/frameworks_av into jb4.2