History log of /frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
68686bd0cb31f99f07ebc176176f8b51adf8d1d5 21-Jul-2011 Glenn Kasten <gkasten@google.com> Fix line length

And add explanation for -p# option of slesTest_recBuffQueue

Change-Id: I32a06caf633c6796e263a1beeec93513cd775096
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
6be131483b1ae3fefd5adda17294a22cff4db806 03-Oct-2011 Glenn Kasten <gkasten@google.com> Fix typos in usage: requires local filename

Change-Id: I6061757f3919718fc2b4da9392e37ed2c795f8b5
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
c6853892c94800e72c0bd676d5d2136d48cea76e 19-Jul-2011 Glenn Kasten <gkasten@google.com> Use the documented header filenames

Both Khronos and we say to use < > in our docs

Change-Id: Ibf1d2b83036582a605aa6b9043210c89a4eb0e1e
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
58432eb9cea995c69b4f905e68b38c1b8216edeb 13-Jun-2011 Glenn Kasten <gkasten@google.com> Better defaults and fix warnings

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

Change-Id: Ieef4750cbc454029e61524cc8011a6c774088762
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
70c49ae2867094072a4365423417ea452bf82231 07-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> 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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
16ce39d96d41884c7b0d1676553ab8167baaab74 09-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Add superclass for audio-video playback

Change-Id: Ie7f5cb9d789d41c605dc318bbb311aadabce2c96
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
aa2fafdac2711436e5fd8faf162d7087a515cb1c 02-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> StreamPlayer::onPrepare() should synchronously prepare its player

Change-Id: If8ec63e8b93dea2e1810046e05e692755e6a8887
StreamPlayer::onPrepare() should only return when its media player
is done preparing, so other player commands are processed from
the message queue when the player is ready to receive them.
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
cb417262919560a715628f4317dc8a4de386f750 02-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> Asynchronous prepare() on StreamPlayer

Prepare the StreamPlayer object asynchronously.
Fixes the deadlock issue between the SLAndroidBufferQueue callback
registration and Enqueue() functions.

Change-Id: I76963233f658946db87d0aab6f225bc9e7c8210a
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
be59fc5cfd9354d70d4b0e28bb2bca24a6ca6f22 01-Dec-2010 Jean-Michel Trivi <jmtrivi@google.com> More support for SLAndroidBufferQueueItf

Implement Enqueue()
Store "caller" interface to use in the AndroidBufferQueue
callback.
Update test app in sandbox to use the callback to read
from a file and enqueue buffers directly.

Change-Id: I68413731d311532b08f8f13577e3ca81c033fcd4
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp
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
/frameworks/wilhelm/tests/sandbox/streamSource/slesTestPlayStream.cpp