Only pass the surface to the video decoder.

Change-Id: Ice0cfc0021fdd9fe053be6ee324cbc64226ed122
resolved conflicts for merge of 205d7249 to master

Change-Id: I3df408b6e30e0c0b2a19a3336134ce49fb73a8bb
Merge "Only pass the surface to the video decoder."
Static AudioTrack plays twice initially

Bug: 7528721
Change-Id: I10bc16a26f33dba6572b730a170cb3bf00e68e30
Static AudioTrack plays twice initially

Bug: 7528721
Change-Id: I10bc16a26f33dba6572b730a170cb3bf00e68e30
Fix time vs. bytes units bug in getRenderPosition

Rename correctLatency since it requires thread to be locked.
Use size_t for byte and frame counts.

Change-Id: I178fdd18bdb823813b9563927bdff8c0d28ca5a5
Don't explicitly log tid

If needed, it can be obtained with adb logcat -v threadtime

Change-Id: I91b3911d20f7bcfc3361db4052db21ff9181f1cf
"if" statements use curly braces per media style

Change-Id: I130e7849fd1da7a0b7fe56c3c53919d26e3843b8
Fix a crash when the stop might be called due to some error before start in RTSPSource

o related-to-bug: 7507224

Change-Id: Ic8bfec13097b824ba337a01c9b00c98af2a33f43
am d983364b: Static AudioTrack plays twice initially

* commit 'd983364b3655a547b55bb11dbe148103198c011d':
  Static AudioTrack plays twice initially
am d983364b: Static AudioTrack plays twice initially

* commit 'd983364b3655a547b55bb11dbe148103198c011d':
  Static AudioTrack plays twice initially
am abae71d3: am d983364b: Static AudioTrack plays twice initially

* commit 'abae71d37d4860e297de7ee06f49efa5254b90ee':
  Static AudioTrack plays twice initially
Don't use control block frame count after create

This is part of a series to clean up the control block.

Change-Id: I7f4cb05aef63053f8e2ab05b286d302260ef4758
Merge "Don't explicitly log tid"
Merge "Don't use control block frame count after create"
Merge "Fix time vs. bytes units bug in getRenderPosition"
Merge ""if" statements use curly braces per media style"
Use default values when MPEG4 audio config parsing fails.

MPEG4 audio packets may be multiplexed using the so called
LATM (Low Overhead Audio Transport Multiplex) scheme.
LATM parsing was recently introduced in Stagefright and it
has caused issues in cases when the LATM config element
cannot be parsed correctly. The main problem occurrs when
the AudioSpecificConfig part of the config element contains
more information than what is expected, causing the
frameLengthType parameter to get the wrong value. This fix
introduces default values of some config parameters that are
used in case config parsing fails.

Change-Id: I3cb35df76826f95ca0831dc08c2a1e7c6c2c586d
Use default values when MPEG4 audio config parsing fails.

MPEG4 audio packets may be multiplexed using the so called
LATM (Low Overhead Audio Transport Multiplex) scheme.
LATM parsing was recently introduced in Stagefright and it
has caused issues in cases when the LATM config element
cannot be parsed correctly. The main problem occurrs when
the AudioSpecificConfig part of the config element contains
more information than what is expected, causing the
frameLengthType parameter to get the wrong value. This fix
introduces default values of some config parameters that are
used in case config parsing fails.

Change-Id: I3cb35df76826f95ca0831dc08c2a1e7c6c2c586d
Memory leak solved in MPEG4Extractor::parseChunk for cover art

Repeated leaks detected in mediaserver context. Most chunks small but
some bigger. Adding up it was not uncommon to see 200Mb footprint.
libc memdebug allocation call stack showed the root cause in "covr"
parsing - that explains why content often was empty but sometimes big.

Change-Id: I0de6c1eeef174d2529973ff9c6a020ec3dd44c75