Share local time frequency for all tracks & mixers

Change-Id: I5e6f0e371f728a5225c2fa6f778c109449d33602
Change audio flinger to user HAL master mute if available

Hand merge from ics-aah

> Change audio flinger to user HAL master mute if available: DO NOT MERGE
>
> Replicate the pattern used for HAL master volume support to make use
> of master mute support if the HAL supports it.  This is part of the
> change needed to address bug 6828363.  Because of the divergences
> between ICS and master, this change will need to be merged by hand.
>
> Signed-off-by: John Grossman <johngro@google.com>
> Change-Id: I6d83be524021d273d093bcb117b8f2fe57c23685

Change-Id: I32280582905c969aaec2bb166ec5c61df82d737a
Signed-off-by: John Grossman <johngro@google.com>
AudioFlinger: Better handling for master volume/mute

Changes to address bug 6842827.

When a HAL is loaded, cache whether or not the HAL supports
set_master_volume/mute in the AudioHwDevice structure.  Store an
AudioHwDevice in AudioStream(In|Out) structures instead of just an
audio_he_device_t.  This give threads (PlaybackThreads in
particular) access to the cached capabilities.

When setting master volume/mute, change the system to always set the
setting on all HAL which support it and also to set the setting on all
PlaybackThreads.  Change PlaybackThreads to apply the setting at the
in SW mix stage of the pipeline if its assigned HAL does not support
the setting, or to ignore the setting of the assigned HAL does support
it.

Change-Id: Ia14137a30b4c3ee6f2d7ddcc8cba87bf5eec87f4
Signed-off-by: John Grossman <johngro@google.com>
Merge "Share local time frequency for all tracks & mixers"
Reconcile with jb-mr1-release

Change-Id: Ic0cdae375d796efb3dc07956e03fea062557b765
am c23f3863: Reconcile with jb-mr1-release

* commit 'c23f3863ccd5dfbba5a0339a17a21ac35d3efead':
am c620cbd7: Refactoring how the box table entries are stored in MPEG4Writer

* commit 'c620cbd7f8dc75f6819e2b862d3c09970560bc63':
  Refactoring how the box table entries are stored in MPEG4Writer
am 65357239: am c620cbd7: Refactoring how the box table entries are stored in MPEG4Writer

* commit '6535723967c6dd7ce42669cd8815da82faab911a':
  Refactoring how the box table entries are stored in MPEG4Writer
Sync with jb-mr1-dev

Change-Id: I5bd4d44e0e33d28487c04a27652469697478ecd4
am ddeeaec2: Sync with jb-mr1-dev

* commit 'ddeeaec2dd2ff5cf10bc3f87f22401bfcbd0fd48':
  Should really compare the pos to the total number of values in get() and set() methods in ListTableEntries class
Removed a CHECK_EQ that is not needed.

'what' was just compared against Renderer::kWhatFlushComplete before entering the
if block.

Change-Id: I72c5c156f814621a24439d89e150c4e0d90edcbb
Reconcile with jb-mr1-release - do not merge

Change-Id: I2c45a6566f7eff107fa320d407fce712616e6801
am 009be42b: (-s ours) Reconcile with jb-mr1-release - do not merge

* commit '009be42baa711e9bd75a205f7d1ffd56b7237b92':
am 836b81f3: Camera2: Improve threading safety

* commit '836b81f3c5a5bacb800f698f90ded6bd6e6bc5ce':
  Camera2: Improve threading safety
am 428b77a2: Camera2: Improve formatting of debugging dump

* commit '428b77a2b94b74665a47375b3fdb893b98d71269':
  Camera2: Improve formatting of debugging dump
am 637a3676: am 836b81f3: Camera2: Improve threading safety

* commit '637a3676b1936d5202da5be6d38ccda5e6ac4aae':
  Camera2: Improve threading safety
am f0f4a0ab: am 428b77a2: Camera2: Improve formatting of debugging dump

* commit 'f0f4a0abe917fc9f18566fd67ef43e79b711134f':
  Camera2: Improve formatting of debugging dump
am 5665fde6: Merge "Start adding support for multiple record tracks" into jb-mr1-dev

* commit '5665fde6d4520c8e6cec81a4e1e9c86f1537f689':
  Start adding support for multiple record tracks
am 8d058d89: am 5665fde6: Merge "Start adding support for multiple record tracks" into jb-mr1-dev

* commit '8d058d89fd4d46bbacbb8f2dc9bd52e94cd69e56':
  Start adding support for multiple record tracks
am 3788a393: Merge "Allows MediaMetadataRetriever to retrieve video rotation angle" into jb-mr1-dev

* commit '3788a393bbcadebf38ac01ef9b2ecc46f07db011':
  Allows MediaMetadataRetriever to retrieve video rotation angle