summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MTP host: Fix problems reading large data packetsMike Lockwood2011-03-121-3/+3
| | | | | | | | | Fixes problem reading large thumbnails via PTP Bug: 4065217 Change-Id: I643672512829c93ab0827091f39103dbb1918071 Signed-off-by: Mike Lockwood <lockwood@android.com>
* Bug 3012968 DRM output controlGlenn Kasten2011-03-103-0/+28
| | | | | | | Modifies Stagefright to verify that there is a hardware-protected path to video sink for DRM content. Change-Id: I18b8741390e803a05a88c7f180b860a24ba88a10
* Merge "- Change level of some LOGs from LOGE to LOGV because those logs ↵Gloria Wang2011-03-092-4/+31
|\ | | | | | | are not error logs from non-DRMed content's point of view. - Add more mutex lock to avoid crash by multi-thread calls. - Fix for bug 4050039" into honeycomb-mr1
| * - Change level of some LOGs from LOGE to LOGV because those logsGloria Wang2011-03-092-4/+31
| | | | | | | | | | | | | | | | are not error logs from non-DRMed content's point of view. - Add more mutex lock to avoid crash by multi-thread calls. - Fix for bug 4050039 Change-Id: I52fed22069f0cda6c4ac6a5363469168c797a33b
* | Fix issue 3439872: video chat and bluetooth SCOEric Laurent2011-03-085-82/+348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes the stability problems experienced when using a bluetooth headset supporting both A2DP and SCO. Problems occur when starting the video chat at which time the A2DP output is being stopped to start SCO. At that time, active AudioTracks are invalidated by AudioFlinger so that a new AudioTrack binder interface can be recreated by the client process on the new mixer thread with correct parameters. The problem was that the process to restore the binder interface was not protected against concurrent requests which caused 2 binder interfaces to be created sometimes. This could lead to permanent client deadlock if one of the client threads was waiting for a condition of the first created binder interface while the second one was created (as the AudioFlinger would only signal conditions on the last one created). This concurrent request situation is more likely to happen when a client uses the JAVA AudioTrack as the JNI implementation uses simultaneously the native AudioTrack callback and write push mechanisms. By doing so, the code that checks if the binder interface should be restored (in obtainBuffer()) is much more likely to be called concurrently from two different threads. The fix consists in protecting the critical binder interface restore phase with a flag in the AudioTrack control block. The first thread acting upon the binder interface restore request will raise the flag and the second thread will just wait for a condition to be signaled when the restore process is complete. Also protected all accesses to the AudioTrack control block by a mutex to prevent access while the track is being destroyed and restored. If a mutex cannot be held (e.g because we call a callback function), acquire a strong reference on the IAudioTrack to prevent its destruction while the cblk is being accessed. Modified AudioTrack JNI to use GetByteArrayElements() instead of GetPrimitiveArrayCritical() when writing audio buffers. Entering a critical section would cause the JNI to abort if a mediaserver crash occurs during a write due to the AudioSystem callback being called during the critical section when media server process restarts. Anyway with current JNI implementation, either versions do not copy data most of the times and the criticial version does not guaranty no data copy. The same modifications have been made to AudioRecord. Change-Id: Idc5aa711a04c3eee180cdd03f44fe17f3c4dcb52
* | Add missing copyright headers to a couple of filesJames Dong2011-03-072-0/+32
| | | | | | | | | | | | bug - 4025673 Change-Id: Ie1c4cf18c06032f9b89cc08e5be25d38c0f76aa1
* | Fix a leak from AACEncoder.cppJames Dong2011-03-041-0/+3
| | | | | | | | | | | | bug - 3470617 Change-Id: I328e92bc1b2aca72e5856703dae00f957f40bc27
* | Do not enforce the rule in MP3Extractor that all audio frames in an mp3 file ↵James Dong2011-03-041-2/+2
|/ | | | | | | | | | | must have the same mode For some mp3 files, the mode can be changed from one audio frame to another. Without the capability to switch modes, the decoded audio may have lots of artifacts. bug - 3253310 Change-Id: Id57bb1f204642d15e38a800c72214f6794cfaa37
* Merge "- To track the usage of all audio output devices - To track the ↵Gloria Wang2011-03-024-7/+192
|\ | | | | | | currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()"
| * - To track the usage of all audio output devicesGloria Wang2011-03-024-7/+192
| | | | | | | | | | | | | | | | - To track the currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData() Change-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc
* | Merge "Stagefright: Use the ANW min undequeued bufs query."Jamie Gennis2011-03-022-28/+53
|\ \
| * | Stagefright: Use the ANW min undequeued bufs query.Jamie Gennis2011-02-282-29/+53
| | | | | | | | | | | | | | | | | | | | | | | | This change modifies Stagefright's ANativeWindow initialization to use the new MIN_UNDEQUEUED_BUFFERS query on the ANativeWindow. Change-Id: I62565945e90ac40de326de77adcfa5577ed89975 Related-Bug: 3356050
* | | Merge "To support DRM files without file extension"Gloria Wang2011-03-022-2/+5
|\ \ \
| * | | To support DRM files without file extensionGloria Wang2011-03-022-2/+5
| | |/ | |/| | | | | | | Change-Id: Ie7701048d0dbd51bf358364014a1b41c894b664c
* | | Merge "Resize internal PES buffers dynamically instead of relying on a fixed ↵Andreas Huber2011-03-021-1/+12
|\ \ \ | | | | | | | | | | | | maximum size."
| * | | Resize internal PES buffers dynamically instead of relying on a fixed ↵Andreas Huber2011-03-021-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | maximum size. Change-Id: Ibe720e6148799e32d039ccdb4b269659bc779952
* | | | Merge "Allow optional specification of a PTS timestamp when signalling a ↵Andreas Huber2011-03-0212-22/+126
|\ \ \ \ | |/ / / | | | | | | | | discontinuity."
| * | | Allow optional specification of a PTS timestamp when signalling a discontinuity.Andreas Huber2011-03-0212-22/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If present, rendering will be suppressed until reaching the timestamp. Change-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19 related-to-bug: 3489454
* | | | Merge "Fix issue 3388775."Eric Laurent2011-03-021-6/+6
|\ \ \ \
| * | | | Fix issue 3388775.Eric Laurent2011-03-011-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not select A2DP output for media strategy when it is suspended because BT SCO is active. Media audio will be routed to speakers or SCO HS (depending on phone state and activity on stream VOICE_CALL) which is less confusing than not hearing anything while music progress bar is moving. Change-Id: Iff8cc1ea9bf9bde0b33035c4d91398db0934b836
* | | | | Merge "PV's mp3 decoder mistreated inputBufferCurrentLength in unit of bytes ↵James Dong2011-03-021-2/+4
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | as in unit of bits"
| * | | | PV's mp3 decoder mistreated inputBufferCurrentLength in unit of bytes as in ↵James Dong2011-03-021-2/+4
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | unit of bits bug - 3464899 Change-Id: Idef81a1bd3846d60fc5e4a40c11ce1ba78ebaa23
* | | | Provide better duration and seek accuracy if playing vorbis audio from a ↵Andreas Huber2011-03-021-16/+125
|/ / / | | | | | | | | | | | | | | | | | | non-streaming source. Change-Id: Ib823c2dd28e84f4c49e3676f4e4962a6e006b166 related-to-bug: 3107013
* | | Merge "Add support for up to 32 buffers per Surface"Mathias Agopian2011-03-011-3/+3
|\ \ \
| * | | Add support for up to 32 buffers per SurfaceMathias Agopian2011-03-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 3488016 Change-Id: Ie5536ad77d42a4d0e8270e0fd87ecb73471bcbbc
* | | | Merge "Get rid of redundant media profiles"James Dong2011-03-012-8/+241
|\ \ \ \
| * | | | Get rid of redundant media profilesJames Dong2011-03-012-8/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug - 3330679 Change-Id: Idc55aea32746c0c57552c5e15a289681421aa859
* | | | | Fix issue 3499926.Eric Laurent2011-03-011-8/+14
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that NumberEffectsEnabled is decremented at the same time as SamplesToExitCountBb reaches 0 in Effect_process(). Not doing so causes NumberEffectsEnabled not being decremented if Effect_setEnabled() is called after SamplesToExitCountBb reaches 0 and before next Effect_process() is called. Change-Id: Id827a301f93a5a09ecd9995a0c7d731ef526711a
* | | | Merge "Fix issue 3479042."Eric Laurent2011-03-015-1/+28
|\ \ \ \
| * | | | Fix issue 3479042.Eric Laurent2011-02-285-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that when an AudioRecord using the resampler is restarted, the resampler state is not reset (as there is no reset function in the resampler). The consequence is that the first time the record thread loop runs, it calls the resampler which consumes the remaining data in the input buffer and when this buffer is released the input index is incremented over the limit. The fix consists in implementing a reset function in the resampler. A similar problem was also present for playback but unoticed because the track buffer is always drained by the mixer when a track stops. The only problem for playback was that the initial phase fraction was wrong when restarting a track after stop (it was correct after a pause). Change-Id: Ifc2585d685f4402d29f4afc63f6efd1d69265de3
* | | | | Merge "Stagefright: Query buffer usage from the component."Jamie Gennis2011-03-012-4/+18
|\ \ \ \ \
| * | | | | Stagefright: Query buffer usage from the component.Jamie Gennis2011-02-282-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes Stagefright query the gralloc buffer usage flags from the OMX IL component and passing those flags on to the ANativeWindow. Change-Id: Ic9af8a9e6df9ff4aadc7355890324d68841bc488 Related-Bug: 3479027
* | | | | | Merge "Add an OMX IL API for querying buffer usage flags."Jamie Gennis2011-03-017-0/+94
|\ \ \ \ \ \ | |/ / / / / | | | | / / | |_|_|/ / |/| | | |
| * | | | Add an OMX IL API for querying buffer usage flags.Jamie Gennis2011-02-287-0/+94
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change defines an OpenMAX IL API for querying from the IL component the gralloc buffer usage flags that should be used to allocate the buffers. It also adds the Stagefright plumbing for using the new OMX IL API. Change-Id: I046b5e7be70ce61e2a921dcdc6e3aa9324d19ea6 Related-Bug: 3479027
* | | | Merge "Fix error recovery in Stagefright init."Jamie Gennis2011-03-012-32/+27
|\ \ \ \ | |_|_|/ |/| | |
| * | | Fix error recovery in Stagefright init.Jamie Gennis2011-02-282-32/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes the error path of OMXCodec::allocateOutputBuffersFromNativeWindow so that it cancels the correct number of buffers if a dequeueBuffer operation fails. Change-Id: Ib7cdcdf24f1718bc070ad218a5980949c0e942eb
* | | | Merge "The color conversion from YUV420Planar to RGB only requires the image ↵James Dong2011-02-281-1/+1
|\ \ \ \ | |_|/ / |/| | | | | | | width to be a multiple of 2, not 4."
| * | | The color conversion from YUV420Planar to RGB only requires the image width ↵James Dong2011-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to be a multiple of 2, not 4. bug - 3379293 Change-Id: I8960737f0604b54ce90dfc26137f1582073b4ab2
* | | | Merge "Add the option '-S' to use surface allocated buffers in the ↵Andreas Huber2011-02-282-3/+62
|\ \ \ \ | | | | | | | | | | | | | | | stagefright cmdline tool."
| * | | | Add the option '-S' to use surface allocated buffers in the stagefright ↵Andreas Huber2011-02-282-3/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmdline tool. Change-Id: Ic84eeed1679d6bf68c92de0e20d30e7a3c4d410f
* | | | | Merge "Fix bug 3376700 Volume too loud at lowest setting"Jean-Michel Trivi2011-02-281-1/+9
|\ \ \ \ \ | |_|_|_|/ |/| | | |
| * | | | Fix bug 3376700 Volume too loud at lowest settingJean-Michel Trivi2011-02-271-1/+9
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change volume attenuation curve to provide more attenuation at low volume settings, and finer steps at high volume. See bug entry for link to doc with curve values. Change-Id: I750548b2161a4c550ef982ba793156e4518119e8
* | | | Bug 3447027 Limit previews for DRM videoGlenn Kasten2011-02-283-11/+25
|/ / / | | | | | | | | | Change-Id: I5b15cf6a15623cf73f007c59143ab5e3fa5a07e8
* | | am fbd67fec: (-s ours) am 0600fff9: DO NOT MERGE: MTP: Add support for ↵Mike Lockwood2011-02-260-0/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | dynamically adding and removing storage units * commit 'fbd67fec87e425cfbbd80926cec8cd345d134b4c': DO NOT MERGE: MTP: Add support for dynamically adding and removing storage units
| * \ \ am 0600fff9: DO NOT MERGE: MTP: Add support for dynamically adding and ↵Mike Lockwood2011-02-265-25/+95
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | removing storage units * commit '0600fff9149df3af01e90d4996b70dbc1ee7c135': DO NOT MERGE: MTP: Add support for dynamically adding and removing storage units
| | * | | DO NOT MERGE: MTP: Add support for dynamically adding and removing storage unitsMike Lockwood2011-02-265-25/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BUG: 3402847 Change-Id: I46e90f546a8d72c273cd7f2de2d086bb6dbdc1b8 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | | | am cd6828e8: (-s ours) am 2332cd8c: Merge "DO NOT MERGE: Cherry picked hacks ↵Andreas Huber2011-02-250-0/+0
|\ \ \ \ \ | |/ / / / | | | | / | |_|_|/ |/| | | | | | | | | | | to better hide A/V sync issues." into honeycomb * commit 'cd6828e84220c6bdf92bbca12fcd88a8da76387c': DO NOT MERGE: Cherry picked hacks to better hide A/V sync issues.
| * | | am 2332cd8c: Merge "DO NOT MERGE: Cherry picked hacks to better hide A/V ↵Andreas Huber2011-02-252-61/+153
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | sync issues." into honeycomb * commit '2332cd8c675628f3bdd6e46a8dd6da639bd7f76e': DO NOT MERGE: Cherry picked hacks to better hide A/V sync issues.
| | * | DO NOT MERGE: Cherry picked hacks to better hide A/V sync issues.Andreas Huber2011-02-252-61/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit b1732e9b8bfea4c99bd07907c9aac9fcf1e8b264 Author: Andreas Huber <andih@google.com> Date: Thu Feb 24 12:05:40 2011 -0800 DO NOT MERGE: Alternate patch for late video issue: seek only the video ahead to the next syncframe after the current audio media position, leave audio untouched. Change-Id: I4f6eb4e577147bc12ed2e998bea299f4bcfaf936 related-to-bug: 3375737 commit 5e7282cf0b5c7a613da5e65fd6c8cb33a1058f8e Author: Andreas Huber <andih@google.com> Date: Fri Feb 11 13:09:36 2011 -0800 DO NOT MERGE: Start playing (and decoding) audio only after the first video frame has been decoded. if there's both audio and video content. This gives the video decoder an opportunity to fill its internal buffer queue at the start of playback. Change-Id: If17c4243546b1c27c8e5ee43941654d0e36f5ee5 related-to-bug: 3431702 Change-Id: Ic3a6be467ff7ad09da04b1d2bb1a692ee38002b4
* | | | mp4a box contains mp3 audio when the object type indication is 0x6bJames Dong2011-02-251-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this case, the MediaExtractor returns ERROR_UNSUPPORTED since our software MP3 audio decoder may not be able to handle packetized MP3 audio. bug - 3377570 Change-Id: I8bb6b3813716b5fa019e318842e8e1908b3c8bf8