Merge commit '6e0967b3c4561e188df72f478baf16c6627b12be' into kraken
* commit '6e0967b3c4561e188df72f478baf16c6627b12be':
Added the runtime parameters for the mediarecorder stress test.
Merge commit 'b0016e2b2162c916289d022f1572c0bc95158543' into froyo-plus-aosp
* commit 'b0016e2b2162c916289d022f1572c0bc95158543':
Added the runtime parameters for the mediarecorder stress test.
Added IEffect and IEffectClient binder interfaces to exchange effect module control
and status information between application and media server processes.
Change-Id: I10e8e894898e52ed9956a765d0ef7075eb2593af
commit a2194ecc341fa0c530d0007d8561286c8b8f2d15
Author: Andreas Huber <andih@google.com>
Date: Fri May 21 12:50:09 2010 -0700
Instead of including the libvpx libraries prebuilt in our tree, build them from sources.
Change-Id: I5ec57decf1200cf9137fe13ff77d06f47950c3d7
commit 711098ca3f16800a22ccdb26a07e57e471cca438
Author: Andreas Huber <andih@google.com>
Date: Thu May 20 15:00:27 2010 -0700
Support for VPX/VP8 decoding in stagefright
Change-Id: I16d93faf3f56a5f8ec39c14367704469f914db9e
related-to-bug: 2483739
Change-Id: Ibc124f6af540c2715cb2325151eecdd6edf085ec
First effect factory and effect library API implementation.
Also added default effect libraries for reverb and equalizer effects.
These libraries are for functional test only and are not fine tuned with
regard to audio quality. They will probably be replaced by other implementations
before the release.
Change-Id: I6868f8612146ae282c64052765c61a52ec789ec8
- Some H264/AVC encoder output start code in each output buffer, and others don't.
This patch always strips the start code first so that the sample contains the correct size.
- Also properly initialize the interleave duration.
Change-Id: I692043ce7e38f0215e1097aad9e847a57907b6e4
1. QCOM camera HAL does not honor the preview frame rate set request. see bug - 2701282
2. QCOM video encoder has lots of 0-length output buffers if the default level setting is changed. see bug - 2660974
Change-Id: Id01d94bb77dc242c4712d56a91b0d69a96ba6c2f
Merge commit '3c16154a3309fe250177d69f3fcd5b6e9a82d1b3' into kraken
* commit '3c16154a3309fe250177d69f3fcd5b6e9a82d1b3':
Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize.
Merge commit '2723e09229ce916724861ab90b6b8fc7c9ea9f2e' into froyo-plus-aosp
* commit '2723e09229ce916724861ab90b6b8fc7c9ea9f2e':
Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize.
New media scanner test program
Media scanner now cleans up after files that no longer exist
Separate database table for audio files
Extract metadata from audio files with libstagefright
Change-Id: I2bd0fe877836c741658e72fcfeb89c11be0d9b41
Signed-off-by: Mike Lockwood <lockwood@android.com>
The problem is due to a too big difference between the buffer size used at the hardware interface and at the A2DP interface.
When no resampling occurs we don't notice problems but the timing is very tight. As soon as resampling is activated, the AudioTrack underruns.
This is because the AudioTrack buffers are not resized when moving the AudioTrack from hardware to A2DP output.
The AudioTrack buffers are calculated based on a hardware output buffer size of 3072 bytes. Which is much less than the A2DP output buffer size (10240).
The solution consists in creating new tracks with new buffers in AudioFlinger when the A2DP output is opened
instead of just transfering active tracks from hardware output mixer thread to the new A2DP output mixer thread.
To avoid synchronization issues between mixer threads and client processes, this is done by invalidating tracks
by setting a flag in their control block and having AudioTrack release the handle on this track (IAudioTrack)
and create a new IAudioTrack when this flag is detected next time obtainBuffer() or start() is executed.
AudioFlinger modifications:
- invalidate the tracks when setStreamOutput() is called
- make sure that notifications of output opening/closing and change of stream type to output mapping are sent synchronously to client process.
This is necessary so that AudioSystem has the new stream to output mapping when the AudioTrack detects the invalidate flag in the client process.
Previously their were sent when the corresponding thread loop was executed.
AudioTrack modifications:
- move frame count calculation and verification from set() to createTrack() so that is is updated every time a new IAudioTrack is created.
- detect track invalidate flag in obtainBuffer() and start() and create a new IAudioTrack.
AudioTrackShared modifications
- group all flags (out, flowControlFlag, forceReady...) into a single bit filed to save space.
Change-Id: I9ac26b6192230627d35084e1449640caaf7d56ee