OSDN Git Service

android-x86/system-media.git
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

13 years agoam 9e0e6e5c: Fix bug 4109988 fix deadlock on destroy
Jean-Michel Trivi [Wed, 23 Mar 2011 23:58:27 +0000 (16:58 -0700)]
am 9e0e6e5c: Fix bug 4109988 fix deadlock on destroy

* commit '9e0e6e5c60320dac9aa2abbce2f9a843b8fc4449':
  Fix bug 4109988 fix deadlock on destroy

13 years agoInclude strings.h for the strcasecmp prototype.
Carl Shapiro [Tue, 22 Mar 2011 03:35:08 +0000 (20:35 -0700)]
Include strings.h for the strcasecmp prototype.

Change-Id: Ibd1689f36b3d74eb1dc1a506f97ca8d11f2b0730

13 years agoFix bug 4109988 fix deadlock on destroy
Jean-Michel Trivi [Sat, 19 Mar 2011 00:02:17 +0000 (17:02 -0700)]
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

13 years agoresolved conflicts for merge of c5dcfeb2 to master
Jean-Michel Trivi [Thu, 17 Mar 2011 04:11:29 +0000 (21:11 -0700)]
resolved conflicts for merge of c5dcfeb2 to master

Change-Id: Iff3428cd554c5b5940da8a243c661ae70a92af8d

13 years agoam 30ebe675: Bug 3329759 clean logs, PTS should be unsigned
Jean-Michel Trivi [Thu, 17 Mar 2011 03:39:54 +0000 (20:39 -0700)]
am 30ebe675: Bug 3329759 clean logs, PTS should be unsigned

* commit '30ebe675beff91283cc72d4ee5e94e56ab7e107f':
  Bug 3329759 clean logs, PTS should be unsigned

13 years agoMerge "Bug 4106199 Split libOpenSLES.so & libOpenMAXAL.so" into honeycomb-mr1
Jean-Michel Trivi [Thu, 17 Mar 2011 03:34:23 +0000 (20:34 -0700)]
Merge "Bug 4106199 Split libOpenSLES.so & libOpenMAXAL.so" into honeycomb-mr1

13 years agoBug 4106199 Split libOpenSLES.so & libOpenMAXAL.so
Glenn Kasten [Wed, 16 Mar 2011 15:54:50 +0000 (08:54 -0700)]
Bug 4106199 Split libOpenSLES.so & libOpenMAXAL.so

Change-Id: I718cf6bcfff51a6fb153928eb160a36b4ca9fc96

13 years agoBug 3329759 clean logs, PTS should be unsigned
Jean-Michel Trivi [Wed, 16 Mar 2011 19:22:45 +0000 (12:22 -0700)]
Bug 3329759 clean logs, PTS should be unsigned

- Don't pollute logs.
- Save MPEG-2 PTS as an unsigned 64bit value, negative values are
 invalid.

Change-Id: I51d427789dd1e42219a63c68159f2e28628f0448

13 years agoam 7a713baa: Merge "Bug 4099084 native window data locator" into honeycomb-mr1
Glenn Kasten [Wed, 16 Mar 2011 16:32:12 +0000 (09:32 -0700)]
am 7a713baa: Merge "Bug 4099084 native window data locator" into honeycomb-mr1

* commit '7a713baae6cac3740cc27380f1dc8099dd272470':
  Bug 4099084 native window data locator

13 years agoMerge "Bug 4099084 native window data locator" into honeycomb-mr1
Glenn Kasten [Wed, 16 Mar 2011 16:18:48 +0000 (09:18 -0700)]
Merge "Bug 4099084 native window data locator" into honeycomb-mr1

13 years agoam 632d1061: Merge "Bug 3329759 callback mask for TS streaming" into honeycomb-mr1
Jean-Michel Trivi [Wed, 16 Mar 2011 06:50:27 +0000 (23:50 -0700)]
am 632d1061: Merge "Bug 3329759 callback mask for TS streaming" into honeycomb-mr1

* commit '632d10616d5d20296d9ea32d4c94d2fc76926534':
  Bug 3329759 callback mask for TS streaming

13 years agoam 2e28af68: Bug 4099355 workaround gcc x86 problem
Glenn Kasten [Wed, 16 Mar 2011 04:44:12 +0000 (21:44 -0700)]
am 2e28af68: Bug 4099355 workaround gcc x86 problem

* commit '2e28af68bc8807958ba611c082a0a61691e76a2c':
  Bug 4099355 workaround gcc x86 problem

13 years agoMerge "Bug 3329759 callback mask for TS streaming" into honeycomb-mr1
Jean-Michel Trivi [Wed, 16 Mar 2011 02:08:44 +0000 (19:08 -0700)]
Merge "Bug 3329759 callback mask for TS streaming" into honeycomb-mr1

13 years agoBug 4099084 native window data locator
Glenn Kasten [Tue, 15 Mar 2011 23:32:17 +0000 (16:32 -0700)]
Bug 4099084 native window data locator

Change-Id: I03cac7501c3f185a2f95395b140b52b695081c4b

13 years agoBug 3329759 callback mask for TS streaming
Jean-Michel Trivi [Tue, 15 Mar 2011 16:24:30 +0000 (09:24 -0700)]
Bug 3329759 callback mask for TS streaming

- declare a "buffer event" item key and the event mask matching
 the OpenSL ES 1.1 buffer queue event mask
- added a buffer state field in AdvancedBufferHeader to keep
 track of the lifecycle of a buffer in the queue
- in StreamPlayer, store a constant to be sent as the item
 each time a buffer is dequeued because it's been processed
- fix bug in playStream test app where after clearing the
 queue, the data was read to the last dequeued buffer address,
 rather than at the beginning of the cache.

Change-Id: I07141c8a913dfedeb9fde41d80afbce794ab7379

13 years agoBug 4099355 workaround gcc x86 problem
Glenn Kasten [Tue, 15 Mar 2011 17:01:31 +0000 (10:01 -0700)]
Bug 4099355 workaround gcc x86 problem

Change-Id: Ib9e2fc9eb58bef73772d8c617023f689b514e3a1

13 years agoam 2b7f4d9d: Unbreak the x86 build
Jean-Michel Trivi [Tue, 15 Mar 2011 02:59:11 +0000 (19:59 -0700)]
am 2b7f4d9d: Unbreak the x86 build

* commit '2b7f4d9d3e8f67b93b919f27082d1fd73d969c04':
  Unbreak the x86 build

13 years agoUnbreak the x86 build
Jean-Michel Trivi [Tue, 15 Mar 2011 02:46:36 +0000 (19:46 -0700)]
Unbreak the x86 build

Looks like the x86 compiler does't like placement new. Commenting
 out offending line until a proper fix (wrap Vector initialization
 in another object) is implemented.

Change-Id: Id35cf7845e4fcb10536c2055263805dbf3cce65b

13 years agoam fcc99629: Bug 3329759 Implement streamInformation and volume in OpenMAX AL
Jean-Michel Trivi [Tue, 15 Mar 2011 01:21:18 +0000 (18:21 -0700)]
am fcc99629: Bug 3329759 Implement streamInformation and volume in OpenMAX AL

* commit 'fcc996296bdbf6c3949ad4312991fdde4ae2e157':
  Bug 3329759 Implement streamInformation and volume in OpenMAX AL

13 years agoBug 3329759 Implement streamInformation and volume in OpenMAX AL
Jean-Michel Trivi [Wed, 9 Mar 2011 17:33:51 +0000 (09:33 -0800)]
Bug 3329759 Implement streamInformation and volume in OpenMAX AL

- Implement StreamInformation for video size notification.
- Implement the XAVolumeItf for volume control
- Fix bug in GUID -> MPH hash.
- Fixed typo in GenericPlayer::pause() log
- Do not signal a discontinuity automatically when the ABQ is
  cleared because clearing the queue doesn't imply there will
  be a discontinuity in the data (e.g. the same data that was
  cleared could be reenqueued)
- In "native-media" test app: add test code to exercise the
  XAVolumeItf functionality.

Change-Id: I9f69f8cacbdce51b6d96d60141ec1d0f645df991

13 years agosystem/media: remove LOCAL_PRELINK_MODULE
Iliyan Malchev [Mon, 14 Mar 2011 21:02:19 +0000 (14:02 -0700)]
system/media: remove LOCAL_PRELINK_MODULE

Change-Id: I55942287d5789a6297ab16f4049f529cb9f9e56c
Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years agoMerge "Bug 3463332 Unified test/demo of video sink & APIs" into honeycomb-mr1
Glenn Kasten [Fri, 11 Mar 2011 00:52:30 +0000 (16:52 -0800)]
Merge "Bug 3463332 Unified test/demo of video sink & APIs" into honeycomb-mr1

13 years agoBug 3463332 Unified test/demo of video sink & APIs
Glenn Kasten [Wed, 9 Mar 2011 18:16:51 +0000 (10:16 -0800)]
Bug 3463332 Unified test/demo of video sink & APIs

Note: this only affects test code, nothing in the platform.

Can use for testing Java and native APIs
Video sinks is selectable as Surface (SurfaceView) or SurfaceTexture (GLSurfaceView)
Media source is selectable from drop-down list

Change-Id: I45fe16b672e0783ee89e0985b446b8ecc4f452e3

13 years agoBug 3329759 Implement Clear() and GetState() for MPEG-2 TS
Jean-Michel Trivi [Tue, 8 Mar 2011 18:21:29 +0000 (10:21 -0800)]
Bug 3329759 Implement Clear() and GetState() for MPEG-2 TS

- implemented Clear() in AndroidBufferQueue
- declared and implemented GetState() in AndroidBufferQueue
- fixed typo in AudioPlayer_to_android.cpp that cause a "case"
 to be compiled as a label (no unused label warning from
 compiler)
- more test in sandbox/streamSource

Change-Id: If4eede16430cda943224bf950669cc105ac2f894

13 years agoBug 3329759 support commands in SLAndroidBufferQueueItf
Jean-Michel Trivi [Mon, 7 Mar 2011 01:57:40 +0000 (17:57 -0800)]
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

13 years agoBug 3329759 Surface texture as video sink
Glenn Kasten [Sat, 5 Mar 2011 01:48:48 +0000 (17:48 -0800)]
Bug 3329759 Surface texture as video sink

XA_DATALOCATOR_NATIVEDISPLAY now allows either a Surface or SurfaceTexture
together with a JNIEnv *.

Miscellaneous fixes:
 - Clarify test button labels.
 - Line length 100.
 - Fix typos in XA_DATALOCATOR_ANDROIDFD and XA_DATALOCATOR_ANDROIDFD_USE_FILE_SIZE.

Change-Id: I3f3c604dfda3cf66ef7d7adc8689564a83623b2f

13 years agoBug 3329759 TS streaming over SLAndroidBufferQueueItf
Jean-Michel Trivi [Fri, 4 Mar 2011 00:00:58 +0000 (16:00 -0800)]
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

13 years agoMerge "OpenMAX AL: consolidate MediaPlayer implementations under superclass"
Jean-Michel Trivi [Thu, 24 Feb 2011 16:59:55 +0000 (08:59 -0800)]
Merge "OpenMAX AL: consolidate MediaPlayer implementations under superclass"

13 years agoMerge "Bug 3266825 partial fix"
Glenn Kasten [Thu, 24 Feb 2011 16:16:38 +0000 (08:16 -0800)]
Merge "Bug 3266825 partial fix"

13 years agoOpenMAX AL: consolidate MediaPlayer implementations under superclass
Jean-Michel Trivi [Wed, 23 Feb 2011 23:45:43 +0000 (15:45 -0800)]
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

13 years agoFix bug in decode to memory example app
Jean-Michel Trivi [Wed, 23 Feb 2011 17:04:35 +0000 (09:04 -0800)]
Fix bug in decode to memory example app

Bug in detecting write errors: count and size in fwrite were
 swapped, so an error was always reported.

Change-Id: If20276a412d110c2791c50ebc41761d6e1d3386e

13 years agoBug 3266825 partial fix
Glenn Kasten [Wed, 23 Feb 2011 16:41:04 +0000 (08:41 -0800)]
Bug 3266825 partial fix

This was a copy/paste bug that caused AddInterface to corrupt the v-table.

Change-Id: I93cd8d58c2a95d1dd9e9f139bc9f4a73d96351ed

13 years agoReport an error when the data source can't be created.
Jean-Michel Trivi [Mon, 14 Feb 2011 20:40:47 +0000 (12:40 -0800)]
Report an error when the data source can't be created.

Check the value returned by DataSource::CreateFromURI(uri)

Change-Id: Ia94b18b09c68d1e8bf90d2f1a099319d5f5e565e

13 years agoOpenSL ES: add demo app for decode to PCM buffer queue.
Jean-Michel Trivi [Fri, 11 Feb 2011 23:54:42 +0000 (15:54 -0800)]
OpenSL ES: add demo app for decode to PCM buffer queue.

Example for the decoding of a compressed file to PCM, saved in
 a .raw file as the decoded buffers are received through a
 buffer queue.

Change-Id: Ia44078e00569e6aa1f14ab3eaa2b2ebfb07b709d

13 years agoOpenSL ES: support decode to PCM buffer queue
Jean-Michel Trivi [Tue, 1 Feb 2011 02:29:17 +0000 (18:29 -0800)]
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

13 years agoam b372117a: Reconcile gingerbread-plus-aosp and honeycomb
The Android Open Source Project [Sun, 30 Jan 2011 20:55:26 +0000 (12:55 -0800)]
am b372117a: Reconcile gingerbread-plus-aosp and honeycomb

* commit 'b372117a203bb8942e2985d57b3dcec5f0ece745':

13 years agoReconcile gingerbread-plus-aosp and honeycomb
The Android Open Source Project [Sun, 30 Jan 2011 20:43:22 +0000 (12:43 -0800)]
Reconcile gingerbread-plus-aosp and honeycomb

Change-Id: Id6a4042483e3c5d9bdba600ec06f11596212d838

13 years agoMass merge from gingerbread - do not merge
The Android Open Source Project [Sun, 30 Jan 2011 20:43:22 +0000 (12:43 -0800)]
Mass merge from gingerbread - do not merge

Change-Id: Ibdf926e21c60db22344c1dd8d9a6a3ab3fbc4bb9

13 years agoam 4c2bc0fd: Bug 3388299 Fix stack buffer overrun
Glenn Kasten [Sat, 29 Jan 2011 17:55:00 +0000 (09:55 -0800)]
am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun

* commit '4c2bc0fd150b0164f9f387214c29143346a92e14':
  Bug 3388299 Fix stack buffer overrun

13 years agoam 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread
Glenn Kasten [Sat, 29 Jan 2011 15:08:41 +0000 (07:08 -0800)]
am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

* commit '062b7b45b27c6bfffc494af21382d7fa7a8d2d82':
  Bug 3326605: AudioRecorder uses wrong channel mask

13 years agoMerge/ignore 28d27b96 from gingerbread
Jean-Baptiste Queru [Sat, 29 Jan 2011 15:04:01 +0000 (07:04 -0800)]
Merge/ignore 28d27b96 from gingerbread

Change-Id: I25fd80f057b9a5b901f5353c296238a0f1ddf4d8

13 years agoMerge "Add more test cases to reverb test"
Glenn Kasten [Fri, 28 Jan 2011 22:46:52 +0000 (14:46 -0800)]
Merge "Add more test cases to reverb test"

13 years agoAdd more test cases to reverb test
Glenn Kasten [Tue, 25 Jan 2011 19:06:48 +0000 (11:06 -0800)]
Add more test cases to reverb test

Change-Id: Ia0970ebd8e182a45157a6edbef762f2350605a9b

13 years agoam 06344973: am 04f8400d: am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun
Glenn Kasten [Thu, 27 Jan 2011 03:08:30 +0000 (19:08 -0800)]
am 06344973: am 04f8400d: am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun

* commit '06344973a341379cb08d6f49a6cdae1ac5dd110d':
  Bug 3388299 Fix stack buffer overrun

13 years agoam 04f8400d: am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun
Glenn Kasten [Thu, 27 Jan 2011 00:57:42 +0000 (16:57 -0800)]
am 04f8400d: am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun

* commit '04f8400dae4e9c26e8e6bdf707513304cd5bc5df':
  Bug 3388299 Fix stack buffer overrun

13 years agoam 4c2bc0fd: Bug 3388299 Fix stack buffer overrun
Glenn Kasten [Wed, 26 Jan 2011 23:11:43 +0000 (15:11 -0800)]
am 4c2bc0fd: Bug 3388299 Fix stack buffer overrun

* commit '4c2bc0fd150b0164f9f387214c29143346a92e14':
  Bug 3388299 Fix stack buffer overrun

13 years agoam 47f6611b: am e619a697: Bug 3388299 Fix stack buffer overrun
Glenn Kasten [Wed, 26 Jan 2011 22:01:43 +0000 (14:01 -0800)]
am 47f6611b: am e619a697: Bug 3388299 Fix stack buffer overrun

* commit '47f6611b7356f0a70ba73d440991a7c94742d43d':
  Bug 3388299 Fix stack buffer overrun

13 years agoam e619a697: Bug 3388299 Fix stack buffer overrun
Glenn Kasten [Wed, 26 Jan 2011 21:58:47 +0000 (13:58 -0800)]
am e619a697: Bug 3388299 Fix stack buffer overrun

* commit 'e619a697ededd37b3645c3970a4f71af7d663524':
  Bug 3388299 Fix stack buffer overrun

13 years agoBug 3388299 Fix stack buffer overrun
Glenn Kasten [Tue, 25 Jan 2011 17:26:11 +0000 (09:26 -0800)]
Bug 3388299 Fix stack buffer overrun

Change-Id: Ie8c525ddee862b32f2055cb89c10a680f0c14f97

13 years agoBug 3388299 Fix stack buffer overrun
Glenn Kasten [Tue, 25 Jan 2011 17:26:11 +0000 (09:26 -0800)]
Bug 3388299 Fix stack buffer overrun

Change-Id: I715affa4f6599afabc0bc9b56981edce2edcc95b

13 years agoMerge "Bug 3388299 Fix stack buffer overrun"
Glenn Kasten [Tue, 25 Jan 2011 23:03:40 +0000 (15:03 -0800)]
Merge "Bug 3388299 Fix stack buffer overrun"

13 years agoBug 3388299 Fix stack buffer overrun
Glenn Kasten [Tue, 25 Jan 2011 17:26:11 +0000 (09:26 -0800)]
Bug 3388299 Fix stack buffer overrun

Change-Id: I22bf369b42faf04ef5bdc7ca8ebca3d31add2ad6

13 years agoam a5aa1d64: am bfa9fb97: am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong...
Glenn Kasten [Tue, 25 Jan 2011 18:05:42 +0000 (10:05 -0800)]
am a5aa1d64: am bfa9fb97: am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

* commit 'a5aa1d64c7469f22305fc429854a585c3c85d4df':
  Bug 3326605: AudioRecorder uses wrong channel mask

13 years agoam bfa9fb97: am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask...
Glenn Kasten [Tue, 25 Jan 2011 18:02:35 +0000 (10:02 -0800)]
am bfa9fb97: am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

* commit 'bfa9fb977e1e9a89f198571ab84f2fb198f72556':
  Bug 3326605: AudioRecorder uses wrong channel mask

13 years agoam fa2a25a6: resolved conflicts for merge of 4ecd13c7 to honeycomb-plus-aosp
Glenn Kasten [Tue, 25 Jan 2011 18:01:18 +0000 (10:01 -0800)]
am fa2a25a6: resolved conflicts for merge of 4ecd13c7 to honeycomb-plus-aosp

* commit 'fa2a25a630e026796c095bbfbf0ee148a1df91c8':
  Bug 3360707

13 years agoresolved conflicts for merge of 4ecd13c7 to honeycomb-plus-aosp
Glenn Kasten [Tue, 25 Jan 2011 17:57:51 +0000 (09:57 -0800)]
resolved conflicts for merge of 4ecd13c7 to honeycomb-plus-aosp

Change-Id: I536a8136afd7f92606a93b7d423499445eb89ae8

13 years agoam 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread
Glenn Kasten [Sun, 23 Jan 2011 19:39:56 +0000 (11:39 -0800)]
am 062b7b45: Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

* commit '062b7b45b27c6bfffc494af21382d7fa7a8d2d82':
  Bug 3326605: AudioRecorder uses wrong channel mask

13 years agoam 28d27b96: Bug 3360707
Glenn Kasten [Sun, 23 Jan 2011 19:39:53 +0000 (11:39 -0800)]
am 28d27b96: Bug 3360707

* commit '28d27b961d0ee209865046237edc03537d0f25f1':
  Bug 3360707

13 years agoMerge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread
Glenn Kasten [Sun, 23 Jan 2011 19:23:05 +0000 (11:23 -0800)]
Merge "Bug 3326605: AudioRecorder uses wrong channel mask" into gingerbread

13 years agoBug 3326605: AudioRecorder uses wrong channel mask
Glenn Kasten [Thu, 6 Jan 2011 01:16:13 +0000 (17:16 -0800)]
Bug 3326605: AudioRecorder uses wrong channel mask

Change-Id: I2121211b0202bc39100d74232d63be94c7e8a8de

13 years agoBug 3360707
Glenn Kasten [Sun, 16 Jan 2011 18:08:05 +0000 (10:08 -0800)]
Bug 3360707

Change-Id: Ib40d8813ac713d09ed7b298521fada1a35ecb1d4

13 years agoam 50bccde0: Rename class__ to clazz, this to thiz
Glenn Kasten [Wed, 19 Jan 2011 18:46:35 +0000 (10:46 -0800)]
am 50bccde0: Rename class__ to clazz, this to thiz

* commit '50bccde01980ae803b8656e8b08ecacb65540f50':
  Rename class__ to clazz, this to thiz

13 years agoRename class__ to clazz, this to thiz
Glenn Kasten [Tue, 18 Jan 2011 19:44:36 +0000 (11:44 -0800)]
Rename class__ to clazz, this to thiz

The JNI naming conventions avoid conflict with C++ reserved words.

Change-Id: I93ad6920bf78c0a02ac4b2650a29c9e11252f731

13 years agoam 7110872a: Merge "Replace obsolete comment" into honeycomb
Glenn Kasten [Wed, 19 Jan 2011 05:52:57 +0000 (21:52 -0800)]
am 7110872a: Merge "Replace obsolete comment" into honeycomb

* commit '7110872a4d1fa5b7be18b3529523a7fd91f3cc58':
  Replace obsolete comment

13 years agoam ce2466b3: Merge "JNI is obsolete" into honeycomb
Glenn Kasten [Wed, 19 Jan 2011 05:52:51 +0000 (21:52 -0800)]
am ce2466b3: Merge "JNI is obsolete" into honeycomb

* commit 'ce2466b32a38c3a4cd54e5f05b69c650cb719525':
  JNI is obsolete

13 years agoam 7672988d: Minor API change in NuCachedSource2
Bryan Mawhinney [Wed, 19 Jan 2011 04:43:28 +0000 (20:43 -0800)]
am 7672988d: Minor API change in NuCachedSource2

* commit '7672988d52b27a5c6579543efd48a564e0c459d8':
  Minor API change in NuCachedSource2