OSDN Git Service

android-x86/system-media.git
12 years agoReduce log spam from callback protectors
Glenn Kasten [Mon, 3 Oct 2011 23:02:25 +0000 (16:02 -0700)]
Reduce log spam from callback protectors

Change-Id: I83f40370bf86878e6d8dcabfff3847cab2cbbd6c

12 years agoMerge "Bug 5399251 notify on AAC decode prepare success"
Glenn Kasten [Mon, 3 Oct 2011 14:15:08 +0000 (07:15 -0700)]
Merge "Bug 5399251 notify on AAC decode prepare success"

12 years agoMerge "Remove dead code"
Glenn Kasten [Fri, 30 Sep 2011 22:56:10 +0000 (15:56 -0700)]
Merge "Remove dead code"

12 years agoBug 5399251 notify on AAC decode prepare success
Glenn Kasten [Fri, 30 Sep 2011 22:22:52 +0000 (15:22 -0700)]
Bug 5399251 notify on AAC decode prepare success

Change-Id: I35715be7812c6fe671f74afb7a92ebe60b4a6710

12 years agoMerge "Bug 5334969 MediaPlayerNotificationClient safety"
Glenn Kasten [Fri, 30 Sep 2011 15:07:04 +0000 (08:07 -0700)]
Merge "Bug 5334969 MediaPlayerNotificationClient safety"

12 years agoRemove dead code
Glenn Kasten [Wed, 28 Sep 2011 00:02:37 +0000 (17:02 -0700)]
Remove dead code

Change-Id: Ic68d4d7b942ef99120ad30ee3ef7ce48ff1d697a

12 years agoRelax format checking in BackDropperFilter.
Eino-Ville Talvala [Wed, 14 Sep 2011 19:09:38 +0000 (12:09 -0700)]
Relax format checking in BackDropperFilter.

This format check should restrict to GPUs, but to allow source filters with
initially unspecified targets to connect to the filter, relax the check to
be any target.

Bug: 5299669
Change-Id: I1a54be793c68ac81dd36b111daf8d463c7d1e486

12 years agoRemove dead code
Glenn Kasten [Fri, 16 Sep 2011 22:36:21 +0000 (15:36 -0700)]
Remove dead code

AudioPlayback_Parameters fields trackcb and trackcbUser
audioTrack_callBack_uri
android_Player_androidBufferQueue_registerCallback_l
GenericPlayer field mLooperPriority
StreamPlayer::registerQueueCallback
CAudioPlayer::mpLock
AudioSfDecoder::startPrefetch_async
IAndroidBufferQueue does not support AudioRecorder object
android/BufferQueueSource.h #include

Change-Id: I9d7cef243167e10279df452e7c62e66d8f5fe3b6

12 years agoMerge "Use prefetch for error handling in mutesolo test"
Glenn Kasten [Tue, 27 Sep 2011 16:18:39 +0000 (09:18 -0700)]
Merge "Use prefetch for error handling in mutesolo test"

12 years agoMerge "AAC decoder test"
Glenn Kasten [Tue, 27 Sep 2011 16:06:17 +0000 (09:06 -0700)]
Merge "AAC decoder test"

12 years agoUse prefetch for error handling in mutesolo test
Glenn Kasten [Mon, 13 Jun 2011 18:28:45 +0000 (11:28 -0700)]
Use prefetch for error handling in mutesolo test

Change-Id: I526da804bd7f47b124d0aff3a47b1888fde3642f

12 years agoAAC decoder test
Glenn Kasten [Fri, 2 Sep 2011 20:06:57 +0000 (13:06 -0700)]
AAC decoder test

Record and display statistics on AAC frame sizes.
Record and display the number of buffer queue completions.
Make it optional whether to create a .raw file with PCM data.
Enable and display play events: HEADATMARKER and HEADATNEWPOS.
Add option to pause in middle of decoding.

Change-Id: Iaaa37337260cd061a13f942f6b5c07d7611b13a7

12 years agoMerge "Check result of GetFillLevel and GetPrefetchStatus"
Glenn Kasten [Tue, 27 Sep 2011 15:21:01 +0000 (08:21 -0700)]
Merge "Check result of GetFillLevel and GetPrefetchStatus"

12 years agoMerge "Return after prefetch error in get position test"
Glenn Kasten [Tue, 27 Sep 2011 14:59:03 +0000 (07:59 -0700)]
Merge "Return after prefetch error in get position test"

12 years agoMerge "Decode to buffer queue test updates"
Glenn Kasten [Tue, 27 Sep 2011 14:25:26 +0000 (07:25 -0700)]
Merge "Decode to buffer queue test updates"

12 years agoMerge "Bug 5365486 GetVideoDecoderCapabilities"
Glenn Kasten [Mon, 26 Sep 2011 18:25:11 +0000 (11:25 -0700)]
Merge "Bug 5365486 GetVideoDecoderCapabilities"

12 years agoBug 5369977 check required interface compatibility
Glenn Kasten [Wed, 21 Sep 2011 16:03:14 +0000 (09:03 -0700)]
Bug 5369977 check required interface compatibility

Use required not exposed in checkSourceSinkVsInterfacesCompatibility.

Change-Id: Ib71826b989ddef2e87dd60bec0306ca2a4021fe3

12 years agoCheck result of GetFillLevel and GetPrefetchStatus
Glenn Kasten [Mon, 22 Aug 2011 15:23:44 +0000 (08:23 -0700)]
Check result of GetFillLevel and GetPrefetchStatus

Change-Id: I07e962526215cbfe6ecf39bd8d0029e2b345bef3

12 years agoReturn after prefetch error in get position test
Glenn Kasten [Fri, 29 Jul 2011 19:56:08 +0000 (12:56 -0700)]
Return after prefetch error in get position test

Change-Id: I7de1ddd05e4d2115dc54215d62f8af76f6c352ff

12 years agoDecode to buffer queue test updates
Glenn Kasten [Fri, 2 Sep 2011 22:41:23 +0000 (15:41 -0700)]
Decode to buffer queue test updates

Decrease frequency of decoder PCM buffer queue callback;
  only display a line every 1000 PCM buffers.
Check result code returned by GetFillLevel and GetPrefetchStatus.
Share common call to GetPosition in DecProgressCallback for all HEAD* events.
Print error messages to stderr.

Change-Id: I088f7792c80693aa7742bfad36df1fada02fe1a4

12 years agoBug 5365486 GetVideoDecoderCapabilities
Glenn Kasten [Sat, 24 Sep 2011 00:26:19 +0000 (17:26 -0700)]
Bug 5365486 GetVideoDecoderCapabilities

If OMX IL implementation reports a codec with 0 profile/level
combinations, it should not be an error for the application to query
the number of profile/level combinations.

Change-Id: I6838ba1168da70a5c5e7d5a2832ec3ee1ee9aef3

12 years agoMerge "Fix for 5357970: Handle exceptions in AsyncRunner."
Marius Renn [Fri, 23 Sep 2011 20:52:29 +0000 (13:52 -0700)]
Merge "Fix for 5357970: Handle exceptions in AsyncRunner."

12 years agoBug 5267593 Workaround for crash at Destroy
Glenn Kasten [Thu, 22 Sep 2011 20:46:23 +0000 (13:46 -0700)]
Bug 5267593 Workaround for crash at Destroy

Call IMediaPlayer->stop() from ALooper thread for now, as NuPlayerDriver
does not currently support multi-threaded clients.  This fix should be
reverted after NuPlayerDriver is multi-thread safe.

Change-Id: I94dc91bdcc9f840f50c3ed831aa6e15e09a0f96e

12 years agoMerge "parameter change according to api"
Ruei-sung Lin [Thu, 22 Sep 2011 23:56:08 +0000 (16:56 -0700)]
Merge "parameter change according to api"

12 years agoFix for 5357970: Handle exceptions in AsyncRunner.
Marius Renn [Thu, 22 Sep 2011 19:28:47 +0000 (12:28 -0700)]
Fix for 5357970: Handle exceptions in AsyncRunner.

The AsyncRunner now stores exceptions that occurred during runtime, and
passes them back as part of the result. Applications can choose to throw
this exception or deal otherwise.

This affects all applications using AsyncRunners.

Change-Id: I2685e4cfc56d7984425a3c3a8a3ac8cfe83bc8d2

12 years agoMerge "Use async notify everywhere"
Glenn Kasten [Thu, 22 Sep 2011 18:44:30 +0000 (11:44 -0700)]
Merge "Use async notify everywhere"

12 years agoparameter change according to api
Ruei-sung Lin [Thu, 15 Sep 2011 09:26:58 +0000 (17:26 +0800)]
parameter change according to api

Change-Id: I189cca762b80ba45b5322121b57e8c13b82a4811

12 years agoBug 5090073 Callback protectors
Glenn Kasten [Mon, 12 Sep 2011 17:23:54 +0000 (10:23 -0700)]
Bug 5090073 Callback protectors

Add callback protector for decode to PCM usage cases.
Move callback protection up earlier for URI decode use case only.

Other:
Remove redundant mCallbackProtector field.
Optimization: on exit from callback protector, only broadcast if !mSafeToEnterCb,
    that is if destroy has requested callback protectors to finish up.
More callback protector logging.
Add callback protector requestCbExit() [no wait], not yet used.

Unrelated:
3rd parameter of adecoder_writeToBufferQueue is always CAudioPlayer * instead of void *.

Change-Id: I57a46acf0e5ecb213540b13ca08098177ad7ad6e

12 years agoMerge "Set mAndroidObjState to ANDROID_READY once"
Glenn Kasten [Wed, 21 Sep 2011 14:14:43 +0000 (07:14 -0700)]
Merge "Set mAndroidObjState to ANDROID_READY once"

12 years agoMerge "Fix typo"
Glenn Kasten [Sun, 18 Sep 2011 14:56:50 +0000 (07:56 -0700)]
Merge "Fix typo"

12 years agoMerge "Move macro definition to more appropriate place"
Glenn Kasten [Sun, 18 Sep 2011 14:56:37 +0000 (07:56 -0700)]
Merge "Move macro definition to more appropriate place"

12 years agoBug 5334969 MediaPlayerNotificationClient safety
Glenn Kasten [Fri, 16 Sep 2011 17:05:48 +0000 (10:05 -0700)]
Bug 5334969 MediaPlayerNotificationClient safety

Fixed race due to missing mutex around 2 updates to mPlayerPrepared.

MediaPlayerNotificationClient had a raw reference to GenericMediaPlayer;
if for some reason the binder thread out-lived the GenericMediaPlayer,
then it might reference a destroyed object.  Made it a weak reference,
and issue warning if the GenericMediaPlayer has been destroyed.
This has similar effect as a callback protector.

Minor related:
 - mHasVideo is read without mutex, safe since never changed but make it const
 - GenericMediaPlayer's reference to MediaPlayerNotificationClient is now const also

Change-Id: I67b50e861a055c73fd490fb537a3d6d23d25c3d2

12 years agoUse async notify everywhere
Glenn Kasten [Fri, 16 Sep 2011 23:24:16 +0000 (16:24 -0700)]
Use async notify everywhere

We use asynchronous notify in all places except PLAYEREVENT_PREPARED.
Since there doesn't seem to be a clear reason why this should be
different, make it be the same.

Change-Id: I0a83d4ac7a7e8e16e3404a25f081176701de01ae

12 years agoSet mAndroidObjState to ANDROID_READY once
Glenn Kasten [Fri, 16 Sep 2011 23:21:11 +0000 (16:21 -0700)]
Set mAndroidObjState to ANDROID_READY once

The mAndroidObjState field should only be set to ANDROID_READY once,
after prepare completes either successfully or unsuccessfully.
Remove a couple of redundant assignments.

Change-Id: I4b73bc94aea4f8d4afc1111d7fcdccce4bf8a92d

12 years agoMerge "Bug 5263052 play events for decoder use case"
Glenn Kasten [Fri, 16 Sep 2011 21:09:54 +0000 (14:09 -0700)]
Merge "Bug 5263052 play events for decoder use case"

12 years agoBug 5263052 play events for decoder use case
Glenn Kasten [Thu, 15 Sep 2011 17:54:36 +0000 (10:54 -0700)]
Bug 5263052 play events for decoder use case

This version should be more resilient to decode time vs. real time.

Miscellaneous:
 - comment about GetPosition accuracy
 - remove unused AudioSfDecoder::onRender implementation

Change-Id: I16a7726e0b1459ed1421fe50cb4d683d5c3bdd6b

12 years agoFix typo
Glenn Kasten [Mon, 12 Sep 2011 17:19:40 +0000 (10:19 -0700)]
Fix typo

Change-Id: I673830007c2533110006e88b2c344bca3adaf448

12 years agoMove macro definition to more appropriate place
Glenn Kasten [Fri, 26 Aug 2011 16:41:05 +0000 (09:41 -0700)]
Move macro definition to more appropriate place

When sles_allinclusive.h was split up into separate files, this hunk
ended up in the wrong file.  sles_allinclusive.h still needs some more
re-factoring, but that's a separate issue.

Change-Id: Iafa92c6b4d22f79b080db6ddf9078acc4296dd7b

12 years agoFix in MFF performance measurement
Pannag Sanketi [Thu, 15 Sep 2011 04:23:26 +0000 (21:23 -0700)]
Fix in MFF performance measurement

Change-Id: I7d2949132f8103ffef514e1510d113b56919cbf3

12 years agoClean-up and documentation of Photo Editor filters (bug 5287103).
Marius Renn [Thu, 15 Sep 2011 00:33:11 +0000 (17:33 -0700)]
Clean-up and documentation of Photo Editor filters (bug 5287103).

- Documentation for Photo Editor effects added.
- Default parameter values added to underlying filters.
- Minor clean-up of Photo Editor filter code.

Change-Id: Ibaa3a106155bf52a1848b62f067f94731cdc6d86

12 years agoMerge "Rename of DoodleEffect as part of cleanup (Bug 5287103)."
Marius Renn [Thu, 15 Sep 2011 00:13:29 +0000 (17:13 -0700)]
Merge "Rename of DoodleEffect as part of cleanup (Bug 5287103)."

12 years agoRename of DoodleEffect as part of cleanup (Bug 5287103).
Marius Renn [Wed, 14 Sep 2011 01:23:21 +0000 (18:23 -0700)]
Rename of DoodleEffect as part of cleanup (Bug 5287103).

The DoodleEffect semantics have been considerably simplified so that the
name no longer fits the effect outcome. Renamed to BitmapOverlayEffect
(EFFECT_BITMAPOVERLAY).

This is the necessary change to the constant in the EffectFactory.

Change-Id: I071a77b0cb2a2f3de549c2bd1bff40c5f29a4848

12 years agoBug 5287555 create StreamSourceAppProxy once
Glenn Kasten [Fri, 9 Sep 2011 14:41:45 +0000 (07:41 -0700)]
Bug 5287555 create StreamSourceAppProxy once

Create StreamSourceAppProxy once in the StreamPlayer constructor,
rather than dynamically in StreamPlayer::registerQueueCallback.
As StreamPlayer::registerQueueCallback can be called multiple times
(or even not at all), this guarantees we always have only one
StreamSourceAppProxy that never changes.

Also fix bug where we weren't using a stream protector for AudioPlayer
with MPEG-2 TS AndroidBufferQueue data source (we weren't calling
setCallbackProtector on it).

This has some unexpected side benefits of simplifying the code:
 - remove unused parameters and member variables
 - mAppProxyLock not needed since the callback protector is created early
 - remove GenericPlayer::setCallbackProtector
 - inline android_StreamPlayer_realize_l for the use case
   AUDIOPLAYER_FROM_TS_ANDROIDBUFFERQUEUE to be like MediaPlayer

Change-Id: I090c11cde9474285185481192dba2b5c01338a50

12 years agoMerge "Bug 5287473 realize locks"
Glenn Kasten [Mon, 12 Sep 2011 17:02:01 +0000 (10:02 -0700)]
Merge "Bug 5287473 realize locks"

12 years agoBug 5287473 realize locks
Glenn Kasten [Fri, 9 Sep 2011 23:22:30 +0000 (16:22 -0700)]
Bug 5287473 realize locks

Realize had inconsistent and partial locking.
Now realize runs completely locked by default.

Change-Id: If453cfc0ac874f32cf5a1fcfe7795d24bd2a48d4

12 years agoBug 5236913 Update sample app for PLAYEVENT_HEADATEND with MP2TS
Jean-Michel Trivi [Fri, 9 Sep 2011 22:17:01 +0000 (15:17 -0700)]
Bug 5236913 Update sample app for PLAYEVENT_HEADATEND with MP2TS

Update the sample application to receive the PLAYEVENT_HEADATEND
 event after EOS has been processed.
Remove dead code in the corresponding implementation (in class
 StreamPlayer).

Change-Id: Ibe484a8c0e9605c05cd47b154d6c0aff1e70d49e

12 years agoBug 5236913 Callback for MP2TS when EOS was processed
Jean-Michel Trivi [Fri, 9 Sep 2011 18:32:12 +0000 (11:32 -0700)]
Bug 5236913 Callback for MP2TS when EOS was processed

When the buffer containing the EOS item in the Android Buffer Queue
 gets processed, make sure the application callback gets called.

Change-Id: I7476a908419ec99c52c3d3f3938de3f86ab926c6

12 years agoMerge "Fix bug 5236913 EOS causes HEADATEND event in play callback"
Jean-Michel Trivi [Fri, 9 Sep 2011 02:33:46 +0000 (19:33 -0700)]
Merge "Fix bug 5236913 EOS causes HEADATEND event in play callback"

12 years agoMerge "Bug 5236913 Callback for AAC decode when EOS was processed"
Jean-Michel Trivi [Fri, 9 Sep 2011 02:33:18 +0000 (19:33 -0700)]
Merge "Bug 5236913 Callback for AAC decode when EOS was processed"

12 years agoFix bug 5236913 EOS causes HEADATEND event in play callback
Jean-Michel Trivi [Fri, 9 Sep 2011 01:19:41 +0000 (18:19 -0700)]
Fix bug 5236913 EOS causes HEADATEND event in play callback

In AAC decode through an Android Buffer Queue, after receiving
 an EOS command, prevent reading from the queue by returning
 a size of 0, which causes the decoder to signal an end of
 stream. This will cause the SL_PLAYEVENT_HEADATEND to be
 fired (from the same thread that sends the decoded data)
 if the event was part of the play event mask, and a callback
 had been registered.

Change-Id: I435e8a66dbe9bc37f24c9e1f1c13f0dbd670b395

12 years agoMerge "Optimize Backdropper mask generation"
Rodrigo Carceroni [Fri, 9 Sep 2011 01:53:10 +0000 (18:53 -0700)]
Merge "Optimize Backdropper mask generation"

12 years agoOptimize Backdropper mask generation
Rodrigo Carceroni [Fri, 9 Sep 2011 01:27:38 +0000 (18:27 -0700)]
Optimize Backdropper mask generation

Change-Id: I701e27928b9c729aeaee7eb83b0b6d99773f7acf

12 years agoMerge "Bug 5280072 decode AAC ADTS fails for CRC content"
Jean-Michel Trivi [Fri, 9 Sep 2011 00:18:54 +0000 (17:18 -0700)]
Merge "Bug 5280072 decode AAC ADTS fails for CRC content"

12 years agoBug 5280072 decode AAC ADTS fails for CRC content
Glenn Kasten [Thu, 8 Sep 2011 22:37:48 +0000 (15:37 -0700)]
Bug 5280072 decode AAC ADTS fails for CRC content

Also copy in the length check from Stagefright.

Change-Id: I6758dbe370dd3a7178061183bbb83d289e5c00c5

12 years agoMerge "Fixing disconnect issue within MFF encoding"
Pannag Sanketi [Thu, 8 Sep 2011 23:30:09 +0000 (16:30 -0700)]
Merge "Fixing disconnect issue within MFF encoding"

12 years agoBug 5236913 Callback for AAC decode when EOS was processed
Jean-Michel Trivi [Thu, 8 Sep 2011 22:30:04 +0000 (15:30 -0700)]
Bug 5236913 Callback for AAC decode when EOS was processed

When the buffer containing the EOS item in the Android Buffer Queue
 gets processed, make sure the application callback gets called.

Change-Id: I0c8dfb61404ea33322a5755afa7c44213e53ce02

12 years agoFixing disconnect issue within MFF encoding
Pannag Sanketi [Thu, 8 Sep 2011 21:27:08 +0000 (14:27 -0700)]
Fixing disconnect issue within MFF encoding

1. No explicit calling of "disconnect" on the native window corresponding
to the SurfaceMediaSource. It is not done through the GL Calls. Thus,
removed the disconnect function altogether.

2. The activateSurfaceId(int) call from the Java layer now calls activate()
    explicitly in the jni along side swithToSurfaceId(int) and does not
    depend on the context to be current.

3. unregistering the surface correspoding to the SurfaceMediaSource
from the Java layer is enough to call disconnect.

Change-Id: Ibdd268b559a69b4de7620474017114ff6e74f237

12 years agoMerge "Adjust backdropper acceptance thresholds to make foreground borders tighter."
Rodrigo Carceroni [Wed, 7 Sep 2011 16:56:39 +0000 (09:56 -0700)]
Merge "Adjust backdropper acceptance thresholds to make foreground borders tighter."

12 years agoAdjust backdropper acceptance thresholds to make foreground borders tighter.
Rodrigo Carceroni [Wed, 7 Sep 2011 02:11:58 +0000 (19:11 -0700)]
Adjust backdropper acceptance thresholds to make foreground borders tighter.

Change-Id: Ie47cc87a0682e78e48412d3b97cb2c20bd28e6a9

12 years agoBugfixes in MediaSource SurfaceTexture management.
Eino-Ville Talvala [Tue, 6 Sep 2011 23:59:58 +0000 (16:59 -0700)]
Bugfixes in MediaSource SurfaceTexture management.

Regressions from fix to Bug: 5117570

Change-Id: Ic21dc37d2f99e167fad613ae7565d7b7aeba07e1

12 years agoMerge "Fix bug 5150875: Remove handling of possibly leaking frames."
Marius Renn [Tue, 6 Sep 2011 23:31:11 +0000 (16:31 -0700)]
Merge "Fix bug 5150875: Remove handling of possibly leaking frames."

12 years agoMerge "Fix 5249076 Don't let the shared memory buffer drain"
Jean-Michel Trivi [Tue, 6 Sep 2011 23:23:09 +0000 (16:23 -0700)]
Merge "Fix 5249076 Don't let the shared memory buffer drain"

12 years agoMerge "Bug 5262776 reliability of play event callbacks"
Glenn Kasten [Tue, 6 Sep 2011 23:08:08 +0000 (16:08 -0700)]
Merge "Bug 5262776 reliability of play event callbacks"

12 years agoFix bug 5150875: Remove handling of possibly leaking frames.
Marius Renn [Tue, 6 Sep 2011 23:01:25 +0000 (16:01 -0700)]
Fix bug 5150875: Remove handling of possibly leaking frames.

This removes the logging and releasing of possibly leaking frames. As
this may be triggered by false positives, this code should be removed.

Change-Id: I33084662f64b4a7f6173324f59caab4f0fb75388

12 years agoFix 5249076 Don't let the shared memory buffer drain
Jean-Michel Trivi [Fri, 2 Sep 2011 02:21:23 +0000 (19:21 -0700)]
Fix 5249076 Don't let the shared memory buffer drain

Whenever pushing data to the shared memory from the
 AndroidBufferQueue, post a message to do the same operation
 again if there is still room in the shared memory. This
 ensures the consumption of data will keep the
 shared memory buffer full, not the notification of space
 available in shared memory, which may happen while the
 Android Buffer Queue is empty (after a clear() for
 instance).

Change-Id: I397d70ebb927fa6a1d0fb97321a70db0440b96fe

12 years agoBug 5262776 reliability of play event callbacks
Glenn Kasten [Fri, 2 Sep 2011 22:45:38 +0000 (15:45 -0700)]
Bug 5262776 reliability of play event callbacks

This makes HEADMOVING and HEADATMARKER work more reliably, especially
at the beginning of track and under heavy load.  Previously if an event
update was missed because update period is too small or mediaserver/client
is too busy to keep up with notifications, then subsequent events
were lost.  This happened more than you might expect; the first event
was often lost and things just got worse from there.

Cleanup in AudioSfDecoder:
 - Call up to superclass (GenericPlayer) onSeek and onLoop
   to make future maintenance easier.
 - Delete dead code in onMessageReceived.
 - Logic depends on mLastDecodedPositionUs not being ANDROID_UNKNOWN_TIME
 - Simplify getPositionUsec

Add more logging in GenericPlayer::updateOneShot.

Change-Id: Iacddafeb3a20b25bee6da602f6a783201d80be10

12 years agoBug 5244675 PCM sample rate metadata units
Glenn Kasten [Wed, 31 Aug 2011 23:32:33 +0000 (16:32 -0700)]
Bug 5244675 PCM sample rate metadata units

The current metadata key macro name ANDROID_KEY_INDEX_PCMFORMAT_SAMPLESPERSEC
is confusing.  This change renames it to ANDROID_KEY_INDEX_PCMFORMAT_SAMPLERATE,
and documents that it is in Hz rather than milliHz.  The key string is
renamed from AndroidPcmFormatSamplesPerSec to AndroidPcmFormatSampleRate.

Details:

OpenSL ES 1.0.1 PCM struct SLDataFormat_PCM field samplesPerSec
[sic] is in milliHz.  OpenSL ES 1.1 preserves that struct, but adds
struct SLDataFormat_PCM with field sampleRate also in milliHz.  If the
ANDROID_KEY_INDEX_PCMFORMAT_* metadata keys were intended to exactly
model the OpenSL ES PCM data format struct, the metadata sample rate
would also be in milliHz units.  However, the rest of Android operates
in Hz so we use Hz here also.

Backwards compatibility for the name should not be an issue,
as the initial beta developer has not yet started using this metadata.

Related change: delete a duplicate header file.

Change-Id: Ib8f620dfe7a328f621ddbb19f55e5691eb22d7b5

12 years agoMerge "Replace pBuffer with a SurfaceTexture as default dummy surface."
Eino-Ville Talvala [Tue, 6 Sep 2011 21:14:21 +0000 (14:14 -0700)]
Merge "Replace pBuffer with a SurfaceTexture as default dummy surface."

12 years agoSeveral SurfaceTexture usage fixes.
Eino-Ville Talvala [Tue, 6 Sep 2011 16:59:09 +0000 (09:59 -0700)]
Several SurfaceTexture usage fixes.

- Let SurfaceTextureSource timeouts result in filter closure, not abort.
  This simplifies shutting down a filter graph in a multithreaded
  scenario considerably.
- Add release() calls to SurfaceTextures when used in the client sense.

Bug: 5117570
Bug: 4510826

Change-Id: I2640a4cc93acce778c34a1101e132e139995c798

12 years agoMerge "Backdropper: no-brainer optimizations"
Rodrigo Carceroni [Tue, 6 Sep 2011 16:45:44 +0000 (09:45 -0700)]
Merge "Backdropper: no-brainer optimizations"

12 years agoMerge "Allocate correct frame sizes within back dropper."
Rodrigo Carceroni [Tue, 6 Sep 2011 16:45:27 +0000 (09:45 -0700)]
Merge "Allocate correct frame sizes within back dropper."

12 years agoBackdropper: no-brainer optimizations
Rodrigo Carceroni [Mon, 5 Sep 2011 02:48:18 +0000 (19:48 -0700)]
Backdropper: no-brainer optimizations

Change-Id: Ib874e1c7e4bbbfa38367e2513008d880e0ad4dbd

12 years agoAllocate correct frame sizes within back dropper.
Rodrigo Carceroni [Fri, 2 Sep 2011 22:21:11 +0000 (15:21 -0700)]
Allocate correct frame sizes within back dropper.

Change-Id: I9e32edc4f7a1c138cf2c86e6f1dbfb8de78630b8

12 years agoMerge "Bug 5244675 default channel mask based on count"
Glenn Kasten [Fri, 2 Sep 2011 20:57:01 +0000 (13:57 -0700)]
Merge "Bug 5244675 default channel mask based on count"

12 years agoMerge "MediaPlayer GetPosition returns 0 before prefetch"
Glenn Kasten [Fri, 2 Sep 2011 15:34:45 +0000 (08:34 -0700)]
Merge "MediaPlayer GetPosition returns 0 before prefetch"

12 years agoRequire INTERNET permission for network-based content.
Dave Burke [Thu, 1 Sep 2011 21:15:33 +0000 (22:15 +0100)]
Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia7b9b75feb5b43fe9358bbbca6b619112984246c

12 years agoReplace pBuffer with a SurfaceTexture as default dummy surface.
Eino-Ville Talvala [Fri, 2 Sep 2011 01:17:33 +0000 (18:17 -0700)]
Replace pBuffer with a SurfaceTexture as default dummy surface.

PBuffers may not support needed recording extensions, so the
dummy used to create a GL context needs to be replaced.

Bug: 4510826

Change-Id: I25f7ec8a8e24ff9feb3d6f5a5a998c6a56018a98

12 years agoBug 5244675 default channel mask based on count
Glenn Kasten [Wed, 31 Aug 2011 21:36:42 +0000 (14:36 -0700)]
Bug 5244675 default channel mask based on count

Change-Id: Ica0b1bd5a23d9bbc318003509e2463a588d9bd39

12 years agoMediaPlayer GetPosition returns 0 before prefetch
Glenn Kasten [Thu, 1 Sep 2011 23:59:08 +0000 (16:59 -0700)]
MediaPlayer GetPosition returns 0 before prefetch

This makes MediaPlayer work the same way as AudioPlayer,
to return current position as zero before prefetch started.

Change-Id: I538919d05074002d46c3dc1632caa4d5a85e8fad

12 years agoMerge "Bug 5249076 When starting to stream, have at least one buffer in shared mem"
Jean-Michel Trivi [Fri, 2 Sep 2011 00:33:04 +0000 (17:33 -0700)]
Merge "Bug 5249076 When starting to stream, have at least one buffer in shared mem"

12 years agoMerge "Rename Android buffer queue GUID for future sink"
Glenn Kasten [Fri, 2 Sep 2011 00:31:31 +0000 (17:31 -0700)]
Merge "Rename Android buffer queue GUID for future sink"

12 years agoMerge "Bug 5244675 handle the switch cases of AAC decode"
Glenn Kasten [Fri, 2 Sep 2011 00:30:22 +0000 (17:30 -0700)]
Merge "Bug 5244675 handle the switch cases of AAC decode"

12 years agoMerge "Bug 5244675 miscellaenous AAC decode test"
Glenn Kasten [Fri, 2 Sep 2011 00:24:55 +0000 (17:24 -0700)]
Merge "Bug 5244675 miscellaenous AAC decode test"

12 years agoBug 5249076 When starting to stream, have at least one buffer in shared mem
Jean-Michel Trivi [Thu, 1 Sep 2011 23:32:42 +0000 (16:32 -0700)]
Bug 5249076 When starting to stream, have at least one buffer in shared mem

StreamPlayer is receiving notifications from the MediaPlayer that
 a buffer in shared memory is available during playback, which
 causes StreamPlayer to consume data from the AndroidBufferQueue.
 If the shared memory is drained while the player is paused, there
 will be no new notification of a buffer in shared memory being
 available to start the cycle of consumption from the Android
 buffer queue.
This change causes StreamPlayer to consume from the buffer queue
 to fill one buffer in shared memory.
A subsequent change will change the logic to make sure the
 consumption from the buffer queue fills as much of the shared
 memory as possible.

Change-Id: I886832629dd5ef449719b77899ebdcc7ffc64330

12 years agoCheck callback result code and warn if non-success
Glenn Kasten [Mon, 29 Aug 2011 21:49:48 +0000 (14:49 -0700)]
Check callback result code and warn if non-success

The result code is currently unused, but reserved for future use.
This change will help make sure that developers do the right thing now,
so that they will not be impacted when we begin to act on the result.

Change-Id: I8c712882d41d09506defa77340676079bb34de6c

12 years agoRename Android buffer queue GUID for future sink
Glenn Kasten [Mon, 29 Aug 2011 21:32:10 +0000 (14:32 -0700)]
Rename Android buffer queue GUID for future sink

This change will make it easier to have Android buffer queue as a sink in
the future.  For backwards source code compatibility with beta developers,
retain the old name temporarily.  As soon as they have switched to the
new name, we will remove the old name.

Details:
 - rename XA_IID_ANDROIDBUFFERQUEUE to XA_IID_ANDROIDBUFFERQUEUESOURCE
 - rename SL_IID_ANDROIDBUFFERQUEUE to SL_IID_ANDROIDBUFFERQUEUESOURCE
 - rename MPH_ANDROIDBUFFERQUEUE to MPH_ANDROIDBUFFERQUEUESOURCE
 - did not rename the data locators and interface struct,
   as they can be shared across both source and sink
 - did not rename the member field mAndroidBufferQueue in
   CAudioPlayer / CMediaPlayer as that would be a huge change;
   can do that later if necessary
 - the SINK definition will be added later when needed

Change-Id: I36dc01050efb99d4d7802b2ca2b870f4d978ee21

12 years agoMerge "Class name cleanup. (1/3)"
Marius Renn [Thu, 1 Sep 2011 21:39:59 +0000 (14:39 -0700)]
Merge "Class name cleanup. (1/3)"

12 years agoAdd rewind (discontinuity) to native-media test
Glenn Kasten [Fri, 19 Aug 2011 18:51:21 +0000 (11:51 -0700)]
Add rewind (discontinuity) to native-media test

Change-Id: I0f32564d2a2937092436dd48fef877ed55b2d4f3

12 years agoBug 5244675 miscellaenous AAC decode test
Glenn Kasten [Wed, 31 Aug 2011 17:51:14 +0000 (10:51 -0700)]
Bug 5244675 miscellaenous AAC decode test

Fix bug in counting encoded frames.
Test get play position and duration at various points.
Display all PCM metadata (in particular the channel mask).
Add example of expected output.

Change-Id: I0d0a629755a37b71a1540e79ae7a6f1ed7095a24

12 years agoMerge "clean up in echo reference code"
Eric Laurent [Thu, 1 Sep 2011 15:22:47 +0000 (08:22 -0700)]
Merge "clean up in echo reference code"

12 years agoclean up in echo reference code
Eric Laurent [Thu, 1 Sep 2011 02:18:26 +0000 (19:18 -0700)]
clean up in echo reference code

Change-Id: Ie06ed382eee2f1d4d1289d9a49d8a93dcf103e4e

12 years agoMerge "Added a FixedRotationFilter."
Wei Hua [Thu, 1 Sep 2011 00:38:41 +0000 (17:38 -0700)]
Merge "Added a FixedRotationFilter."

12 years agoMerge "Make background replacement roughly independent of input size."
Rodrigo Carceroni [Thu, 1 Sep 2011 00:35:34 +0000 (17:35 -0700)]
Merge "Make background replacement roughly independent of input size."

12 years agoAdded a FixedRotationFilter.
Wei Hua [Thu, 1 Sep 2011 00:07:53 +0000 (17:07 -0700)]
Added a FixedRotationFilter.

bug: 5221073
RotationFilter is used for dealing the 4 orientations of the device.
Fixed ToPackedGrayFilter to correctly resize the image
if aspect ratio needs to be kept.

Change-Id: Idd3c26ae2ec12b64f7d040a301a87c619fe146e3

12 years agoMerge "rewrite lomo and documentary filters"
Ruei-sung Lin [Thu, 1 Sep 2011 00:04:57 +0000 (17:04 -0700)]
Merge "rewrite lomo and documentary filters"

12 years agoClass name cleanup. (1/3)
Marius Renn [Wed, 31 Aug 2011 23:49:47 +0000 (16:49 -0700)]
Class name cleanup. (1/3)

Addresses bug 5214502.

Change-Id: I82321ad516b93e98047fce361a97da020b7ac09e

12 years agoBug 5244675 handle the switch cases of AAC decode
Glenn Kasten [Mon, 29 Aug 2011 23:37:24 +0000 (16:37 -0700)]
Bug 5244675 handle the switch cases of AAC decode

Fix handling of AUDIOPLAYER_FROM_ADTS_ABQ_TO_PCM_BUFFERQUEUE decode use case:
  - Play::GetPosition: explicitly list decode case and return media
    player time; previously returned zero.
  - Seek::SetLoop for AudioPlayer or MediaPlayer: return
    SL_RESULT_FEATURE_UNSUPPORTED on non-URI data source.  This is
    correctly passed up to app.

The remaining have no immediate impact, but should make future maintenance easier:
  - Play::GetDuration: explicitly list decode case and return unknown time;
    no impact as already covered by default.
  - Seek::SetPosition: explicitly list decode case and handle as no-op; no
    impact as already covered by default.
  - Seek::SetPosition for AudioPlayer or MediaPlayer: return
    SL_RESULT_FEATURE_UNSUPPORTED with unsupported data source e.g. buffer
    queue.  No impact as the result is currently ignored, but added a
    FIXME to pass this up to app.
  - AndroidBufferQueue::Clear: explicitly list decode case as a no-op
    other than the partial clear of upper layer queue.
  - AndroidBufferQueue::onRefilled: explicitly list decode case as
    a no-op, but with a FIXME that this may need more work later.

Change-Id: I53c8a0b736f32cd265ee9c94a70127d4f80869b5

12 years agorewrite lomo and documentary filters
Ruei-sung Lin [Wed, 31 Aug 2011 22:40:34 +0000 (15:40 -0700)]
rewrite lomo and documentary filters

Change-Id: Ia88123992c4033d9d68c2e47ba22db4f6c911694

12 years agoMake background replacement roughly independent of input size.
Rodrigo Carceroni [Wed, 31 Aug 2011 21:35:57 +0000 (14:35 -0700)]
Make background replacement roughly independent of input size.

Change-Id: I1257718f4ba2ae72add6501d238ec78d0465861b

12 years agoFix recording resolution mismatch when using CamcorderProfile.
Eino-Ville Talvala [Wed, 31 Aug 2011 19:15:50 +0000 (12:15 -0700)]
Fix recording resolution mismatch when using CamcorderProfile.

Did not use profile-provided resolution everywhere, resulting in
videos with tiny images in big black boxes.

Bug: 4510826
Change-Id: I845c436de091299fbd8a49eb3b8f70707aadc6f5