• Home
  • History
  • Annotate
  • only in /frameworks/wilhelm/include/SLES/
History log of /frameworks/wilhelm/include/SLES/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c3b82a293ed06001ba6d50f111608160c6065ef2 18-Sep-2011 Glenn Kasten <gkasten@google.com> Final revisions for NDK API level 14

Rename ANDROID_MIME_MP2TS to XA_ANDROID_MIME_MP2TS and
ANDROID_MIME_AACADTS to SL_ANDROID_MIME_AACADTS and make public.
ANDROID_MIME_AACADTS_ANDROID_FRAMEWORK remains private.

Change-Id: Ie2cda273b6adb2db453aad188b28e64147f9e6b0
penSLES_Android.h
0f92f48017588949daf7d24a339423e149bb2555 01-Sep-2011 Glenn Kasten <gkasten@google.com> 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
penSLES_AndroidMetadata.h
60ca9f9ef02f6e486c3338cb811f603dd7825c05 29-Aug-2011 Glenn Kasten <gkasten@google.com> 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
penSLES_Android.h
68c8a1b6deea46eeca57848768a92e96d583aadd 25-Aug-2011 Jean-Michel Trivi <jmtrivi@google.com> 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
penSLES_Android.h
penSLES_AndroidMetadata.h
02e6a6b750743e09fa21132046f6a092182def66 08-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5135150 Fix ifdef C++

Change-Id: Ic28452ce6b0c717722098699092f1797424a6d9b
penSLES_AndroidConfiguration.h
6f0f5640d190b0187c356eb53bd96d9f9e49da60 25-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5022500 MP2TS format change support in OpenMAX AL

Define new command that can be queued in AndroidBufferQueue
to signal an MP2TS format change.
This command maps directly to IStreamListener::kKeyFormatChange.

Change-Id: I67908fd9e1a7d994862ea3e41c4c0fb6e36bc804
penSLES_Android.h
e31a69fcbe27894a597176d05a08e04c06092021 13-Apr-2011 Glenn Kasten <gkasten@google.com> 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
penSLES_Platform.h
e9236d046fdb5cac0696c42e03443a2439188146 16-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> 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
penSLES_Android.h
1c853a41d9d9886e60618a7c878ce3912f46bf3c 15-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> 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
penSLES_Android.h
37dc2fccf3f122b79ebd554de209d0a3c94ae161 09-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> 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
penSLES_Android.h
e7bfcdc183454ec959ff51342f0973cabba219b2 08-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> 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
penSLES_Android.h
d158d31a6bbb06426b71c3d097b7768bc3fb79a3 04-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> 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
penSLES_Android.h
be2218961ac506ba9c2be0dddb2f74debd283bb8 05-Jan-2011 Glenn Kasten <gkasten@google.com> OpenSLESUT.h is not (yet) a supported header

so remove the symlink from the SLES/ directory

Change-Id: I95e331ac3b94457fe4c1c063069995bc48a659b4
penSLESUT.h
ebc8fd365b402e498d499fa8737a7591c290347c 16-Dec-2010 Glenn Kasten <gkasten@google.com> Clean up the API macros

SL_API and XA_API declare a symbol to be exported by .so.
SLAPIENTRY and XAAPIENTRY are for calling conventions, and are currently unused.
Also unified the 64-bit int types between SL and XA.
Remove obsolete symlinks.

Change-Id: I248f624f3e974f130c62cfc27ce9ad8eb40c0b56
penSLES.h
penSLES_Android.h
penSLES_Platform.h
0e47a0657162bbff48886ea2f5c68d9edb607768 14-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> OpenMAX AL: set video display surface from video sink

Initialize the media player's video surface with the surface pointer
obtained from the Java Surface.
Added notes on parts of the interface that will change, and are
currently in place for the sample code to run, before the
upcoming video initialization changes.

Change-Id: Id606f4bca68d227fa9df863922b880e865f845d5
penSLES_Android.h
eae4df541ba1d46f65d37e959baf2127aa632c93 10-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Start support for XAAndroidBufferQueueItf in OpenMAX AL

Added an Android OpenMAX AL header for the Android interfaces
Registered the AndroidBufferQueueItf as an explicit
interface on MediaPlayer.
Updated the Java+Native example to register a callback from
which OpenMAX AL can retrieve the data to play
Started unifying the player object used by OpenMAX AL and
OpenSL ES so they use a common class.

Change-Id: I73cec8c802f74767545c91278e5e73c8c7995218
penSLES_Android.h
e945a85a903cfb83a8965a3246c9e1718023a897 07-Dec-2010 Andreas Huber <andih@google.com> Support for streaming.

Change-Id: I8c4b53b57ceccf076c971d2ac8cd1223ecece094
penSLES_Android.h
fa62f9f2c20b446178c05e3e92407fe5dfdbf8a1 30-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Support for the SLAndroidBufferQueueItf interface

Rename AndroidStreamSource to AndroidBufferQueue.
Add prototype for SLAndroidBufferQueue functions.
Update sandbox test app to use the new interface.

Change-Id: Ib82180c22e5cf0dd982b4a9bb132667cd2ac4dd7
penSLES_Android.h
26043f06b7d6cb2f93a2f2e7846a4e59da722206 23-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Control MediaPlayer instance from SL ES interfaces

Implement transport control on StreamPlayer.
Store the StreamPlayer in CAudioPlayer as an sp<>
In StreamPlayer: create a media player from the
mediaplayerservice, and implement the IStreamSource
interface to get data fromt the application
callback.
Note that the SLDataLocator_AndroidStreamer and
SLAndroidStreamSourceItf are very much in flux
at the moment.

Change-Id: I11035aafcefd59aad99d1fec9fd54a622e6d1e0f
penSLES_Android.h
ad887a253969ac2017a1dbe062d0b76d505594c0 20-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Set the MediaPlayer data source from a SL_DATALOCATOR_ANDROIDSTREAMER

Use the data locator information to initialize the data source
of the MediaPlayer instance used in the StreamPlayer object.
Register the callback only when the player is stopped.
Added callback events that can be passed from the application
to the implementation to synchronously signal events.

Change-Id: I1fc52d8d46b2bcf8ca11ab0e4d44d40e704ddbfc
penSLES_Android.h
fe6f6b9ed3683119721618e1aeaa8c7d6baee188 19-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> More support for SL_DATALOCATOR_ANDROIDSTREAM

- add test app in sandbox: based on playUri with different data
locator
- new object, StreamPlayer, that will encapsulate the life-cycle
of the new MediaPlayer object that implements the streaming.

Change-Id: Idfdb00e8622ff18d131465d11178979232ee04f8
penSLES_Android.h
28bc6b725c207fb8fbd618caea4aa127f35ce1e1 13-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Definition of a new data locator and interface for streaming.

Change-Id: Ib929749beca048be46187cabbf466981d81143e7
penSLES_Android.h
a4b4d478171631eaa97e933eb46c1ff01bd04daa 11-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> Bug 3183484 OpenSL ES: add support for the AUDIO_SOURCE_VOICE_COMMUNICATION record source.

Change-Id: Icc593bdf2cc6ef7f61537661a82f63a46dc8693f
penSLES_AndroidConfiguration.h
a3080daa505f91df51a808c85ddb37c48745bf7c 21-Sep-2010 Glenn Kasten <gkasten@google.com> As part of API review, disable incomplete profiles

Don't compile dead code relating to unsupported features, but keep profiles for CT.
Move whole file conditionals from the source code to Android.mk,
by just not compiling the module for unsupported features.
There must an interface initialization hook present to expose an
interface implicitly or explicitly at object creation time, or
to dynamically add an interface after the object is created. As
a safety check, we also double-check for the initialization hook
when the application does a GetInterface.

Miscellaneous bug fixes:
- Fix warning "variable may be used uninitialized in this function".
- Fix build errors on SDL.
- Was using the wrong conditional for SDL.
- Fix typo mInterfaceContinued -> mInterfaceStates2 in AudioRecorder.
- Fix typo in IEngineCapabilities_init.

Other cleanup:
- Move ugly SDL-specific stuff out of the portable code.
- Combine duplicated code in CAudioPlayerDestroy and
CAudioRecorder_Destroy for freeing buffer queue memory.
- Add curlies to if and do statements.
- Line length 100.
- Decrease engine voices from 32 to 30 (based on max of 32 objects, 1 engine, 1 output mix).
- Disable IRecord_init log.
- Add symbolic link for Android configuration header file.
- Enable trace on Android.
- sl_int64_t is now unconditionally defined rather than only if
ANDROID defined, because it is used by OpenSLES_Android.h which
might be included by SDL also.
- Removed symlink for Android headers

Change-Id: I1a6389257bca09e3819923129a1193473e16669b
penSLES_Platform.h
01e9f5fa4698856f92bcfd88188ee4c8397b22db 22-Sep-2010 Glenn Kasten <gkasten@google.com> Android simple buffer queue locator and interface

Bug fixes:
Fix bug in error handling and recovery for checkDataSource - potential memory leak.
Clean up MPH table; there were some missing and uncommented entries.

Testing:
Add comments about using the END macro to test the MPH table.
Convert feedback test from buffer queue to Android simplified
buffer queue for rx side only, tx is still 1.0.1 buffer queue.
Add option to sample/intbufq test to use build option to decide
whether to use 1.0.1 buffer queue or Andorid simple buffer queue.
Convert record test for new APIs.

Miscellaneous:
Update hashgen table and add an install rule.
Add comments.
Add more logging.
Line length 100.
Fix build warning.
Double indent.
Fix SL_DATALOCATOR value for FD.

Change-Id: I35cce8934157fed88251e846b1beb15523b2b1a6
penSLES_Android.h
a7b79e766ec6d95e9236168c27461c2ebaef4659 20-Sep-2010 Glenn Kasten <gkasten@google.com> Update logging

Fix bug in ifdef __cplusplus for OpenSLES_Android.h.
Clean up, simplify, and change level of a few log messages.
Use SL_LOGx macros instead of LOGx in SfPlayer.cpp.
Add comments regarding unsupported runtime log level checks.
Line length 100.

Change-Id: I52441ed6fbe9550248fa1b6944fc8e199f1f2724
penSLES_Android.h
7fc9e14cb8d840df7242d37b55acff0b58d269c7 21-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3022251

Remove prefetch status error codes: not officially in OpenSL ES spec.

AndroidEffectCapabilities: no const for effect name

Android file descriptor data source: don't use a value that will
likely be used by the specification in the future.

Change-Id: I9b4e0d7eb265dc98c76021cddfe5a1f50b5eb6ef
penSLES.h
penSLES_Android.h
453dd564a81fe98b7a947ae4a9844a53fa957c2b 18-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Remove the SLAndroidStreamTypeItf interface.

It is now replaced by SLAndroidConfigurationItf which implements
the same functionality (and more).

Modified test to demo setting AudioPlayer stream type to use
SLAndroidConfigurationItf

Modified SLAndroidConfigurationItf to enable passing a
NULL pointer to value so the value size for the key ca
be queried.

Fixed type in AudioPlayer and AudioRecorder Android side
which reported an error if the SetConfig() function was
called when the object was unrealized (the intent is
to check that the object is NOT realized because we
are configuring the resources the object is going to use).

Change-Id: I20f3dba8c63066db94d537109854b4c4139f65b3
penSLES_Android.h
75e22870e41386cdc597bd29c76744d74d4c22ad 17-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Allow Android stream type to be set by SLAndroidConfigurationItf.

Allow Android stream type to be set through the
SLAndroidConfigurationItf interface, instead of the
SLAndroidStreamTypeItf interface, which is going away before
release.
The stream type is now stored in CAudioPlayer, and used before
the AudioTrack of the player is instanciated.

AudioRecorder preset and AudioPlayer stream type also implement
the following behavior: when querying a key with a NULL pointer
as destination for the value, the value size is updated with
the actual size used to store the value for the given key.

Change-Id: I652a5b463a220698c53fc1d2b485143b794a1d75
penSLES_Android.h
penSLES_AndroidConfiguration.h
d7d18f940d5477238cd17060b6bf33867bc42f07 15-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Add prefetch status error definitions." into gingerbread
e214a8c49938e7356943b59db53474e5fc3ae07c 15-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Rename default recording preset to generic.

Change-Id: I77144ebcc593001ca60b94f0176fc2287e7400fd
penSLES_AndroidConfiguration.h
e3105d7d252fe0d1018c3578a675a8d63714d823 15-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Add prefetch status error definitions.

Add prefetch status error definitions as defined in post SL ES 1.0.1.
Add fixmes for Android extension discovery.

Change-Id: I36161013f121b0fb0748311df9e8167e45f88808
penSLES.h
b3e52a63baaea367cf411348b68ecd8fd429b029 14-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement SLAndroidConfigurationItf on AudioRecorder.

Enable the use of the configuration interface before the
AudioRecorder object is realized to set the recording
preset. Recording presets map to the Android
AudioRecord input source.

Change-Id: I804095a0b39e4676862f6bc8e7fbaa0ba63b9336
penSLES_AndroidConfiguration.h
42309377d1ed17b557fab30f1bf26b8ba31a96fd 12-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Add SLAndroidConfigurationItf, enabled on AudioRecorder.

This adds a generic configuration interface, first enabled on the
AudioRecorder object. This is intended to be used to configure
the audio recording source. It is meant to be usable before the
object is in REALIZED state.

Change-Id: I8f6c1cf8f5be8a8dfb332c4e89d91f45047f48e3
penSLES_Android.h
fef6033d852daec8d88060b252e72f322724dca1 10-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement the SLAndroidEffectSendItf.

This enables sends from an AudioPlayer to an OutputMix
that's using the generic effect interface (SLAndroidEffectItf).
Since there is a single aux bus, the effect ID is only used
to verify the effect referred to in the send is actually
attached to the OutputMix. Also there is a single send
level value and enable flag for the interface, even though
the interface definition supports discerning between multiple
effects (so it scales on platform with multiple aux buses).

Dry (direct) level is now stored in the AudioPlayer,
as it is shared between SLEffectSendItf and
SLAndroidEffectSendItf.

Change-Id: I3dd34c4c045d8ac2961a325e10b181a789bf4913
penSLES_Android.h
884ed8e6ccaf395f7b57e1cf16c2779c651eb800 09-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Definition of SLAndroidEffectSendItf

Define the SLAndroidEffectSendItf interface which mirors the
SLEffectSendItf interface, but uses an SLInterfaceID parameter
to identify the effect the AudioPlayer is sending to.

Change-Id: Iec0ddf315a6974fafedecd566bd01c7231183312
penSLES_Android.h
5b09aa864215690580b18eb802927e8cc7eb4861 03-Sep-2010 Jean-Michel Trivi <jmtrivi@google.com> Implement SLAndroidEffectItf and SLAndroidEffectCapabilities.

Change-Id: Ia2cf6e3f0178189b0ed010690bc9906b61a746a7
penSLES_Android.h
768edbc2a8e7f197548cf1141689dd237d19c455 27-Aug-2010 Glenn Kasten <gkasten@google.com> Fix compile-problem on desktop, and SDL bug.

Fix bug caught by using gtest on desktop: SDL was not being shutdown properly when engine destroyed.
Fix compile problems on desktop for BassBoost, Equalizer, and Virtualizer.
Add new OpenSLESUT function: slesutResultToString.
Rename SDL_start to SDL_open to match SDL naming conventions.
Add SDL_close.
Add symlink for applications to use OpenSLESUT.h.

Change-Id: I6ef9895adc508b3b9570c79302c7a3046ca8246f
penSLESUT.h
67bdf8a2fbd1024ab50c4513e1504325475368e0 28-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> First implementation of the generic audio effect interface for
OpenSL ES.

SLAndroidAudioEffectItf is an explicit interface, exposed on AudioPlayer

Change-Id: I41f86fd64650db7b3cb2d220cdb043d2dcbbcc21
penSLES_Android.h
ee21d26b4b66d0f19b826685b3070497523994d5 28-Jul-2010 Glenn Kasten <gkasten@google.com> Khronos recommendation: include "SLES/OpenSLES.h"

Change-Id: Iaa36d08f313a29ad2914e7459448bf9418e8c6c8
penSLES.h
penSLES_Android.h
penSLES_Platform.h