libstagefright: Check for data partitioned clips

- Check for DP clips in ESDS atom of mpeg4 clips
- If the clip is detected to have data partition, return a
  error, so that video decode will fallback to SW decoder

CRs-Fixed: 630669
Change-Id: I21800eabf2a68546b6ad389d18adbb3e9fb08ed7
libstagefright: handle error when B-frame is sent to MPEG4Writer

Without this patch, writing B-frame to MediaMuxer will be blocked and
cannot return a result. This may cause an endless progress bar shown in
gallery when triming or muting some videos.

Change-Id: Ide69ddee04d2419e977b0243557a4eff224631c0
CRs-Fixed: 521005
stagefright: Cancel audioCheck event when setting nativewindow

In html5 playback, setNativeWindow_l() will be called twice
when switching from landscape to portrait mode. If the 2nd
setNativeWindow_l gets the LOCK before proceeding mCheckAudioStatusEvent
posted in the 1st setNativeWindow_l, it will get the infomation
that seeking is completed and won't do seeking in this run.

CRs-fixed: 624469
Change-Id: Ia5c4e373e8a71b907b15b913085600d9481ef982
libstagefright/omx: Fix CallbackDispatcher dereference in callback.

    - findDispatcher can return NULL. Check for NULL.

Change-Id: I07edc427b706dfdeec6a6f90f13d00c8941e77f2
audioflinger: Remove fatal error handling for non offload tracks

- Audio pop is heared on BT during SSR

- On sound card OFFLINE status,pcm track is
  recreated resulting audio pop sound

- Handle OFFLINE status only for offload tracks

Change-Id: I483d4595b61fab4d0be460b9e481ab82f7ab46b5
audio: Fix for failure in CTS MediaRecorderTest cases

 -Issue: MediaRecorder CTS test cases are failing.

 -Running the CTS test "testRecorderRandomAction" at
  beginning sets the huge file size and StageFrightRecorder
  set the 64 bit file offset. In MPEG4 writer
  estimateMoovBoxSize depends on a static const variable
  which uses this file offset info. As the variable to
  calculate estimateMoovBoxSize is static const it remains
  same for next media recording session even if file size
  is small.

 -Fix: Don't use static const variable which is used to
  calculate estimateMoovBoxSize as its value may change
  depending on file offsets.

 CRS-Fixed: 629448

Change-Id: Icdb8658a69667663ba686ae51755f461dd35712c
RTSP: Fix crash issue while repeated pause/resume

While doing repeated pause-resume operation in RTSP streaming,
some times, the accessunit timeout check is being posted when
the streaming paused, and even after receving the EOS.
Due to this check, after the EOS, the number of packets received
will be zero and the session gets Teardown while the
streaming is paused. Upon resume, it leads to check failure and crash.

Changes are done such that the accessunit timeout check will
not be done in pause/seek state.

CRs-Fixed: 636312

Change-Id: I60d09d5394eed59a8e2bbf5556628f1ea26f7807
disable camera sounds (3/3)

Change-Id: Iff4eb5ca7dd13038bf852a76d0c605814864497a
Signed-off-by: Jonathan Steadman <xxwhitehawk@gmail.com>
screenrecord: Add audio support

Adds audio recording to the screenrecord system. Note that
while recording, the audio is muted from the device output,
and that the audio volume is controlled separately (so make
sure to turn up your volume if you hear nothing).
Audio from the microphone can also be recorded by adding
--microphone to the command line.

Change-Id: I97dfcaf3d93b786c5466e1f4215549e3d015bcf0
screenrecord: Enable SUBMIX_IN as well and cleanup on exit

While on Nexus 5/Nexus 7 (AOSP QCOM audio), trying to turn on
SUBMIX_IN fails and is not needed, it is required on Find 5
and N1 (CAF QCOM audio), or otherwise SUBMIX_OUT won't turn
on.
We also now release the audio routing as it wouldn't revive
the audio speakers otherwise.

Change-Id: I0f80a232304733e0b0a834b188b8cfa5b88915f3