OSDN Git Service

android-x86/system-media.git
12 years agoMerge "Fix race condition when deleting an AudioPlayer"
Jean-Michel Trivi [Tue, 28 Jun 2011 23:36:02 +0000 (16:36 -0700)]
Merge "Fix race condition when deleting an AudioPlayer"

12 years agoMerge "Added Random and RoundRobin Scheduler."
Wei Hua [Tue, 28 Jun 2011 21:56:19 +0000 (14:56 -0700)]
Merge "Added Random and RoundRobin Scheduler."

12 years agoAdded Random and RoundRobin Scheduler.
Wei Hua [Tue, 28 Jun 2011 20:32:31 +0000 (13:32 -0700)]
Added Random and RoundRobin Scheduler.

Change-Id: I03300714f66543784f3f8bee40d9865479127b77

12 years agoFix race condition when deleting an AudioPlayer
Jean-Michel Trivi [Tue, 28 Jun 2011 00:18:26 +0000 (17:18 -0700)]
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

12 years agoMerge "Renamed port classes to more intuitive names."
Marius Renn [Tue, 28 Jun 2011 17:01:03 +0000 (10:01 -0700)]
Merge "Renamed port classes to more intuitive names."

12 years agoMerge "Bug 4571308 Test video timestamps"
Glenn Kasten [Tue, 28 Jun 2011 16:53:46 +0000 (09:53 -0700)]
Merge "Bug 4571308 Test video timestamps"

12 years agoBug 4571308 Test video timestamps
Glenn Kasten [Mon, 27 Jun 2011 18:01:27 +0000 (11:01 -0700)]
Bug 4571308 Test video timestamps

Change-Id: I4d1fe3b9e090fe014c45432a91ea43360213ee2e

12 years agoRenamed port classes to more intuitive names.
Marius Renn [Mon, 27 Jun 2011 22:21:40 +0000 (15:21 -0700)]
Renamed port classes to more intuitive names.

Ports are used internally only, so this does not change API.

Change-Id: I60a274ddd30bbb1f82d1b12980b6b95a07cb65ce

12 years agoOriginal problem fixed.
Eddy Talvala [Mon, 27 Jun 2011 17:59:50 +0000 (10:59 -0700)]
Original problem fixed.

Revert "Revert "Bugfix for Illegal SurfaceTexture reuse and GLEnvironment exception handling.""

This reverts commit 0a4de9e89040ad82df1e99b8fe2745d34e25826a

12 years agoRevert "Bugfix for Illegal SurfaceTexture reuse and GLEnvironment exception handling."
Jean-Baptiste Queru [Mon, 27 Jun 2011 17:46:25 +0000 (10:46 -0700)]
Revert "Bugfix for Illegal SurfaceTexture reuse and GLEnvironment exception handling."

This reverts commit 06b4f19b51c9e2a1efe10cf2ac37c407cddca907.

12 years agoMerge "Bugfix for Illegal SurfaceTexture reuse and GLEnvironment exception handling."
Marius Renn [Mon, 27 Jun 2011 16:46:35 +0000 (09:46 -0700)]
Merge "Bugfix for Illegal SurfaceTexture reuse and GLEnvironment exception handling."

12 years agoMerge "Fix NPE in audio decoding"
Jean-Michel Trivi [Sat, 25 Jun 2011 00:00:16 +0000 (17:00 -0700)]
Merge "Fix NPE in audio decoding"

12 years agoFix NPE in audio decoding
Jean-Michel Trivi [Fri, 24 Jun 2011 23:02:15 +0000 (16:02 -0700)]
Fix NPE in audio decoding

If the data source wasn't properly initialized, the corresponding
 member field should be accessed.

Change-Id: I811827991078db4b8dc4278014f046361f06e1a2

12 years agoBugfix for Illegal SurfaceTexture reuse and GLEnvironment exception handling.
Marius Renn [Fri, 24 Jun 2011 23:21:02 +0000 (16:21 -0700)]
Bugfix for Illegal SurfaceTexture reuse and GLEnvironment exception handling.

Change-Id: I4bb401766778e392800669f717e1344bc8a9c68d

12 years agoUse runtime detection to filter FilterPort logs.
Mike Dodd [Fri, 24 Jun 2011 22:29:47 +0000 (15:29 -0700)]
Use runtime detection to filter FilterPort logs.

Change-Id: I2ecb848dfe07d1f50b0c663c3dd8a665a7bad275

12 years agoSwitch verbose logging in several places to use runtime detection.
Eino-Ville Talvala [Fri, 24 Jun 2011 21:41:28 +0000 (14:41 -0700)]
Switch verbose logging in several places to use runtime detection.

Change-Id: I4abd4a38ee1dddb1aa6a5cd933a087a30bd5be49

12 years agoBugfix in opening outputs in Filter.
Marius Renn [Fri, 24 Jun 2011 21:21:47 +0000 (14:21 -0700)]
Bugfix in opening outputs in Filter.

Change-Id: If8e6aaba27743970dfe8ace55ac1d5ecb2bf6fea

12 years agoBugfixes.
Marius Renn [Fri, 24 Jun 2011 00:21:22 +0000 (17:21 -0700)]
Bugfixes.

Change-Id: I45a596f7c4fb28d6883f398668a4cebeffaf4417

12 years agoFix resize bug.
Rodrigo Carceroni [Thu, 23 Jun 2011 22:25:46 +0000 (15:25 -0700)]
Fix resize bug.

Change-Id: Ib4c2d1df8b4c94d6d39a3d8b6c7db77c010f5f15

12 years agoMerge "Port + Parameter Unification and Type Check Refactoring."
Marius Renn [Thu, 23 Jun 2011 18:29:34 +0000 (11:29 -0700)]
Merge "Port + Parameter Unification and Type Check Refactoring."

12 years agoPort + Parameter Unification and Type Check Refactoring.
Marius Renn [Thu, 23 Jun 2011 17:56:07 +0000 (10:56 -0700)]
Port + Parameter Unification and Type Check Refactoring.

Change-Id: Ie546431039058eb27f185a023ef8b18b533eaa12

12 years agoMerge "Bug 4606138"
Glenn Kasten [Thu, 23 Jun 2011 16:00:19 +0000 (09:00 -0700)]
Merge "Bug 4606138"

12 years agoMerge "OpenSL ES: additional features when decoding to PCM"
Jean-Michel Trivi [Wed, 22 Jun 2011 21:46:01 +0000 (14:46 -0700)]
Merge "OpenSL ES: additional features when decoding to PCM"

12 years agoOpenSL ES: additional features when decoding to PCM
Jean-Michel Trivi [Thu, 16 Jun 2011 00:08:55 +0000 (17:08 -0700)]
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

12 years agoMerge "Add set method to Point class"
Rodrigo Carceroni [Wed, 22 Jun 2011 20:34:52 +0000 (13:34 -0700)]
Merge "Add set method to Point class"

12 years agoAdd set method to Point class
Rodrigo Carceroni [Wed, 22 Jun 2011 17:46:48 +0000 (10:46 -0700)]
Add set method to Point class

Change-Id: I8ca425963ed1eeed22bf570fabfdc236927abd88

12 years agoMerge "Better defaults and fix warnings"
Glenn Kasten [Mon, 20 Jun 2011 14:47:37 +0000 (07:47 -0700)]
Merge "Better defaults and fix warnings"

12 years agoMerge "Update CameraSource filter parameter handling."
Eino-Ville Talvala [Fri, 17 Jun 2011 23:10:02 +0000 (16:10 -0700)]
Merge "Update CameraSource filter parameter handling."

12 years agoUpdate CameraSource filter parameter handling.
Eino-Ville Talvala [Fri, 17 Jun 2011 21:51:53 +0000 (14:51 -0700)]
Update CameraSource filter parameter handling.

Now allows parameters to be set and read when the filter isn't
actively running.

Change-Id: Id35e0b1b7b89390560a37d89d073693ffdf74c81

12 years agoRemove mRunners in FilterContext.
Wei Hua [Thu, 16 Jun 2011 00:45:23 +0000 (17:45 -0700)]
Remove mRunners in FilterContext.

Added missing @Override

Change-Id: Ief0b20b63195a1283dc93910c19767e87aea0fe4

12 years agoMerge "Revert "voice processing""
Eric Laurent [Thu, 16 Jun 2011 00:24:19 +0000 (17:24 -0700)]
Merge "Revert "voice processing""

12 years agoRevert "voice processing"
Eric Laurent [Thu, 16 Jun 2011 00:22:09 +0000 (17:22 -0700)]
Revert "voice processing"

This reverts commit 7585d227843769079ee2afb385607b3e23ac1e07

12 years agoMerge "voice processing"
Thomas Le Guevel [Thu, 16 Jun 2011 00:18:26 +0000 (17:18 -0700)]
Merge "voice processing"

12 years agoMerge "Added Blending in Shader program."
Wei Hua [Wed, 15 Jun 2011 18:48:12 +0000 (11:48 -0700)]
Merge "Added Blending in Shader program."

12 years agoAdded Blending in Shader program.
Wei Hua [Wed, 15 Jun 2011 18:28:31 +0000 (11:28 -0700)]
Added Blending in Shader program.

SetBlendEnabled
SetBlendFunc

Change-Id: Ic30f118bdb7d9789b656c6f5bc7fa5a5eabe3124

12 years agoBug 4606138
Glenn Kasten [Tue, 14 Jun 2011 00:51:16 +0000 (17:51 -0700)]
Bug 4606138

Change-Id: If4745ee39eeedf11388800cc30c26e4c4f8ddaa0

12 years agoFix MediaSource filter pausing behavior.
Eino-Ville Talvala [Thu, 9 Jun 2011 00:16:04 +0000 (17:16 -0700)]
Fix MediaSource filter pausing behavior.

Now correctly pauses the underlying MediaPlayer.

Change-Id: Iaa57bf34dbc0b001cd303b9494fd7c2786ace3f5

12 years agoBetter defaults and fix warnings
Glenn Kasten [Mon, 13 Jun 2011 18:30:22 +0000 (11:30 -0700)]
Better defaults and fix warnings

Use better defaults for slesTestFeedback rxBufCount and channel count.
Fix build warnings.

Change-Id: Ieef4750cbc454029e61524cc8011a6c774088762

12 years agoMerge "Code clean up."
Marius Renn [Sun, 12 Jun 2011 18:37:20 +0000 (11:37 -0700)]
Merge "Code clean up."

12 years agovoice processing
Eric Laurent [Sun, 12 Jun 2011 01:23:25 +0000 (18:23 -0700)]
voice processing

Change-Id: I0b6129f566349fd333f34773589d5d15c36a7c15

12 years agoCode clean up.
Wei Hua [Sat, 11 Jun 2011 00:37:42 +0000 (17:37 -0700)]
Code clean up.

add @Override
and remove unnecessary imports.

Change-Id: I274bd84c98e1dc657e35787ab0727b8247d70fdf

13 years agoMerge core filter framework libraries into one.
Eino-Ville Talvala [Tue, 7 Jun 2011 23:57:00 +0000 (16:57 -0700)]
Merge core filter framework libraries into one.

Combines JNI and native shared libraries into a single shared library.

Change-Id: If2cdb2b048c9c45275b1eabd06c9846c20434422

13 years agoMerge "Throws JAVA exception when native program process fails."
Wei Hua [Tue, 7 Jun 2011 23:45:26 +0000 (16:45 -0700)]
Merge "Throws JAVA exception when native program process fails."

13 years agoThrows JAVA exception when native program process fails.
Wei Hua [Tue, 7 Jun 2011 17:39:33 +0000 (10:39 -0700)]
Throws JAVA exception when native program process fails.

Change-Id: I2645bed644fd87ba483e6f0288a3255939b4dc4b

13 years agoRefactored KeyValueMap, Parameter Binding
Marius Renn [Tue, 7 Jun 2011 16:49:32 +0000 (09:49 -0700)]
Refactored KeyValueMap, Parameter Binding

Also adds ability to bind directly to program parameters.

Change-Id: Ia5571bcf1f87583eb2ffab0a9b839a510a979e00

13 years agoFixes to SurfaceRenderFilter, SurfaceTextureSource.
Eino-Ville Talvala [Mon, 6 Jun 2011 23:01:08 +0000 (16:01 -0700)]
Fixes to SurfaceRenderFilter, SurfaceTextureSource.

Multiple SurfaceRenderFilters can now share a single destination
FilterSurfaceView, as long as only one of them is running at a time
(ie, they're in different graphs that aren't run simultaneously)

SurfaceTextureSource now creates its SurfaceTexture on open() instead
of prepare(), to make it easier for an app to switch between multiple
processing graphs using the same ultimate source, and to keep down
memory consumption.

Change-Id: I37931b60b3de15ffa484c258e5018c15e9335371

13 years agoAllow CallbackFilter parameter updates
Eino-Ville Talvala [Fri, 3 Jun 2011 23:31:15 +0000 (16:31 -0700)]
Allow CallbackFilter parameter updates

Change-Id: I9c65b09ce059a4dadeb317aae25a0a155644bae9

13 years agoMove runner done callback code to GraphRunner interface.
Eino-Ville Talvala [Fri, 3 Jun 2011 19:55:20 +0000 (12:55 -0700)]
Move runner done callback code to GraphRunner interface.

Instead of just being in AsyncRunner, implement runner done callbacks
in SyncRunner as well.

Change-Id: I9fab177493821b79c080940a69d123f1d6de35fc

13 years agoAdds a SurfaceTextureSource filter.
Eino-Ville Talvala [Thu, 2 Jun 2011 21:10:18 +0000 (14:10 -0700)]
Adds a SurfaceTextureSource filter.

This is a filter intended for applications that want to manage the
data source for the SurfaceTexture themselves, instead of using
existing simple interfaces from CameraSource or MediaSource.

The filter provides a SurfaceTexture object that can be connected up
to any data source to provide frames.

Change-Id: Icb7d48411e95c330d0023aa9e528160b20308c6e

13 years agoStop the OMX codec when destroying the OpenSL ES decoder
Jean-Michel Trivi [Fri, 3 Jun 2011 18:21:23 +0000 (11:21 -0700)]
Stop the OMX codec when destroying the OpenSL ES decoder

The AudioSfDecoder class uses a MediaSource interface from
 an OMXCodec object. In the class destructor, the codec must
 be stopped before the codec is anihilated.

Change-Id: Ibf0d729e055dcd8f4e05f3fb8332d650f9be0d30

13 years agoMerge "Add filter for efficient conversion from color in-GPU to grayscale native"
Rodrigo Carceroni [Fri, 3 Jun 2011 00:28:49 +0000 (17:28 -0700)]
Merge "Add filter for efficient conversion from color in-GPU to grayscale native"

13 years agoMerge "Stress test for OpenSL ES: create and delete many players"
Jean-Michel Trivi [Fri, 3 Jun 2011 00:26:00 +0000 (17:26 -0700)]
Merge "Stress test for OpenSL ES: create and delete many players"

13 years agoStress test for OpenSL ES: create and delete many players
Jean-Michel Trivi [Thu, 2 Jun 2011 16:29:17 +0000 (09:29 -0700)]
Stress test for OpenSL ES: create and delete many players

Implementation of a test to deal with 40 AudioPlayers:
- creation
- realize
- configuration
- prefetching
- playback
- destruction
If a player was created, regardless of whether the other
 operations were successful, it will be destroyed.
The number of players, 40, is chosen specifically because it
 is larger than the number of objects Wilhelm is currently
 capable of supporting, and larger than the number of tracks
 supported by the platform mixer.

Change-Id: I42287039d59b77e59c60d074fbc0177d9726b359

13 years agoAdd filter for efficient conversion from color in-GPU to grayscale native
Rodrigo Carceroni [Thu, 2 Jun 2011 21:58:35 +0000 (14:58 -0700)]
Add filter for efficient conversion from color in-GPU to grayscale native

Change-Id: I369d4d5a96d1958c70584e1a44fc9bffc99fb3ea

13 years agoMerge "Add pause support to MediaSource"
Eino-Ville Talvala [Thu, 2 Jun 2011 19:20:47 +0000 (12:20 -0700)]
Merge "Add pause support to MediaSource"

13 years agoAdd pause support to MediaSource
Eino-Ville Talvala [Thu, 2 Jun 2011 17:36:39 +0000 (10:36 -0700)]
Add pause support to MediaSource

Change-Id: Ic009c3f27a582c4b82aa4a449db409a54536f011

13 years agoRevert "Use AudioTrack::event_type not int in callback"
Glenn Kasten [Wed, 1 Jun 2011 22:20:29 +0000 (15:20 -0700)]
Revert "Use AudioTrack::event_type not int in callback"

This reverts commit 1d7ee1569f98f7f1b629a04bb0895165255c7f7b

13 years agoUse AudioTrack::event_type not int in callback
Glenn Kasten [Wed, 4 May 2011 22:36:52 +0000 (15:36 -0700)]
Use AudioTrack::event_type not int in callback

Change-Id: Icd60d7eff86e3bdf9907c573b6900c8eca96acf1

13 years agoAdd missing makefile to new filterpack.
Eino-Ville Talvala [Wed, 1 Jun 2011 19:05:33 +0000 (12:05 -0700)]
Add missing makefile to new filterpack.

Change-Id: I5a8e9020c2a0073d59ac64a6fc76f695f4fc5ea1

13 years agoMerge "Move Camara- and MediaSource filters to system/media."
Eino-Ville Talvala [Wed, 1 Jun 2011 18:47:32 +0000 (11:47 -0700)]
Merge "Move Camara- and MediaSource filters to system/media."

13 years agoMerge "Created abstract base class for frontend environments."
Marius Renn [Wed, 1 Jun 2011 01:25:31 +0000 (18:25 -0700)]
Merge "Created abstract base class for frontend environments."

13 years agoCreated abstract base class for frontend environments.
Marius Renn [Tue, 31 May 2011 22:58:24 +0000 (15:58 -0700)]
Created abstract base class for frontend environments.

Change-Id: Ib9c9396545e1b30aa621784f651ef6ffc0575adb

13 years agoMove Camara- and MediaSource filters to system/media.
Eino-Ville Talvala [Tue, 31 May 2011 22:01:12 +0000 (15:01 -0700)]
Move Camara- and MediaSource filters to system/media.

Change-Id: Ic7abc3ccc9424d6e563fa0b385b92e7993bbbb58

13 years agoCleanups of mobile filter framework core code.
Eino-Ville Talvala [Tue, 31 May 2011 19:14:42 +0000 (12:14 -0700)]
Cleanups of mobile filter framework core code.

- Eliminate basictypes.h
- Include what you use
- Consistent namespaces/header guards
- Copyright headers

Change-Id: I3658a4ce8268a58644e48544a162a910447123d1

13 years agoMerge "remove unneeded dependency"
Marius Renn [Sat, 28 May 2011 00:10:04 +0000 (17:10 -0700)]
Merge "remove unneeded dependency"

13 years agoremove unneeded dependency
Ruei-sung Lin [Fri, 27 May 2011 23:54:06 +0000 (16:54 -0700)]
remove unneeded dependency

Change-Id: I52f1b4b57e46138fe6eb5de138d7a9acbbe82538

13 years agoMerge "New audio effect API."
Eric Laurent [Fri, 27 May 2011 22:26:41 +0000 (15:26 -0700)]
Merge "New audio effect API."

13 years agoRenamed ObjectFrame to JavaFrame, FilterEnvironment to FilterContext.
Marius Renn [Fri, 27 May 2011 19:24:58 +0000 (12:24 -0700)]
Renamed ObjectFrame to JavaFrame, FilterEnvironment to FilterContext.

Also renamed Filter functions for input/output formatting.

Change-Id: I8303add0084dda718762edb635421dce7ca41313

13 years agoMinor fixes.
Marius Renn [Fri, 27 May 2011 16:54:42 +0000 (09:54 -0700)]
Minor fixes.

- Filter now has a getInputFormat() method.
- Requests for illegal filter ports now throws exceptions.
- More detailed toString() implementations for Frames.

Change-Id: I03e80ae30243256d8dd45665f172a46049aa2245

13 years agoRenamed filterfw2 lib to filterfw.
Marius Renn [Fri, 27 May 2011 00:05:40 +0000 (17:05 -0700)]
Renamed filterfw2 lib to filterfw.

Change-Id: Ib21cd71f1bbe3e7d65e4378fa158cbb4e0302cd6

13 years agoNew audio effect API.
Eric Laurent [Wed, 18 May 2011 02:22:27 +0000 (19:22 -0700)]
New audio effect API.

media/EffectApi.h header file has been moved and renamed to
hardware/audio_effect.h

Change-Id: Ie24295fb16f3925f1cc43577605d371fd9a18528

13 years agoAdd filterpacks' native base library.
Wei Hua [Wed, 25 May 2011 16:39:04 +0000 (09:39 -0700)]
Add filterpacks' native base library.

Change-Id: Ia83f68dee76eb9c5684f760380b48de9e146c3c5

13 years agoInitial public check-in of Mobile Filter Framework
Rodrigo Carceroni [Wed, 25 May 2011 01:17:00 +0000 (18:17 -0700)]
Initial public check-in of Mobile Filter Framework

Change-Id: I952e3b11c1742b861cc31d3f3ecf2713cfa434f8

13 years agoupdate for new audio.h header location
Dima Zavin [Wed, 11 May 2011 21:16:27 +0000 (14:16 -0700)]
update for new audio.h header location

Change-Id: I2140f1def08bedd8b2bd5170c6ac5edccb80035c
Signed-off-by: Dima Zavin <dima@android.com>
13 years agoUpdate automated OpenSL ES test for playback from file path
Jean-Michel Trivi [Wed, 11 May 2011 18:12:13 +0000 (11:12 -0700)]
Update automated OpenSL ES test for playback from file path

Remove test where duration is queried after the player is realized
 but before prefetching has started: invalid test, duration isn't
 known at this time.

Changed wording of error messages to make test failures easier to
 identify

Added test to compare retrieved duration, and expected duration.

Fixed expected file duration: was 75s, should be 71s

Change-Id: I6230c00f0c945c6966e1f08ecfbc67452667cf33

13 years agosystem/media: convert to use new defines from hardware/audio.h
Dima Zavin [Tue, 5 Apr 2011 23:15:40 +0000 (16:15 -0700)]
system/media: convert to use new defines from hardware/audio.h

Change-Id: I8f0f0d26e10dbbb4dfbc3b52f1c02737a375c5e0
Signed-off-by: Dima Zavin <dima@android.com>
13 years ago- Add another parameter in notify() to be able to send timed text sample
Gloria Wang [Wed, 13 Apr 2011 23:02:36 +0000 (16:02 -0700)]
- Add another parameter in notify() to be able to send timed text sample
through listener during video playback.
For feature request 800939.

Change-Id: I14aa18d2f803163a62c05f9e6bd990518c58cd3f

13 years agoMerge "Fix build warnings caused by the 'long' change"
Glenn Kasten [Wed, 13 Apr 2011 21:32:52 +0000 (14:32 -0700)]
Merge "Fix build warnings caused by the 'long' change"

13 years agoFix build warnings caused by the 'long' change
Glenn Kasten [Wed, 13 Apr 2011 18:58:55 +0000 (11:58 -0700)]
Fix build warnings caused by the 'long' change

Change-Id: I34e74d723ae7fd829dd140614928d7880e669f03

13 years agoFix stuttering at beginning of playback
Jean-Michel Trivi [Wed, 13 Apr 2011 17:09:31 +0000 (10:09 -0700)]
Fix stuttering at beginning of playback

When an AudioPlayer is created, its playstate is set to STOPPED
 three times. A stop command is translated into a pause + seek(0).
 When a seek is underway, any new seek command was postponed. So
 when playback would start after a first seek(0), the other seeks
 would be executed, causing the stutterring.
This CL verifies that, when seeking to a certain time, any new
 seek command to the same point in time received while seeking
 is ignored.
It also correct the update of mStateFlags, which should be done
 BEFORE the command is issued to the player, in case the seek
 complete notification happens syncronously with the seek command.

This CL does NOT fix why a newly created player sees its playstate
 updated to STOPPED three times in a test app like slesTest_playUri
 before playback starts.

Change-Id: Ic7627678735f559b911ea3c5a0e1e00d7d7534d2

13 years agoFix various bugs found with unit tests
Glenn Kasten [Tue, 12 Apr 2011 23:55:35 +0000 (16:55 -0700)]
Fix various bugs found with unit tests

ISeek::SetLoop was returning undefined status.
Khronos Bug 7614 - sizeof(long) != 32 bits on x86_64.
Fix bug in IID hashing due to the above.
Fix bug in GenericMediaPlayer::onLoop; was using mPlayer without checking for NULL.
Fix wrong API level in tests/sandbox/object.c.
Decrease log level from I to V in MediaPlayerNotificationClient::notify
    and GenericPlayer::~GenericPlayer.
Fix memory leak in tests/sandbox/engine.c.
Comment out overly verbose log in tests/sandbox/streamSource/slesTestPlayStream.cpp.

Change-Id: I322fa9e19ee95ea1e18870a20f6a3c03b8f21208

13 years agoMerge "Refactor the handling of updates to attributes"
Glenn Kasten [Tue, 12 Apr 2011 17:24:17 +0000 (10:24 -0700)]
Merge "Refactor the handling of updates to attributes"

13 years agoRefactor the handling of updates to attributes
Glenn Kasten [Thu, 7 Apr 2011 19:23:38 +0000 (12:23 -0700)]
Refactor the handling of updates to attributes

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

Change-Id: I3221aeb3d26d2dcc5dc9a3f6d37d088f5ce511a1

13 years agoRemove compilation warnings for SLmillibel level comparisons
Jean-Michel Trivi [Mon, 11 Apr 2011 18:39:05 +0000 (11:39 -0700)]
Remove compilation warnings for SLmillibel level comparisons

In OpenSL ES, the volumes are expressed in millibels, which are
 stored as SLint16.

The mix and max values are defined as:
 define SL_MILLIBEL_MAX  ((SLmillibel) 0x7FFF)
 define SL_MILLIBEL_MIN  ((SLmillibel) (-SL_MILLIBEL_MAX-1))

Therefore the comparison
 (SL_MILLIBEL_MIN <= level)
is always true.

This CL removes those comparisons rather than use the compilation
 flag to suppress the warning (it is a useful warning!).

Change-Id: I5672f257661ac045ba5282ecb0ecd14d985d8102

13 years agoUse reference to sp on GenericPlayer
Jean-Michel Trivi [Mon, 11 Apr 2011 18:01:17 +0000 (11:01 -0700)]
Use reference to sp on GenericPlayer

When an object like GenericPlayer is stored in CAudioPlayer or
 CMediaPlayer by a sp, don't use a pointer to GenericPlayer when
 the object is passed as a function parameter, but rather use
 a reference to the sp that maintains it.

Change-Id: I49ff219618ac4b657deb43cfffb65f0e0dd6d58d

13 years agoRe-generate autogen files
Glenn Kasten [Thu, 7 Apr 2011 18:58:42 +0000 (11:58 -0700)]
Re-generate autogen files

Change-Id: I3ff71790a981ea0f1e604bae344e4a949509405a

13 years agoMerge "OpenMAX AL: support the SeekItf and XA_PLAYEVENT_HEADATEND"
Jean-Michel Trivi [Thu, 7 Apr 2011 17:55:20 +0000 (10:55 -0700)]
Merge "OpenMAX AL: support the SeekItf and XA_PLAYEVENT_HEADATEND"

13 years agoOpenMAX AL: support the SeekItf and XA_PLAYEVENT_HEADATEND
Jean-Michel Trivi [Thu, 7 Apr 2011 16:52:09 +0000 (09:52 -0700)]
OpenMAX AL: support the SeekItf and XA_PLAYEVENT_HEADATEND

Implemented support for:
 - seeking to a position
 - looping (only over full duration is supported, no loop points)
 - notification of end of content reached
This is all for the playback of URIs or FDs.

Change-Id: I015c40e66feb7ac280459895f5f7915ac964df31

13 years agoMerge "Fix build on non-Android platform"
Glenn Kasten [Wed, 6 Apr 2011 22:59:30 +0000 (15:59 -0700)]
Merge "Fix build on non-Android platform"

13 years agoMerge "Line length 100"
Glenn Kasten [Wed, 6 Apr 2011 22:59:17 +0000 (15:59 -0700)]
Merge "Line length 100"

13 years agoLine length 100
Glenn Kasten [Wed, 6 Apr 2011 19:49:05 +0000 (12:49 -0700)]
Line length 100

Change-Id: Ie4459eed7f94870413bc87252910c1189ecf2e06

13 years agoFix build on non-Android platform
Glenn Kasten [Wed, 6 Apr 2011 19:41:52 +0000 (12:41 -0700)]
Fix build on non-Android platform

Change-Id: I85b25467ac5bae45b12ec5b0abfb4696449c2da8

13 years agoOpenSL ES / OpenMAX AL code clean up
Jean-Michel Trivi [Wed, 6 Apr 2011 19:05:56 +0000 (12:05 -0700)]
OpenSL ES / OpenMAX AL code clean up

Do not use cryptic acronyms for Android object type definitions.

Harmonize object state and type naming conventions.

Change-Id: I62bed7aba2e0b9ea0c47264af8e3cf29f74746a8

13 years agoMove support for SL URI and FD playback under GenericPlayer class
Jean-Michel Trivi [Tue, 29 Mar 2011 20:48:32 +0000 (13:48 -0700)]
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

13 years agoFix bug in last commit
Glenn Kasten [Tue, 5 Apr 2011 16:25:16 +0000 (09:25 -0700)]
Fix bug in last commit

Always read the documentation:
 - Add hooks for new OpenMAX AL interfaces
 - Since OpenSL ES engine interface has a deinit hook, add one for OpenMAX AL also

Change-Id: I266bf2112e6f8e525e5b3c06bbb6a68a4764e978

13 years agoMerge "Add basis for future OpenMAX AL 1.0.1 interfaces"
Glenn Kasten [Mon, 4 Apr 2011 18:28:56 +0000 (11:28 -0700)]
Merge "Add basis for future OpenMAX AL 1.0.1 interfaces"

13 years agoAdd basis for future OpenMAX AL 1.0.1 interfaces
Glenn Kasten [Mon, 4 Apr 2011 15:57:22 +0000 (08:57 -0700)]
Add basis for future OpenMAX AL 1.0.1 interfaces

Bug fix:
OpenMAX AL media player was using SL instead of XA symbols for the Object
and DynamicInterfaceManagement interfaces. A Object::GetInterface using
the XA symbols would have failed. Fortunately, these are not used in
typical applications.

Minor cleanup:
 - Add README.txt for mphtogen tool
 - Fix clang warning
 - Update comments
 - Remove spurious commas
 - Fix warning at declaration of SL_IID_array
 - SL_IID_ANDROIDBUFFERQUEUE was added in API level 12, not 10

Change-Id: I75abced5bc3c3fdabe40face25463810de741bf2

13 years agoAdd OpenMAX AL 1.0.1 spec
Glenn Kasten [Mon, 4 Apr 2011 15:54:50 +0000 (08:54 -0700)]
Add OpenMAX AL 1.0.1 spec

Change-Id: Iaeb78d64d01cd776f8a7096371f20ce366a64b79

13 years agoReduce include noise in SL and XA class definitions
Jean-Michel Trivi [Mon, 28 Mar 2011 23:41:17 +0000 (16:41 -0700)]
Reduce include noise in SL and XA class definitions

In classes.h: we should only have to include the headers
 for the objects that are actually stored as member variables of
 the OpenSL ES and OpenMAX AL objects (so here AudioTrackProtector,
 Effect, and GenericPlayer).
In CMediaPlayer.c: remove useless includes and change the video
 surface function prototypes to use const refs to strong pointers
 instead of pointers to access the GenericMediaPlayer objects.

Note that android_SfPlayer.h is still in sles_allinclusive.h because
 it will be dealt with when the SfPlayer functionality is absorbed
 under LocAVPlayer.

Change-Id: Ic2c9459862588399d9545a247cc15341effc0f66

13 years agoClean up main header
Jean-Michel Trivi [Mon, 28 Mar 2011 18:16:16 +0000 (11:16 -0700)]
Clean up main header

There are many includes in sles_allinclusive.h that should be moved
 to the files that rely on those headers. This is a first cleanup
 to move Android audio effect related headers to where they belong.
 + one relocation for a media server related file. More to come
 with AudioPlayer refactoring.

Change-Id: I181dde96db522d9cfb537dffea18ba57f855b99e