History log of /system/media/wilhelm/src/itf/IAndroidBufferQueue.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2917f475d6f2058ed177ee2a51fdf7069645ba3e 29-Nov-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 5553055 support video only format change in MP2TS

Allow command data when enqueueing a format change command.
Support format change where the application signals that the
change is for the video stream only. Consider any other change
or format change command with invalid data as a full format
change.

Change-Id: I6c684eab36a51dded7e3d7e72b8effe13dac6cc8
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
563ba31c5b77092d3d2672a3ee89f1eaeed1aeb5 17-Sep-2011 Glenn Kasten <gkasten@google.com> 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
02b9a8f9d11512ff604ada5b4d76fbb5d06cc488 24-Aug-2011 Glenn Kasten <gkasten@google.com> 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
dad0981493d6ed7fc8d356a698f3a1dccedb5cda 18-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 5159291 lock safety"
49b757f033c398a9a5917fa9677a7075c4c85d93 12-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5159291 lock safety

Change-Id: I56f5fd038d63d033954d794168df4cbcdade26f3
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
333c2341445e9f161ff022a4b7d5f69e9e149b60 27-Jul-2011 Jean-Michel Trivi <jmtrivi@google.com> AAC buffer decode to PCM buffer queue

Implement AAC ADTS decode with buffers of compressed data being
passed to the framework through an AndroidBufferQueue, and
decoded PCM buffers being passed to the application through
a BufferQueue (just like existing decode from URI/FD).

Change-Id: Id992a44a5ca7e404088b929f2b0afe9ca1f85223
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
2b9a1ef8a14251a8cdcdf20d7bd3ae0e4c5faa10 02-Aug-2011 Glenn Kasten <gkasten@google.com> Bug 5109153 Remove log spam

Change-Id: I6c0c742bfa3f0078968dc5e2ea3578ad786067c5
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
bce61624a80db2cef964fc512cfd3bac034afefe 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
1c17ec55f629fdab909ab16d94e014f098369110 13-Apr-2011 Glenn Kasten <gkasten@google.com> Fix build warnings caused by the 'long' change

Change-Id: I34e74d723ae7fd829dd140614928d7880e669f03
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
30ebe675beff91283cc72d4ee5e94e56ab7e107f 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
4756e5726b53c2b4d7fae8b66b5596afd7fcf309 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
fcc996296bdbf6c3949ad4312991fdde4ae2e157 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
ec6861ed4f54b73425bdca049f3a75f7ac57a682 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
5b21a0626e173d407aa3835e5cffcaa9b582016d 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
f65b260193e5ca669ec4479a7e1c4517e18cc6b0 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
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
50bccde01980ae803b8656e8b08ecacb65540f50 18-Jan-2011 Glenn Kasten <gkasten@google.com> Rename class__ to clazz, this to thiz

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

Change-Id: I93ad6920bf78c0a02ac4b2650a29c9e11252f731
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c
439af19ad7484b0472080e8eb0cd8462a17b0286 12-Jan-2011 Glenn Kasten <gkasten@google.com> Directory re-organization

Change-Id: I8e3f12a22e765d36ddefd87edf204735b25474f6
/system/media/wilhelm/src/itf/IAndroidBufferQueue.c