Merge commit '24eca800d4b34e7d13fbcbc1ab74c9d91ff6a4e1' into eclair-mr2-plus-aosp
* commit '24eca800d4b34e7d13fbcbc1ab74c9d91ff6a4e1':
Propagate background scheduling class across processes.
to the AudioPolicyManager a new forced usage AudioSystem::FOR_DOCK
which can take the FORCE_NONE, FORCE_BT_DOCK or FORCE_WIRED_ACCESSORY
values. This CL is complemented by an update of the APM to take into
account the FOR_DOCK usage.
This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group. Plus an API to turn this off for the process, which is
used by the system process.
This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
Allows the use of UTF-8 for packing resources instead of the
default of UTF-16 for Java. When strings are extracted from the
ResStringPool, they are converted to UTF-16 and the result is
cached for subsequent calls.
When using aapt to package, add in the "-8" switch to pack the
resources using UTF-8. This will result in the value, key, and
type strings as well as the compiled XML string values taking
significantly less space in the final application package in
most scenarios.
Change-Id: I129483f8b3d3b1c5869dced05cb525e494a6c83a
Merge commit '5921fb51e0219ddd7cad439a73495f320c57d50e' into eclair-mr2-plus-aosp
* commit '5921fb51e0219ddd7cad439a73495f320c57d50e':
Change OMXCodec::Create to return an sp<MediaSource> instead of an sp<OMXCodec>, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.
Merge commit '2d6d609c9ede7ed8924001df00af9c13effab8ad' into eclair-mr2-plus-aosp
* commit '2d6d609c9ede7ed8924001df00af9c13effab8ad':
Squashed commit of the following:
Merge commit 'bfb9fb143b67c2d0307af2bce9af3c08f362b29a' into eclair-mr2-plus-aosp
* commit 'bfb9fb143b67c2d0307af2bce9af3c08f362b29a':
Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.
commit 543e192bf2ae13f573dc4c4e53b239ed4ea00e81
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 3 11:33:57 2009 -0800
stagefright now acts as the OMX Master, vendors supply their own plugins through libstagefrighthw. In OpenCore-enabled builds we now sit on top of PVMaster...
commit 3cbfdbd9cecadbb77b63125c62883bf1065884fe
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 2 12:39:07 2009 -0800
More OMX infrastructure, stagefright is now taking over the OMX Master, multiplexing all contributing OMX implementations under a common interface.
Merge commit '781ac16283574ec07cd7b13d67b54b7b4c2c15cb' into eclair-mr2-plus-aosp
* commit '781ac16283574ec07cd7b13d67b54b7b4c2c15cb':
A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).
Merge commit 'bbd6cb463b405fc90912dee470fe6c7b8c6b1f54' into eclair-mr2-plus-aosp
* commit 'bbd6cb463b405fc90912dee470fe6c7b8c6b1f54':
Squashed commit of the following:
commit 1efc38dc3c33fef57b759002db3965ed07a28cb0
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 19 14:36:14 2009 -0800
Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed.
Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed.
commit 51973062eb5ee63fd64b845d72bac517cc3369cf
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 14:01:43 2009 -0800
Fix one more unit test, properly send seek-complete notification only after seek actually completed.
commit cb22250b34b1fcfe1bf459723a761fd003950229
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:31:36 2009 -0800
Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails.
commit 25eb9241138ddf7bb27ce90657116c5f8a94d880
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:30:40 2009 -0800
Support seeking and duration in AMRExtractor, assuming all frames are the same size.
commit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 10:21:44 2009 -0800
MediaPlayerImpl is dead, long live AwesomePlayer.
commit c5b52d3c0674f5dc94db506afbce52401cceddac
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 09:42:23 2009 -0800
New implementation of the stagefright mediaplayer.
Merge commit '949c572a16881aa40079a42bf7682637b23eb16a' into eclair-mr2-plus-aosp
* commit '949c572a16881aa40079a42bf7682637b23eb16a':
Issue 2265163: Audio still reported routed through earpiece on sholes
Merge commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff' into eclair-plus-aosp
* commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff':
Issue 2265163: Audio still reported routed through earpiece on sholes
Merge commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff' into eclair-mr2
* commit 'e7800946a42c0ebe8e0b3f6eba04a96a9641aaff':
Issue 2265163: Audio still reported routed through earpiece on sholes
This is a second attempt to fix the audio routed to earpiece syndrom.
The root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type.
When this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop.
Results a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece.
The fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet.
The net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal.
The same modification is made for AudioRecord although no bug related to record has been reported yet.
Also fixed a potential problem if record stop is called while the record thread is exiting.
Merge commit 'f854e0770207e93ef9d1bf6d50ed18537a107ca4' into eclair-plus-aosp
* commit 'f854e0770207e93ef9d1bf6d50ed18537a107ca4':
DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.
Merge commit '2c7664989f7388c0c6cf0ec7d80ffa2704c8c2be' into eclair-mr2-plus-aosp
* commit '2c7664989f7388c0c6cf0ec7d80ffa2704c8c2be':
Squashed commit of the following:
Merge commit '744043fcbf48c32c2051f222eca552fa2df5dfcb' into eclair-mr2-plus-aosp
* commit '744043fcbf48c32c2051f222eca552fa2df5dfcb':
Update FileSource to also accept a file descriptor and a range.
commit 333057b355f8c260c549553b9a0634755c838b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 13 15:35:48 2009 -0800
Some more tweaks to AVC encoding on sholes.
commit 9981d0ee52ec5b8b0182aae733d1571e3ebb8390
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 12 16:36:57 2009 -0800
Support for avc encoding, including sholes specific tweaks to pick the right colorspace for the camera to not require transcoding.
commit 5ba0ebbbd4efca51f3ae1f60e2ca31e7d2cf136d
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 11 09:50:03 2009 -0800
Enable actual (camera) video-only recording using h.263 or mpeg4 encoding.
commit 3fd59c3526a37fe7c696f4a978925d1831c09313
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 10 14:57:48 2009 -0800
Allow switching between the PV recorder implementation and one supported by stagefright.
This is controlled through the property "media.stagefright.enable-record".
Merge commit '35ede78ede13fc2c4e7d343f50ca20372a404e06' into eclair-mr2-plus-aosp
* commit '35ede78ede13fc2c4e7d343f50ca20372a404e06':
fix some aspects of [2258746] native crash in launcher2
Merge commit '91e40e7838d183cb2a9e750edf0a6572f21da21d' into eclair-mr2
* commit '91e40e7838d183cb2a9e750edf0a6572f21da21d':
fix some aspects of [2258746] native crash in launcher2
Merge commit '91e40e7838d183cb2a9e750edf0a6572f21da21d' into eclair-plus-aosp
* commit '91e40e7838d183cb2a9e750edf0a6572f21da21d':
fix some aspects of [2258746] native crash in launcher2
Surface::validate() could sometimes dereference a null pointer before checking it wasn't null.
This will prevent the application to crash when given bad parameters or used incorrectly.
However, the bug above probably has another cause.
The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected.
Modified HeadsetObserver to broacast a state conforming to java doc.
Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not.
Removed handling of non standard headset indications from HeadsetObserver.
Removed platform specific devices from output devices defined in AudioSystem.
Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
Merge commit 'd0f3228daa9ea26ec959cb79451e6f150648bce8' into eclair-mr2-plus-aosp
* commit 'd0f3228daa9ea26ec959cb79451e6f150648bce8':
Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
Merge commit 'c66d53f97b1fe635f576642d5720dcd441e34cce' into eclair-plus-aosp
* commit 'c66d53f97b1fe635f576642d5720dcd441e34cce':
Delegate the platform dependent hardware renderer implementation to a shared library provided by the vendor.
Merge commit '05eca1d46a45723a57899dabad698537b7faef82' into eclair-plus-aosp
* commit '05eca1d46a45723a57899dabad698537b7faef82':
DO NOT MERGE: Squashed commit of the following:
commit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 12:02:31 2009 -0800
DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback.
commit 991832fe4dc012e51d3d9ed8d647c7f09991858f
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:24:11 2009 -0800
DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though.
commit cec45cf302d9218fe79956cbe8a462d7ca3a10bb
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 26 16:11:54 2009 -0700
DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to "Loaded" in order to properly free any allocated buffers.
commit 34a1e885ef9113d68acbc26d36fcc47fdebbed84
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:10:49 2009 -0800
DO NOT MERGE: Fix heap corruptin in OMXNodeInstance.
commit 5a47f7439a1298b330541a7e4e647a8b44487388
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:08:19 2009 -0800
DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec.
commit 45bed64722501b9f411a2940aff5aff4cc4d2e98
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:02:23 2009 -0800
DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts.
commit 6738e306a50196f31a73d4fc7b7c45faff639903
Author: Andreas Huber <andih@google.com>
Date: Thu Oct 15 13:46:54 2009 -0700
DO NOT MERGE: Reimplement the OMX backend for stagefright.
Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.
Changed APIs to conform to the rest of the system.
Merge commit 'fcae6c71794696a074cabf20beeb02fd87853e30' into eclair-mr2-plus-aosp
* commit 'fcae6c71794696a074cabf20beeb02fd87853e30':
Fix issue 2203561: Sholes: audio playing out of earpiece.
Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-plus-aosp
* commit '67b692920c18f99b096dce285adc6f7439fa866c':
Fix issue 2203561: Sholes: audio playing out of earpiece.
Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-mr2
* commit '67b692920c18f99b096dce285adc6f7439fa866c':
Fix issue 2203561: Sholes: audio playing out of earpiece.