OSDN Git Service

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

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

13 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

13 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

13 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

13 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"

13 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"

13 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

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

13 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

13 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"

13 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

13 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"

13 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

13 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

13 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."

13 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

13 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

13 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."

13 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"

13 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"

13 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

13 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

13 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

13 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

13 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."

13 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

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

13 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."

13 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

13 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

13 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"

13 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"

13 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

13 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

13 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

13 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

13 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"

13 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"

13 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"

13 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"

13 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

13 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

13 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

13 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)"

13 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

13 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

13 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"

13 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

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

13 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."

13 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

13 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"

13 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

13 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

13 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

13 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

13 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

13 years agoMerge "Updates to the MediaEncoderFilter."
Eino-Ville Talvala [Wed, 31 Aug 2011 21:15:07 +0000 (14:15 -0700)]
Merge "Updates to the MediaEncoderFilter."

13 years agoMerge "Bug 5217144 AndroidBufferQueue::Enqueue error chks"
Glenn Kasten [Wed, 31 Aug 2011 00:26:10 +0000 (17:26 -0700)]
Merge "Bug 5217144 AndroidBufferQueue::Enqueue error chks"

13 years agoMerge "MediaSource: switch to MediaPlayer#setSurface"
Jamie Gennis [Tue, 30 Aug 2011 21:39:43 +0000 (14:39 -0700)]
Merge "MediaSource: switch to MediaPlayer#setSurface"

13 years agoMerge "Add fillblack option"
Wei Hua [Tue, 30 Aug 2011 20:48:36 +0000 (13:48 -0700)]
Merge "Add fillblack option"

13 years agoUpdates to the MediaEncoderFilter.
Eino-Ville Talvala [Sun, 28 Aug 2011 18:57:51 +0000 (11:57 -0700)]
Updates to the MediaEncoderFilter.

- Support more of the MediaRecorder parameters
- Allow toggling recording on/off during filter graph execution.
- Pass timestamps on correctly

Bug: 4510826

Change-Id: I63c9c5e9554d8e8570f2051f08e81ef753069fa1

13 years agoMerge "Example of AAC ADTS decoding with OpenSL ES"
Glenn Kasten [Mon, 29 Aug 2011 23:36:43 +0000 (16:36 -0700)]
Merge "Example of AAC ADTS decoding with OpenSL ES"

13 years agoMediaSource: switch to MediaPlayer#setSurface
Jamie Gennis [Mon, 29 Aug 2011 00:22:34 +0000 (17:22 -0700)]
MediaSource: switch to MediaPlayer#setSurface

This change updates MediaSource to use the new MediaPlayer#setSurface method, which
is replacing MediaPlayer#setTexture.

Change-Id: I4e4c5d1c5e481100db9265114bb285b766ae9877

13 years agoMerge "Fix Grain filter and optimize other filters"
Ruei-sung Lin [Mon, 29 Aug 2011 20:32:50 +0000 (13:32 -0700)]
Merge "Fix Grain filter and optimize other filters"

13 years agoMerge "Fix b/issue?id=4882048"
Rodrigo Carceroni [Mon, 29 Aug 2011 19:51:57 +0000 (12:51 -0700)]
Merge "Fix b/issue?id=4882048"

13 years agoFix Grain filter and optimize other filters
Ruei-sung Lin [Mon, 29 Aug 2011 18:50:56 +0000 (11:50 -0700)]
Fix Grain filter and optimize other filters

bug: 5127871

Change-Id: I627a840906417891270aa2d93ea966c217d98b3c

13 years agoBug 5217144 AndroidBufferQueue::Enqueue error chks
Glenn Kasten [Wed, 24 Aug 2011 00:11:23 +0000 (17:11 -0700)]
Bug 5217144 AndroidBufferQueue::Enqueue error chks

Add more error checks to Enqueue:
 - check for a NULL data pointer with non-zero data size
 - check for a NULL item array with non-zero item array size

For the Enqueue item processing:
 - examine all items if there is more than one in the array
 - check for invalid combinations of items
 - check that total length of item array is large enough for each
   item's header and any optional data
 - check for an EOS with a non-empty item data
 - log if an unknown item key is found
 - added the EOS item handling code for AAC ADTS
   (the underlying implementation is still not yet done).

Fix copy/paste typo in initializeAndroidBufferQueueMembers.

AacBqToPcmCbRenderer::validateBufferStartEndOnFrameBoundaries:
 - now returns a more specific result code rather than bool
 - readAt return type ssize_t not size_t
 - readAt return 0 (EOS) is a LOGV not LOGE.

Fix race in Android buffer queue callback: replaced logic in
BufferQueueSource.cpp by safer code from android_StreamPlayer.cpp

Change-Id: I423ccbd6d76a736a486b49b5dfdb7898b52cdd02

13 years agoBug 5226085 miscellaneous metadata issues
Glenn Kasten [Sun, 28 Aug 2011 16:29:43 +0000 (09:29 -0700)]
Bug 5226085 miscellaneous metadata issues

The metadata keys are now exposed for AAC decode.

The metadata keys are now exposed at Realize. The keys were previously
only available after prefetching was complete. This made it more awkward
for an application to use them.

Fixed race condition in access to metadata values.

Change-Id: I3daed2da61f5ed0add6948f1558963cfe66795fc

13 years agoExample of AAC ADTS decoding with OpenSL ES
Jean-Michel Trivi [Thu, 25 Aug 2011 17:15:23 +0000 (10:15 -0700)]
Example of AAC ADTS decoding with OpenSL ES

Put AAC ADTS in an AndroidBufferQueue, retrieve PCM data through
 a BufferQueue.

Change-Id: I9718d7a9e030a2c3568de8579f3329b76f63d891

13 years agoFix b/issue?id=4882048
Rodrigo Carceroni [Fri, 26 Aug 2011 22:57:02 +0000 (15:57 -0700)]
Fix b/issue?id=4882048

Change-Id: Ib26f4c9f1c64c70e779ac5533892a91cef23d1fe

13 years agoRecording MFF Frames using MediaEncoder
Pannag Sanketi [Mon, 22 Aug 2011 15:57:48 +0000 (08:57 -0700)]
Recording MFF Frames using MediaEncoder

Changed the GL native and jni to incorporate media encoding
This involves being able to call disconnect on the SurfaceMediaSource
and choosing the right egl config

Related to bug id: 5216763

Change-Id: I048bbbd2b308b6163fd380edd7575e52dee23ccf

13 years agoMerge "Metadata keys for PCM decoding"
Jean-Michel Trivi [Fri, 26 Aug 2011 16:49:36 +0000 (09:49 -0700)]
Merge "Metadata keys for PCM decoding"

13 years agoAdd fillblack option
Yifan Peng [Fri, 26 Aug 2011 00:29:59 +0000 (17:29 -0700)]
Add fillblack option

If quad box is outside of image, it will display black.

Change-Id: I4871e4bf495ec461a0923ea80cafd2566e07caeb

13 years agoMerge "General code / documentation clean-up."
Marius Renn [Thu, 25 Aug 2011 21:54:24 +0000 (14:54 -0700)]
Merge "General code / documentation clean-up."

13 years agoMerge "Change the OneShotScheduler to schedule only the source node once."
Wei Hua [Thu, 25 Aug 2011 21:36:16 +0000 (14:36 -0700)]
Merge "Change the OneShotScheduler to schedule only the source node once."

13 years agoGeneral code / documentation clean-up.
Marius Renn [Thu, 25 Aug 2011 21:35:01 +0000 (14:35 -0700)]
General code / documentation clean-up.

- Addresses API council's comments.
- Adds identity effect.
- Other clean-up.

Change-Id: Ib87ea95b8df44eef39be970971f436e46f0ade2d

13 years agoChange the OneShotScheduler to schedule only the source node once.
Wei Hua [Thu, 25 Aug 2011 18:43:33 +0000 (11:43 -0700)]
Change the OneShotScheduler to schedule only the source node once.

Bug: 5214756
Change-Id: Ia14b57b618d875e71d0fd65909eb7aa69b867f95

13 years agoMerge "xaplay command-line mediaplayer for MPEG-2 TS ABQ"
Glenn Kasten [Thu, 25 Aug 2011 18:04:50 +0000 (11:04 -0700)]
Merge "xaplay command-line mediaplayer for MPEG-2 TS ABQ"

13 years agoMetadata keys for PCM decoding
Jean-Michel Trivi [Thu, 25 Aug 2011 17:55:48 +0000 (10:55 -0700)]
Metadata keys for PCM decoding

Declare in a public header the metadata keys an application which
 decodes audio data would use to figure out the output PCM format.

Make the SL ES Android header also include the configuration and
 metadata headers.
Update test apps to reflect this.

Change-Id: I298db4fdb800df2d48047691441aa7489aad4822

13 years agoxaplay command-line mediaplayer for MPEG-2 TS ABQ
Glenn Kasten [Mon, 22 Aug 2011 15:24:44 +0000 (08:24 -0700)]
xaplay command-line mediaplayer for MPEG-2 TS ABQ

Change-Id: Id5ea3f478f45d4fa4b86772593ae831d9eade952

13 years agoBug 5193695 Fix crash after MediaPlayer destroyed
Glenn Kasten [Wed, 24 Aug 2011 17:31:01 +0000 (10:31 -0700)]
Bug 5193695 Fix crash after MediaPlayer destroyed

The StreamSource callback thread was continuing to run after the
MediaPlayer object was destroyed.  Fixed by adding a callback protector
and a pre-destroy hook. GenericMediaPlayer::preDestroy now also
calls MediaPlayer::stop just in case.

Change-Id: I5bd771d4d1936f433d2a8c9959593782c96daed9
Miscellaneous:
 - added an explicit destructor on CMediaPlayer::mAVPlayer for consistency
   (probably not a bug since there was a clear on it earlier)
 - updated comments for CallbackProtector
 - made some CallbackProtector fields private since no sub-classes yet

13 years agoMerge "Bug 5153313 keep compatibility of local files URI"
Glenn Kasten [Wed, 24 Aug 2011 19:05:44 +0000 (12:05 -0700)]
Merge "Bug 5153313 keep compatibility of local files URI"

13 years agoMerge "Bug 5105712 synchronous callbacks"
Glenn Kasten [Wed, 24 Aug 2011 19:05:30 +0000 (12:05 -0700)]
Merge "Bug 5105712 synchronous callbacks"

13 years agoBug 5153313 keep compatibility of local files URI
Glenn Kasten [Thu, 11 Aug 2011 15:07:18 +0000 (08:07 -0700)]
Bug 5153313 keep compatibility of local files URI

Also fix a bug in decode from fd to PCM buffer queue, where
we were closing the application's fd.

Change-Id: I220cd1c242f2f5e240b4dd1b9e8d79c88878bdcd

13 years agoBug 5105712 synchronous callbacks
Glenn Kasten [Tue, 2 Aug 2011 14:39:41 +0000 (07:39 -0700)]
Bug 5105712 synchronous callbacks

After GetPosition is made synchronous, it is safer to make client
callbacks synchronous also.

Change-Id: I2688f709ed672aaa62d046d5f95db1b81504c9e3

13 years agoMerge "Converted libaudioutils implementation to C."
Eric Laurent [Wed, 24 Aug 2011 18:34:26 +0000 (11:34 -0700)]
Merge "Converted libaudioutils implementation to C."

13 years agoMerge "NEW_API: Make rest of the effect names public in EffectFactory."
Eino-Ville Talvala [Wed, 24 Aug 2011 17:19:44 +0000 (10:19 -0700)]
Merge "NEW_API: Make rest of the effect names public in EffectFactory."

13 years agoNEW_API: Make rest of the effect names public in EffectFactory.
Eino-Ville Talvala [Mon, 22 Aug 2011 17:37:24 +0000 (10:37 -0700)]
NEW_API: Make rest of the effect names public in EffectFactory.

Bug: 4966161
Change-Id: If194ebb5d1c45e8826a53fe9a83a94a1690cc11d

13 years agoMerge "Fix minor logging bug in core Filter code."
Eino-Ville Talvala [Wed, 24 Aug 2011 16:35:39 +0000 (09:35 -0700)]
Merge "Fix minor logging bug in core Filter code."

13 years agoMerge "Bug 5198051 MediaPlayer prefetch status interface"
Glenn Kasten [Wed, 24 Aug 2011 16:06:36 +0000 (09:06 -0700)]
Merge "Bug 5198051 MediaPlayer prefetch status interface"

13 years agoMerge "Assertion checks do LOGF not fprintf to stderr"
Glenn Kasten [Wed, 24 Aug 2011 15:00:34 +0000 (08:00 -0700)]
Merge "Assertion checks do LOGF not fprintf to stderr"

13 years agoFix minor logging bug in core Filter code.
Eino-Ville Talvala [Wed, 24 Aug 2011 00:11:20 +0000 (17:11 -0700)]
Fix minor logging bug in core Filter code.

Change-Id: Ic03692e2456d2ca2615b75c7da4672ae3fed60d9

13 years agoMerge "Bug 5198051 MediaPlayer StreamInformation various"
Glenn Kasten [Tue, 23 Aug 2011 23:50:18 +0000 (16:50 -0700)]
Merge "Bug 5198051 MediaPlayer StreamInformation various"

13 years agoMerge "Add reset function to Native Program."
Wei Hua [Tue, 23 Aug 2011 23:49:27 +0000 (16:49 -0700)]
Merge "Add reset function to Native Program."

13 years agoMerge "Bug 5198051 Video sink on MediaPlayer is optional"
Glenn Kasten [Tue, 23 Aug 2011 23:48:57 +0000 (16:48 -0700)]
Merge "Bug 5198051 Video sink on MediaPlayer is optional"

13 years agoMerge "Bug 5198051 MediaPlayer PLAYEVENT_HEAD* callbacks"
Glenn Kasten [Tue, 23 Aug 2011 23:48:16 +0000 (16:48 -0700)]
Merge "Bug 5198051 MediaPlayer PLAYEVENT_HEAD* callbacks"

13 years agoAssertion checks do LOGF not fprintf to stderr
Glenn Kasten [Tue, 23 Aug 2011 22:22:55 +0000 (15:22 -0700)]
Assertion checks do LOGF not fprintf to stderr

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

Change-Id: I1e051c040b667e2e70b6df0c03648c309efef7d6

13 years agoBug 5198051 MediaPlayer prefetch status interface
Glenn Kasten [Mon, 22 Aug 2011 15:25:19 +0000 (08:25 -0700)]
Bug 5198051 MediaPlayer prefetch status interface

Change-Id: I426c870f803df0a7052f17be955ba797a814b4cc