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
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