Merge commit 'ff45709fbd1f24de1cf75ce9ce9ac8694ff1abbe'
* commit 'ff45709fbd1f24de1cf75ce9ce9ac8694ff1abbe':
Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.
Merge commit 'cc14a8393b92cd1ed6cba74829396045605ab211' into gingerbread-plus-aosp
* commit 'cc14a8393b92cd1ed6cba74829396045605ab211':
Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.
Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.
Modifications of audio effect framework in AudioFlinger to allow moving and reconfiguring
effect engines from one output mixer thread to another when audio tracks in the same session
are moved or when requested by audio policy manager.
Also fixed mutex deadlock problem with effect chains locks.
Change-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb
Merge commit '4df3ab54ebf8dfc0ce3160992d4d5b47e103b71f'
* commit '4df3ab54ebf8dfc0ce3160992d4d5b47e103b71f':
Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.
Merge commit 'faf1d46a60518fcc3e58c91740e673e8a3f2d3cc' into gingerbread-plus-aosp
* commit 'faf1d46a60518fcc3e58c91740e673e8a3f2d3cc':
Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.
Add support for detecting android MTP devices
Fix problem reading data packet with header sent separately from payload.
Change-Id: I07b34af6783ebe2e63a317796ba0c8223df86edf
Signed-off-by: Mike Lockwood <lockwood@android.com>
Also moving entire implementation into a new class CameraSourceTimeLapse
which inherits from CameraSource.
For timelapse capture using still camera, we start a thread which runs a
loop in which it calls Camera::takePicture() and then sleeps until the next
frame should be captured.
The function dataCallback() handles the callback from the camera with the
raw image data. This function copies the data and creates an artificial
timestamp corresponding to one frame time ahead of the last encoded frame's
time stamp. It then calls dataCallbackTimestamp() of the base class which
will think that it recieved the frame from a video camera and proceed as usual.
For moving the implementation to the subclass CameraSourceTimeLapse, added a
few virtual functions to CameraSource, which do the current thing for the base
class, but specialized things for CameraSourceTimeLapse.
E.g. startCameraRecording() in the base class just calls mCamera->startRecording(),
while in CameraSourceTimeLapse it may start a thread for the still camera case.
Change-Id: Ib787f24bd2e1f41681513f0257e1c4ca10a2b4de
Handle rotation from portrait to landscape by restarting test if not
finished.
Don't write blank line to csv file.
Change-Id: I154443138817bcec9530123c8388fcf659632336