Merge commit '2d295a9601315a2610a2cb759ed9a4f787e7d4b5' into eclair-mr2-plus-aosp
* commit '2d295a9601315a2610a2cb759ed9a4f787e7d4b5':
Some decoders will return an error on OMX_EmptyThisBuffer to indicate that they don't support the media format, deal with this.
Merge commit '23bccd6c25f581860487835bf7b5442589897352' into eclair-mr2-plus-aosp
* commit '23bccd6c25f581860487835bf7b5442589897352':
Insert a small delay after submitting to surface flinger and before returning the buffer to the decoder.
Merge commit 'cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9' into eclair-mr2-plus-aosp
* commit 'cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9':
The vendor is about to check in a fix for this issue, the workaround is no longer needed
Since we cannot tell how long it'll take until surface flinger
has displayed the data onscreen, we'll just have to guess...
We must not return the buffer to the decoder before it's been displayed.
Merge commit 'f894d111c8c1ad9038c2d434e1cd78616a6bda0a' into eclair-mr2-plus-aosp
* commit 'f894d111c8c1ad9038c2d434e1cd78616a6bda0a':
Workaround for avc decoder misreporting output buffer size requirements if the content is not a multiple-16 width/height.
This change is a complement to the main fix in kernel driver for the same issue (partner change #1250).
It removes clicks sometimes heard after the end of the tones while audio flinger is sending 0s to the audio output stream.
The problem was that the sleep time between two writes was more than the duration of one audio output stream buffer which could cause some underrun.
Also fixed a recent regression in ToneGenerator that made that the end of previous tone was repeated at the beginning of current one under certain timing circumstances when the maximum tone duration was specified.
Merge commit '1b7ad876f1274787d7609a31e4a2a852adb94c3c' into eclair-mr2-plus-aosp
* commit '1b7ad876f1274787d7609a31e4a2a852adb94c3c':
Fixed issue #4098: Ringtone#getTitle does not close its cursor.
Merge commit '3e655688728e352e51dc9718490589f1bfb8622d' into eclair-mr2-plus-aosp
* commit '3e655688728e352e51dc9718490589f1bfb8622d':
Fix for bug 2158794. Hide MediaPlayer.invoke() and MediaPlayer.newRequest(), and Fix bad links in ToneGenerator documentation.
Merge commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177' into eclair-mr2-plus-aosp
* commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177':
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.