OSDN Git Service

android-x86/system-media.git
14 years agoMerge "OpenSL ES tests shouldn't be built in all builds." into kraken
Jean-Michel Trivi [Tue, 8 Jun 2010 22:03:41 +0000 (15:03 -0700)]
Merge "OpenSL ES tests shouldn't be built in all builds." into kraken

14 years agoOpenSL ES tests shouldn't be built in all builds.
Jean-Michel Trivi [Tue, 8 Jun 2010 21:40:27 +0000 (14:40 -0700)]
OpenSL ES tests shouldn't be built in all builds.

Change-Id: Ib014c47cb5c25d1348e544ead3e272e4d2194d5f

14 years agoImplement SLPlaybackRateItf
Jean-Michel Trivi [Tue, 8 Jun 2010 18:40:56 +0000 (11:40 -0700)]
Implement SLPlaybackRateItf

Change-Id: I5f73882a76f8e2c120f68f1b64c374e1950d2356

14 years agoModify implementation of SLPlayItf to only start prefetching data
Jean-Michel Trivi [Fri, 4 Jun 2010 20:10:36 +0000 (13:10 -0700)]
Modify implementation of SLPlayItf to only start prefetching data
when the playstate is set to PAUSED, and notify prefetch status
change and buffer fill level through the SLPrefetchItf callback.
Modify test app to correctly start playing only after a prefetch
status change.

Change-Id: I51482bb5b7db419bdb694be2277282d94ff8234f

14 years agoImprove portability.
Glenn Kasten [Fri, 4 Jun 2010 01:03:59 +0000 (18:03 -0700)]
Improve portability.

Change-Id: I67643ff9807fcb0459322b36d2b5406ae15903a7

14 years agoContinue preparations for implementing async ops.
Glenn Kasten [Fri, 4 Jun 2010 00:47:21 +0000 (17:47 -0700)]
Continue preparations for implementing async ops.

Centralize object destroy.
Record an object instance ID for use by debugger user interface.
Track all object instances associated with an engine, for use by sync thread and debugger.

Change-Id: Id8b7d0d1acd43f9524443f1bdcfb70ede7b66bfb

14 years agoMerge "Work in progress towards a Windows port." into kraken
Glenn Kasten [Fri, 4 Jun 2010 00:09:40 +0000 (17:09 -0700)]
Merge "Work in progress towards a Windows port." into kraken

14 years agoUse interface exclusive locks when reading and modifying interface
Jean-Michel Trivi [Thu, 3 Jun 2010 23:52:05 +0000 (16:52 -0700)]
Use interface exclusive locks when reading and modifying interface
properties.

Change-Id: I666f1e9af00e3ffd89077b68dcf447800d64a7a6

14 years agoFor audio players with URI data source:
Jean-Michel Trivi [Wed, 2 Jun 2010 18:59:56 +0000 (11:59 -0700)]
For audio players with URI data source:
- Modify stereo volume update to also work on a MediaPlayer.
- Add support for completion callback when play event mask
  specifies SL_PLAYEVENT_HEADATEND
Before changing a property related to the SLVolumeItf or
 SLPlayItf, check that the property has changed before applying
 it to avoid useless calls and computations.
Cleanup in playUri test and compile without warnings.
Remove "driver" test content: test app was previously moved
 to tests/pcmBufferQueue.
According to spec: initialize periodic update for SLPlayItf
 and SLRecordItf to 1s.
Change-Id: I00dad162eac7c0d88b535ab65e2351353b8888d5

14 years agoWork in progress towards a Windows port.
Glenn Kasten [Thu, 3 Jun 2010 20:35:55 +0000 (13:35 -0700)]
Work in progress towards a Windows port.

Windows supports C89, not C99.
Fix an assignment warning caught by Windows compiler.
Avoid POSIX calls.

Change-Id: I7993d045156233f3c6f20caff05de1f94778041c

14 years agoImprove resource recovery.
Glenn Kasten [Wed, 2 Jun 2010 21:50:12 +0000 (14:50 -0700)]
Improve resource recovery.

Better cleanup in AudioPlayer.Destroy.
Avoid mallocs in LEDArray and Equalizer.
Line length 100.

Change-Id: I2d22880b27ccf7e9038b398cae9287781fd82253

Continued work on threading.

Lay the groundwork for true asynchronous realize.
Call all callbacks with mutex unlocked.
C volatile is meaningless.
Start adding support for suspend/resume on interfaces.
Line length 100.

Change-Id: I631cb4f123143e4ef79c6c491d12b1e559857cab

14 years agoSimplify initialization of AudioPlayer.
Glenn Kasten [Wed, 2 Jun 2010 00:40:50 +0000 (17:40 -0700)]
Simplify initialization of AudioPlayer.

Clear whole object at initialization. Remove spurious NDEBUG.

Change-Id: Idb116722d95526f8204200d14ca1bafbedd19936

14 years agoImplement GetDuration and GetPosition in SLPlayItf
Jean-Michel Trivi [Tue, 1 Jun 2010 23:32:29 +0000 (16:32 -0700)]
Implement GetDuration and GetPosition in SLPlayItf

Change-Id: I83ae15310c3e473556703e5d373aef5a07e6eda5

14 years agoWhen calling an OpenSL ES callback after an AudioTrack callback, use
Jean-Michel Trivi [Tue, 1 Jun 2010 19:50:44 +0000 (12:50 -0700)]
When calling an OpenSL ES callback after an AudioTrack callback, use
interface locks to retrieve the data for the callback, unlock, and
then use the callback function pointer.

Change-Id: Icf3ca3bad78159ee6c01dd937221477cc2939c1c

14 years agoMove platform-specific code to separate files. Use sles_allinclusive.h to really...
Glenn Kasten [Sat, 29 May 2010 18:43:15 +0000 (11:43 -0700)]
Move platform-specific code to separate files.  Use sles_allinclusive.h to really mean all inclusive.  MuteSolo check channel count.

Change-Id: I96caab5be55a1f04342eb67b511309babd5a6916

Make a copy of data source and sink parameter to avoid dangling inputs.  Pre-process URI scheme and MIME type using a perfect hash. Line length 100.

Change-Id: Icb1e1a7a9c6370eda1e15e61f0dff35c1d59d7fa

Fix merge problem on Android.

Change-Id: I70b724273147f3981550272990729a4a409e1f72

MIME type needs to be completely initialized.

Change-Id: I3766acfb170abc976506cf305fabd5548107f592

Remove MIME lookup and URI scheme lookup.

Change-Id: I7058dfef01c9db509ad5915d9f8099a720e6736b

14 years agoAdd command line test to play a URI, to exercise the OpenSL ES
Jean-Michel Trivi [Tue, 1 Jun 2010 19:24:25 +0000 (12:24 -0700)]
Add command line test to play a URI, to exercise the OpenSL ES
AudioPlayer with a SL_DATALOCATOR_URI as data source. Plays 10s
of the URI.

Change-Id: I24b8ae5293c4efbc372551febd91eb6dafe890eb

14 years agoFirst pass at implementing support of SL_DATALOCATOR_URI in an SL ES
Jean-Michel Trivi [Wed, 26 May 2010 22:22:15 +0000 (15:22 -0700)]
First pass at implementing support of SL_DATALOCATOR_URI in an SL ES
audio player data source.

Change-Id: Ie8dc3b88c667035cbb20d2180eed6f699b6e7c2b

14 years agoContinue splitting up source code.
Glenn Kasten [Fri, 28 May 2010 23:25:21 +0000 (16:25 -0700)]
Continue splitting up source code.

Change-Id: Iad6caa5adf111f50ad1a3aa14fc31efc7d5b285e

14 years agoRename RealizeHook to AsyncHook.
Jean-Michel Trivi [Fri, 28 May 2010 21:08:08 +0000 (14:08 -0700)]
Rename RealizeHook to AsyncHook.

Change-Id: I9a01c438bba7d18a214f90912620847a3d72d3f2

14 years agoAdd async field to the object-specific implementation of Realize
Jean-Michel Trivi [Fri, 28 May 2010 19:54:48 +0000 (12:54 -0700)]
Add async field to the object-specific implementation of Realize
and Resume functions.

Change-Id: Ib9854a4ba06ebbc6a9e2a58274db2bfe47d46f35

14 years agoAdd a command line test for PCM buffer queues.
Jean-Michel Trivi [Wed, 26 May 2010 00:02:32 +0000 (17:02 -0700)]
Add a command line test for PCM buffer queues.
This example is based on the buffer queue sample code from the
OpenSL ES specification.

Change-Id: Ic0730549fe54e7d5cedf1bd7d374e2b81c1e969d

14 years agoCompile (almost) all .c as C++ for Android.
Glenn Kasten [Wed, 26 May 2010 23:40:09 +0000 (16:40 -0700)]
Compile (almost) all .c as C++ for Android.

Change-Id: I2213f8cd615723b5d1dc34ba206bf3f900b44739

14 years agoFix broken build.
Glenn Kasten [Wed, 26 May 2010 22:39:58 +0000 (15:39 -0700)]
Fix broken build.

Change-Id: I99bea1ced30ea5eb10036e4b8f6450aa469b74c4

14 years agoIEngine, IPlay, IVolume are compiled separately. Turn on USE_ANDROID for the whole...
Glenn Kasten [Wed, 26 May 2010 19:30:10 +0000 (12:30 -0700)]
IEngine, IPlay, IVolume are compiled separately.  Turn on USE_ANDROID for the whole build.

Change-Id: I28096fa86286cf9ff97ce4ae4164f7cd4a0d6198

14 years agoCorrections to the implementation of SLVolumeItf for an AudioPlayer.
Jean-Michel Trivi [Wed, 26 May 2010 17:47:15 +0000 (10:47 -0700)]
Corrections to the implementation of SLVolumeItf for an AudioPlayer.
When unmuting an AudioPlayer, update volume in framework, not
 implementation-specific code.
Android implementation limits maximum volume to 0.

Change-Id: I2f49a55e33ce58fb3543ca047ec20c04340e8d9f

14 years agoMove OpenSL ES library implementation to the libopensles folder.
Jean-Michel Trivi [Wed, 26 May 2010 00:54:24 +0000 (17:54 -0700)]
Move OpenSL ES library implementation to the libopensles folder.
Add an Android makefile for libopensles.

Change-Id: I1480bf46c7165cd35bb55aef1f11fb0a04fff88e

14 years agoImplement the SLVolumeItf and SLPlayItf on an AudioPlayer's AudioTrack.
Jean-Michel Trivi [Mon, 24 May 2010 17:16:37 +0000 (10:16 -0700)]
Implement the SLVolumeItf and SLPlayItf on an AudioPlayer's AudioTrack.
Iplay.c and IVolume.c are temporarily included in sles.c to circumvent
a build issue.
Change-Id: I213fc1d681ca2e7ff158aff876faf980a88292b5

14 years agoAlmost done splitting off the interfaces.
Glenn Kasten [Fri, 21 May 2010 15:47:51 +0000 (08:47 -0700)]
Almost done splitting off the interfaces.

Change-Id: I374133ed856b38eb16e59ca3e917ef85d8dd2cf0

Split up MIDI interfaces.

Change-Id: Ife064b0ef6149ab8bcbc93646689cd5197c8c197

Interface initialization.

Change-Id: Iefa67680dab3ac558555462672261f613499a967

Add parameter range checks.

Change-Id: Ie2efba85e2b8ec8c2c6c73e0edf393318833d886

14 years agoImplement the AudioTrack callback to retrieve audio data from a
Jean-Michel Trivi [Tue, 18 May 2010 22:15:24 +0000 (15:15 -0700)]
Implement the AudioTrack callback to retrieve audio data from a
BufferQueue interface.
When handing audio data from the buffer queue to the AudioTrack
callback, you cannot give more data than the given size. This
requires the handling of partial buffer consumption, before
the play index is incremented and the buffer queue callback
is called.

Change-Id: I2181afbc509182ff5c38aebbc4784f9b9916a6ae

14 years agoContinue the split into smaller source files.
Glenn Kasten [Thu, 20 May 2010 15:54:02 +0000 (08:54 -0700)]
Continue the split into smaller source files.

Change-Id: I90dd822c4d91a21400e704b7cf3aab91293a35a7

14 years agoMove devices to separate files.
Glenn Kasten [Wed, 19 May 2010 01:38:45 +0000 (18:38 -0700)]
Move devices to separate files.

Change-Id: I24c7c8d344a747a1b8b0854e6f872dcf8158a932

Move locks to separate file.

Change-Id: I4b5a2c4d497416d009dd6574ff793eaa93b7e9ac

Move 3D interfaces to separate files.

Change-Id: I8a4166301b3ff677784290794a1be8de4d424711

Move more interfaces to separate files.

Change-Id: I253f101663dc493bae4b469746a3ededb0882ae8

14 years agoStart adding frame thread (sync).
Glenn Kasten [Tue, 18 May 2010 16:48:03 +0000 (09:48 -0700)]
Start adding frame thread (sync).

Change-Id: Ifc163177cd990f1db27886e796ef23cbe420136f

Make test C32 work again on SDL.

Change-Id: I3c4949efbceaa44dc91d988641ce1ecbad977571

Add missing initializer for _3DGroup_class.
Fix uninitialized variables in metadata extraction.
Add missing const for data source and sink.

Change-Id: Iccc5ebc721bbd52167098b5fa04c8a54a8bab6c9

Start adding typedefs I* and C*.

Change-Id: I30d263f22ae0edd4e9f438161670f778a6f0ee96

Start implementing name changes.

Change-Id: I28cae1cd8f69a721251d83efd1ba7cef124201a9

14 years agoIn Engine_CreateAudioPlayer, only initialize buffer queue depth and
Jean-Michel Trivi [Tue, 18 May 2010 18:06:28 +0000 (11:06 -0700)]
In Engine_CreateAudioPlayer, only initialize buffer queue depth and
allocate buffer queue array if the AudioPlayer data source is a
buffer queue.

Change-Id: I140174809656cbe252a218d2eb91d099a733b5c5

14 years agoAdd android-specific AudioPlayer Realize function.
Jean-Michel Trivi [Tue, 18 May 2010 01:36:25 +0000 (18:36 -0700)]
Add android-specific AudioPlayer Realize function.

Change-Id: Ice8fcc0243a146cdfc7941d72419b4181f9a5909

14 years agoSeparate in external functions the checks done on the data source and
Jean-Michel Trivi [Mon, 17 May 2010 21:25:11 +0000 (14:25 -0700)]
Separate in external functions the checks done on the data source and
sink of an audio player during its creation.

Change-Id: I1d45d40aa0a58f8abcd27764bf557ad6159d468b

14 years agoContinue adding locks for multi-threading.
Glenn Kasten [Mon, 17 May 2010 13:55:39 +0000 (06:55 -0700)]
Continue adding locks for multi-threading.

Change-Id: Ia46a71b42983d37677bafba9b55f12058a25db57

Line 212 mDistance needs to be SLmillimeter.

Change-Id: I15ff3c3371f94798b3d04773c9c638c3793c2e40

14 years agoContinued work on multi-threading.
Glenn Kasten [Fri, 14 May 2010 20:56:32 +0000 (13:56 -0700)]
Continued work on multi-threading.

Change-Id: I0eaf56540a93ae1dbda9f626faf38361c8ef9728

14 years agoRemove all new type definitions into a separate header.
Jean-Michel Trivi [Fri, 14 May 2010 17:14:08 +0000 (10:14 -0700)]
Remove all new type definitions into a separate header.
New files to host the implementation of Android media framework
resource allocation.

Change-Id: I71de03a595add1a44e3e86a944382d73fde0c1bd

14 years agoContinued work on multi-threading, and sketch out remaining interfaces.
Glenn Kasten [Fri, 14 May 2010 00:10:07 +0000 (17:10 -0700)]
Continued work on multi-threading, and sketch out remaining interfaces.

Change-Id: Ib8549ae96909bd7f8a0c23149dcfce8457000107

14 years agoContinuation of previous changelist.
Glenn Kasten [Wed, 12 May 2010 19:40:21 +0000 (12:40 -0700)]
Continuation of previous changelist.

Change-Id: I249049747109c4ae281632a08e4099ebecd12442

14 years agoContinue on multi-threading support.
Glenn Kasten [Wed, 12 May 2010 05:44:33 +0000 (22:44 -0700)]
Continue on multi-threading support.

Clean up audio codec capabilities.
First cut at ThreadSync, LED, Vibra, EffectSend.

Change-Id: Id3130fef774a7b5bcb725fb41dfc91a58ebf60dd

14 years agoStart adding mutex locks.
Glenn Kasten [Mon, 10 May 2010 19:30:36 +0000 (12:30 -0700)]
Start adding mutex locks.

Change-Id: I507211b0ff6cd11c8110be18bf4ba44af848c55d

14 years agoFirst audio output using Android AudioTrack.
Glenn Kasten [Sat, 8 May 2010 00:43:43 +0000 (17:43 -0700)]
First audio output using Android AudioTrack.

Change-Id: Id18de8f51a73d9c801dbc79c1e8a19845b6045c2

14 years agoContinuing framework to support more interfaces and build with C++.
Glenn Kasten [Mon, 3 May 2010 21:39:02 +0000 (14:39 -0700)]
Continuing framework to support more interfaces and build with C++.

Change-Id: I218a28e3cab708ea45e74d4bb011e6018dbe51ef

14 years agoContinued implementation, move all C files to top.
Glenn Kasten [Wed, 28 Apr 2010 00:29:32 +0000 (17:29 -0700)]
Continued implementation, move all C files to top.

Change-Id: I33bc95ba7a27d53e2fa87e0e994a2c0007be6726

14 years agoDelete obsolete 1.0 specification.
Glenn Kasten [Tue, 27 Apr 2010 19:26:48 +0000 (12:26 -0700)]
Delete obsolete 1.0 specification.

Change-Id: I018e56a8436a840ffc108aeaef9f539fef65aa4d

14 years agoOpenSL ES 1.0.1 documents and headers as downloaded from Khronos.
Glenn Kasten [Tue, 27 Apr 2010 19:22:53 +0000 (12:22 -0700)]
OpenSL ES 1.0.1 documents and headers as downloaded from Khronos.

Change-Id: Ie9cf1df5018b26e5148eb1666dcd546d450b43e6

14 years agoOpenSL ES 1.0 documents and headers as downloaded from Khronos.
Glenn Kasten [Tue, 27 Apr 2010 19:09:12 +0000 (12:09 -0700)]
OpenSL ES 1.0 documents and headers as downloaded from Khronos.

Change-Id: Ifd948d08eb0493cf09c08657635c61d5e835a37e

14 years agoFix problems found during code review on 2010/04/16, and committed on 2010/04/21.
Glenn Kasten [Tue, 27 Apr 2010 16:42:17 +0000 (09:42 -0700)]
Fix problems found during code review on 2010/04/16, and committed on 2010/04/21.

Change-Id: I709f327e23904716b48da1e7dd36e7785725df73

14 years agoInitial version of 2010/04/15.
Glenn Kasten [Tue, 27 Apr 2010 16:38:01 +0000 (09:38 -0700)]
Initial version of 2010/04/15.

Change-Id: I2fa40b0bdd87df8fc3ae13f1b475b96ed6f9efda

14 years agonew project, first commit
Nico Sallembien [Mon, 26 Apr 2010 22:13:03 +0000 (15:13 -0700)]
new project, first commit