History log of /frameworks/wilhelm/src/Android.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
84ed0307dcc468a925c8e779e804367345177ff3 25-Apr-2012 Andrew Hsieh <andrewhsieh@google.com> Fixed runtime linkage problems for libOpenSLES and libOpenMAXAL

Libraries libOpenSLES and libOpenMAXAL depends on liblog but Android.mk
doesn't specify it. Native app links libOpenSLES or libOpenMAXAL
may fail with the following error message (taking
$NDK/samples/native-media as an example)

E/AndroidRuntime( 824): Caused by: java.lang.UnsatisfiedLinkError:
Cannot load library: link_image[2260]: 82 could not load needed
library 'libOpenMAXAL.so' for 'libnative-media-jni.so'
(mips_relocate_got[1804]: 82 In 'libOpenMAXAL.so',
can't locate symbol __android_log_assert)

It's unclear why compiler (MIPS/ARM/X86) doesn't complain w/o liblog.
It's also unclear why ARM and X86-based Android devices don't have
runtime problem. (ie. $NDK/samples/native-media runs on ARM/X86 but
fails in MIPS-based device)

Fixed Android.mk to make it explicit.

Change-Id: I12a254813f6b7cf98cc735d0a4d1f485e730f9fa
/frameworks/wilhelm/src/Android.mk
e7b0c260194d155513f5e07105841597f7bb9ab8 28-Mar-2012 -b master-pdk-dev <jdong@google.com> Android.mk file changes in frameworks/wilhem

Change-Id: Ibc10f34a4686a3b5647f67436aab8f52a50de479
/frameworks/wilhelm/src/Android.mk
b18944c03c48d91fada0ae7bb364d056840f6dba 19-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Prepare to move system/media"
5321b3665e1a538cdcf894dea99d15c10b18ccf8 14-Mar-2012 Glenn Kasten <gkasten@google.com> Prepare to move system/media

Change-Id: Iac6dcfb72753e53e9a42b5feeaa2d6523f2395a4
/frameworks/wilhelm/src/Android.mk
27ff9b2ebcb70cf1b615a1040fb2ddd854f13cbf 13-Mar-2012 Glenn Kasten <gkasten@google.com> Add libmedia_native

Change-Id: I8fa7edb2872697164edb9bdd464e282ac113075b
/frameworks/wilhelm/src/Android.mk
cde9b8b8bd0c84c62de49e73c08d224274280bfa 13-Mar-2012 James Dong <jdong@google.com> Switched to use header files in /frameworks/native

o related-to-bug: 6044887

Change-Id: Iedc72c551ce4792e695dce3cf222b76598667f43
/frameworks/wilhelm/src/Android.mk
e2e8fa36bd7448b59fbcdf141e0b6d21e5401d91 29-Jul-2011 Glenn Kasten <gkasten@google.com> Comments

Change-Id: I1592d1979ce5f5811ff5a47b4b60db93e8670313
/frameworks/wilhelm/src/Android.mk
4ce38604afa7e4f629d568f400b0634504e60a2e 29-Jul-2011 Glenn Kasten <gkasten@google.com> Improved deadlock detection logs.

This should make it easier to debug the "object was locked by" logs.

Display tid and pthread_t of both the lock owner and the caller in the
"object was locked by" warning log about potential deadlocks.
This makes it easier to figure out what's going on with ps -t
which only shows the tid not the pthread_t.

Reduce false positives by using a generation counter to look for forward
progress, at the risk of increasing the chance of more false negatives.

Use lock with timeout to reduce chance of missing an "unlocked" window.

Change-Id: I15e158a20d7076624188110842a01c1bf2c5c8ae
/frameworks/wilhelm/src/Android.mk
5cd605f62b687b22ff44a9de096b5f297eed74af 24-Aug-2011 Glenn Kasten <gkasten@google.com> Assertion checks do LOGF not fprintf to stderr

Also add comments to Android.mk, and add SL_LOGF not yet used.

Change-Id: I1e051c040b667e2e70b6df0c03648c309efef7d6
/frameworks/wilhelm/src/Android.mk
bb832e853d4afb11b0a3287b2eb0cad87696d631 27-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> AAC buffer decode to PCM buffer queue

Implement AAC ADTS decode with buffers of compressed data being
passed to the framework through an AndroidBufferQueue, and
decoded PCM buffers being passed to the application through
a BufferQueue (just like existing decode from URI/FD).

Change-Id: Id992a44a5ca7e404088b929f2b0afe9ca1f85223
/frameworks/wilhelm/src/Android.mk
4076e5009bfe70bc06a78f5aafec77af6c03201d 02-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5108531 Report the correct API level

Use build macro PLATFORM_SDK_VERSION to automatically update the reported
value, however the test program will still need manual updates.

Change-Id: Iae044605db65021c7d1e9825aab80ab5d6b552a8
/frameworks/wilhelm/src/Android.mk
6e7e174807fc639c49125ced8962aa369370fbf0 13-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Implement XAVideoDecoderCapabilitiesItf

Add support for the OpenMAX AL XAVideoDecoderCapabilitiesItf
engine interface.

Implement the Android support of this interface in
VideoCodec_to_android.*. This functionality relies
on OMXCodec::QueryCodecs() feature, and does only
expose hardware codec capabilities (see full note in
VideoCodec_to_android.h).

Add sample code to list the platform's video decoders
and their profile / level combinations.

Change-Id: Iff6a42542c1db67ca1dcf539449ca96aa5944f6d
/frameworks/wilhelm/src/Android.mk
ffea36e11b068d171549b64ee767eefd2637555a 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I59e3c37c05c1114648172d9aba7abf035986bede
/frameworks/wilhelm/src/Android.mk
ea429ee1007c36ade812199ad365c0e659e8053f 17-Jun-2011 Eric Laurent <elaurent@google.com> Moved and renamed effect API header files

Moved specific effect header files to
system/media/audio_effects/include/audio_effects and renamed
to lower case (effect_xxx.h).

Change-Id: I8e8f6e3851f12ae8bb380fa714abe26da06d3b58
/frameworks/wilhelm/src/Android.mk
6cce136651f6fd2c7aecd45bc553270152d75462 28-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix race condition when deleting an AudioPlayer

When deleting an AudioPlayer that is used as a PCM decoder,
there can be callback underway, for instance when trying to
delete a player just as the notification of its preparation
arrives.

The fix consists in:
- flagging all callback with the CallbackProtector
mechanism,
- only entering callback when it is valid to do so
- renaming AudioTrackProtector to CallbackProtector
as this mechanism is not exclusively used for the
AudioTrack callbacks.

Change-Id: I9336a75981de43f71a983c1300f3a0ff314ac1e0
/frameworks/wilhelm/src/Android.mk
7f5cc1afe49395fefaad9b2bbd728a45d1bfda6a 16-Jun-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenSL ES: additional features when decoding to PCM

Support the following features useful when decoding a compressed
asset to PCM:
- GetDuration in SLPlayItf
- implemented SLMetadataExtractionItf on an AudioPlayer whose
data sink is a buffer queue (i.e. it's a decoder)
- added support for 6 new metadata keys that can be queried
through SLMetadataExtractionItf, which match the fields
of the SLDataFormat_PCM structure.
Updated the decode sample code to use these features: the
slesTestDecodeToBuffQueue app now displays:
- the number of channels
- the channel mask
- the sample size
- the container size
- the sample rate
- the format endianness

Change-Id: I3ca1e29828fd8c16c89da43a28df429c9cdef7af
/frameworks/wilhelm/src/Android.mk
7b726bdcd996f1cab3a584c04ce1afc07bc8fbe7 07-Apr-2011 Glenn Kasten <gkasten@google.com> Refactor the handling of updates to attributes

Attribute handler functions are more modular and
get rid of those endless if statements.

Change-Id: I3221aeb3d26d2dcc5dc9a3f6d37d088f5ce511a1
/frameworks/wilhelm/src/Android.mk
0e3b9fb27c3597dd4b32f2894f5d182ea4b86234 06-Apr-2011 Glenn Kasten <gkasten@google.com> Line length 100

Change-Id: Ie4459eed7f94870413bc87252910c1189ecf2e06
/frameworks/wilhelm/src/Android.mk
4ee246c55533bdab8ab5fa0f0581744fe58e7c91 29-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Move support for SL URI and FD playback under GenericPlayer class

The SfPlayer class was implementing URI and FD decode and playback
in the application process. This CL removes this class entirely
and moves its functionality under the GenericPlayer class. This
means that the playback of URIs and FDs is now implemented through
an android::MediaPlayer object running in the media service.

The SfPlayer header had many StageFright and system includes, which
are now moved to the relevant files where they are required,
instead of automagically coming from sles_allinclusive.h.

Note that this CL breaks support for the following OpenSL ES features
due to missing Android MediaPlayer features:
SLPlayItf.GetPosition
HEADATMARKER
HEADATNEWPOSITION
SLVolumeItf.EnableStereoPosition
SetStereoPosition
SLMuteSoloItf
SLPlaybackRateItf

Support for those features will be reintegrated in subsequent CLs.

Change-Id: I8d7f6ea006eb7b876ef1ca1909d74b4517335850
/frameworks/wilhelm/src/Android.mk
f62044fafa9644468b35ae7291497b0482762f95 24-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> am 9e0e6e5c: Fix bug 4109988 fix deadlock on destroy

* commit '9e0e6e5c60320dac9aa2abbce2f9a843b8fc4449':
Fix bug 4109988 fix deadlock on destroy
83ac345e264c1e22b7a2f1a110b2fe92473394ec 19-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 4109988 fix deadlock on destroy

Fix deadlock with an AudioPlayer playing from a PCM buffer queue.
This type of player uses an AudioTrack that pulls data through
its callback from a buffer queue.
This issue is that when you destroy the player (whick locks the
object), it tries to destroy the AudioTrack object. The
AudioTrack destructor can only finish when the AudioTrack
callback thread can exit. If a callback was underway when
trying to destroy the object, a race condition existed for
the AudioPlayer lock.
The fix consists in using the "pre-destroy" hook for the AudioPlayer
object. In it, we unlock the AudioPlayer, and block until the
AudioTrack callback has signaled it's done. The pre-destroy
hook also marks the track as "about to be destroyed" so any
callback that gets called once the pre-destroy hook has been
called can return immediately.

Change-Id: I4ca69157ff381232c1edc8fb576c6d9e90c2777f
/frameworks/wilhelm/src/Android.mk
4c94f69ce3aafc6bafa265fe2ef448c621e66f15 17-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> resolved conflicts for merge of c5dcfeb2 to master

Change-Id: Iff3428cd554c5b5940da8a243c661ae70a92af8d
527f8ca99f2938d6569fc25dcf3256985a54dec6 16-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 4106199 Split libOpenSLES.so & libOpenMAXAL.so

Change-Id: I718cf6bcfff51a6fb153928eb160a36b4ca9fc96
/frameworks/wilhelm/src/Android.mk
9a40703b539028b2dce5a62d94deb81375d75f6a 16-Mar-2011 Glenn Kasten <gkasten@google.com> am 7a713baa: Merge "Bug 4099084 native window data locator" into honeycomb-mr1

* commit '7a713baae6cac3740cc27380f1dc8099dd272470':
Bug 4099084 native window data locator
8dcbad0e3d219a28ad0755c77992fcdc74dc3168 16-Mar-2011 Glenn Kasten <gkasten@google.com> am 2e28af68: Bug 4099355 workaround gcc x86 problem

* commit '2e28af68bc8807958ba611c082a0a61691e76a2c':
Bug 4099355 workaround gcc x86 problem
39310fca2e30101fa6e5168da443581cc60c20bf 16-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 4099084 native window data locator

Change-Id: I03cac7501c3f185a2f95395b140b52b695081c4b
/frameworks/wilhelm/src/Android.mk
2eac6c23b7bd8985e5bc842b9dec9fa3980dd100 15-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 4099355 workaround gcc x86 problem

Change-Id: Ib9e2fc9eb58bef73772d8c617023f689b514e3a1
/frameworks/wilhelm/src/Android.mk
f62485fd570f004d0e336e4c2624a935a4a284cc 14-Mar-2011 Iliyan Malchev <malchev@google.com> system/media: remove LOCAL_PRELINK_MODULE

Change-Id: I55942287d5789a6297ab16f4049f529cb9f9e56c
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/wilhelm/src/Android.mk
70c49ae2867094072a4365423417ea452bf82231 07-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3329759 support commands in SLAndroidBufferQueueItf

Support for EOS, DISCONTINUITY, and DISCONTINUITY with
a PTS.

- in IAndroidBufferQueue structure, added buffer type
- modified AdvancedBufferHeader structure to have a buffer
type-specific structure that contains all the items for each
buffer
- added parsing of items when enqueueing a buffer
- enforce buffer size enqueue to be a multiple of MPEG-2 TS
block size for buffer of the corresponding types
- when enqueueing a buffer on an empty queue, implemented
an asynchronous notification on StreamPlayer to consume
the newly queued buffer. Verified this kicks off playback
after having starved the framework for buffers.
- report unknown duration when using AndroidBufferQueue

Change-Id: I9bde97a6c6ffca7d376b4963313b820b35f50a26
/frameworks/wilhelm/src/Android.mk
d158d31a6bbb06426b71c3d097b7768bc3fb79a3 04-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3329759 TS streaming over SLAndroidBufferQueueItf

Modify the SLAndroidBufferQueueItf interface to offer a model
where buffers of data can be queued along with commands
(messages) when used for playback, or buffers of data can be
received along with metadata (messages)

changes:
- new callback and enqueue functions in SLAndroidBufferQueueItf
and XAAndroidBufferQueueItf.
- definition of a new struct, AdvancedBufferHeader, for
the buffers in the queue.
- decoupling of the "buffer available to be filled" from SF
and the call to the ABQ callback. Implemented in new
file AndroidBufferQueueSource.cpp
- source/sink checks and memory allocation when creating an
AudioPlayer or MediaPlayer that uses SLAndroidBufferQueueItf,
and verifying the data fed to the ABQ is declared as
SL_CONTAINERTYPE_MPEG_TS
- updated tests/native-media XA demo code, and
tests/sandbox/streamSource to use the new interface.

Change-Id: I48e44f346e718041d835fde51e349923fcc1f4b1
/frameworks/wilhelm/src/Android.mk
68d56b8ebaf60184a3aef988e3d2b09ed8b88c05 24-Feb-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL: consolidate MediaPlayer implementations under superclass

The OpenMAX AL MediaPlayer object has two implementations: one
for playing from URI/FD (LocAVPlayer) and one for playing from
AndroidBufferQueue (StreamPlayer). They both inherit from AVPlayer.
This CL makes LocAVPlayer and StreamPlayer inherit from
GenericMediaPlayer (new name of AVPlayer) which encapsulates the
interaction with an android::MediaPlayer instance running in
the media server process.
Also it makes GenericMediaPlayer inherit from GenericPlayer, the
player superclass also used in OpenSL ES.

After this CL, the OpenMAX AL and OpenSL ES have a common class
hierarchy for their players.

Change-Id: I5f6e279fc29b7f6f26c9ed5c83a9455cfda88ff4
/frameworks/wilhelm/src/Android.mk
13837cf3f7be0eb8b1a9552bd99a89f98c987720 01-Feb-2011 Jean-Michel Trivi <jmtrivi@google.com> OpenSL ES: support decode to PCM buffer queue

Created a new audio player class, APlayer, from which we derive
subclasses to encapsulate OpenSL ES AudioPlayer implementations:
- ASfPlayer derives from APlayer and encapsulates StageFright
functionality for audio decoding to a buffer
- ADecoder derives from ASfPlayer and encapsulates rendering
the decoded audio data to a callback function. It interfaces
with the OpenSL ES Buffer Queue interface to pass the decoded
data back to an OpenSL ES application.

For OpenSL ES, to support decoding to a Buffer Queue, we now
allow an AudioPlayer to have its sink be a PCM buffer queue.

Change-Id: I9aefeb0375a71f7ca770c5c62b4fb8faf59c9c23
/frameworks/wilhelm/src/Android.mk
cfc9374b5957ffa056e9cc0ae9beb164c64bdce0 18-Jan-2011 Glenn Kasten <gkasten@google.com> JNI is obsolete

Change-Id: Ic89b9b8875af6ce13cd96d8c0c944e8878805093
/frameworks/wilhelm/src/Android.mk
e648adb1eb6022663b3a695710b036bc92dae111 13-Jan-2011 Glenn Kasten <gkasten@google.com> Merge "Make symlink for libOpenMAXAL.so" into honeycomb
64e0e9fcadaa738d7145c07c20c67d123e4e7cda 13-Jan-2011 Glenn Kasten <gkasten@google.com> Make symlink for libOpenMAXAL.so

Change-Id: I06cb66a30a1a543d2c6f7b93428d29d1b90edb2a
/frameworks/wilhelm/src/Android.mk
b2aeb0f1009555181dabb944fe05901cb6e6f632 12-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> More file renames and header inclusion reorder

More file renames and include reordering to separate Android
classes, and the mapping of the C OpenSL ES and OpenMAX AL
function calls to the Android implementation.

Change-Id: Id6f63af80bd581ed9cab495e2c11a86589ecf6c9
/frameworks/wilhelm/src/Android.mk
262059f71a68edc5e510427c63f5f1623d3672a8 12-Jan-2011 Glenn Kasten <gkasten@google.com> Directory re-organization

Change-Id: I8e3f12a22e765d36ddefd87edf204735b25474f6
/frameworks/wilhelm/src/Android.mk