Merge commit 'c39d2e3c012fb96999991e30659a474f9f30f789' into eclair-plus-aosp
* commit 'c39d2e3c012fb96999991e30659a474f9f30f789':
Music visualizer support hack.
This currently assumes 44k stereo (won't crash on other formats, but won't give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
Merge commit '29e4a3c566f435c32f0b95e4ac8e8b33cac6faba' into eclair-plus-aosp
* commit '29e4a3c566f435c32f0b95e4ac8e8b33cac6faba':
Update from API review.
Merge commit '3f56d21bf10e0ce866e16112a4ad043c6af1923e' into eclair-plus-aosp
* commit '3f56d21bf10e0ce866e16112a4ad043c6af1923e':
Fix Issue 2158631: AudioService: volume control sometimes not restored after media server process crash.
The problem comes from the fact that the AudioSystem callback indicating that the media server is active again is ignored if it is received before the delayed message indicating media server death. This happens if another application or service running in the system server process makes a request to the AudioSystem in the interval between the death of the media server and the reception of the corresponding delayed message.
The fix consists in resetting mMediaServerOk flags immediately when the death callback is received and not when the delayed message is received.
Merge commit 'edd942c2de8f9b75d22f89eb160fe0e0f6191c69' into eclair-plus-aosp
* commit 'edd942c2de8f9b75d22f89eb160fe0e0f6191c69':
Fixed the long recorder time and reduce the number of loops.
Merge commit '8bbba0e35b0dd5191c94b2aa039aa4eae0aecad0' into eclair-plus-aosp
* commit '8bbba0e35b0dd5191c94b2aa039aa4eae0aecad0':
Dont NPE if the thumbnail file cannot be opened.
* changes:
Fix some metadata retriever issues: 1. mRetriever was initialized twice: one in the constructor and the other in the setDataSource 2. cached the mode so that setMode can still be called before setDataSource. mRetriever won't be initialized until data source is set; thus we have to do this
1. mRetriever was initialized twice: one in the constructor and the other in the setDataSource
2. cached the mode so that setMode can still be called before setDataSource.
mRetriever won't be initialized until data source is set; thus we have to do this
Merge commit '99638e747251929191f7773d2a81bbea223f1e09' into eclair-plus-aosp
* commit '99638e747251929191f7773d2a81bbea223f1e09':
Turn on thubmnail capture unit test for media metadata retriever
Merge commit '7d9735142f75c3bf30b420fdd006dc356f32fede' into eclair-plus-aosp
* commit '7d9735142f75c3bf30b420fdd006dc356f32fede':
Always consider m4a files as audio, even when they contain a video track.
Merge commit 'dba93b68326f139f669aefa6770d50daff032746' into eclair-plus-aosp
* commit 'dba93b68326f139f669aefa6770d50daff032746':
Check that playlist entries refer to a row in the audio table.
Merge commit 'cc96652c7049569c1bc7b1f93ba454a7cb891fd8' into eclair-plus-aosp
* commit 'cc96652c7049569c1bc7b1f93ba454a7cb891fd8':
Remove fflush when storing thumbanil to sdcard.
Merge commit '0faa5c6c5a6da598fd6cdac3a5c1f1f9a2090ad2' into eclair-plus-aosp
* commit '0faa5c6c5a6da598fd6cdac3a5c1f1f9a2090ad2':
Only scan windows media files when those codecs are enabled.
Merge commit '7756cbeef475127ed56bfeabecb3c291366a952f' into eclair-plus-aosp
* commit '7756cbeef475127ed56bfeabecb3c291366a952f':
Removed the device type checking
Merge commit 'e9bd4788d4370714374d833aed1339d17c5ded09' into eclair-plus-aosp
* commit 'e9bd4788d4370714374d833aed1339d17c5ded09':
Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes or over A2DP.
Merge commit '3f790d87838114a71bff96b4a0a51537ca879597' into eclair-plus-aosp
* commit '3f790d87838114a71bff96b4a0a51537ca879597':
Added the checking for the wma in the memory test.
When the AudioTrack callback notification size is relatively high (Which is the case on Sholes and over A2DP), it is likely that the end of tone is reached during the first callback. In this case, the AudioTrack is stopped before exiting the callback which causes 2 problems:
- 1: If the AudioFlinger thread is scheduled before we exit the ToneGenerator callback, the track can be stopped and reset before the data is actually marked as present in the buffer by the AudioTrack callback => no audio will be processed by AudioFlinger.
- 2: In this case, the data write index in the AudioTrack buffer is incremented after the track was reset by the AudioFlinger which leaves unplayed data in the buffer. This data will be played the next time the AudioTrack is started if not flushed in between.
The fix consists in adding an intermediate state to ToneGenerator state machine so that we exit the callback function when the stop condition is reached and stop the AudioTrack the next time we execute the callback.
Merge commit '80d8ace484525f0272b8a56142ef838f5f4d38e4' into eclair-plus-aosp
* commit '80d8ace484525f0272b8a56142ef838f5f4d38e4':
Fix issue 2128896 The thumbnail generated after picture capture with max zoom is overlapped with previous thumbnail.