History log of /frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bbd5286e99bbacf9907e2ecf1f7181db17ee6e46 13-Apr-2018 Phil Burk <philburk@google.com> aaudio: teardown stream based on a port handle

Needed for silencing specific input streams.
Pass AAudioService reference into AAudioServiceEndpointMMAP.
Use it to find a specific stream by PortHandle then
stop it and disconnect it.

Bug: 72134552
Test: b/72134552#comment10
Change-Id: Ibdf242f834c83b47c967c3cc634ed1083b019d4a
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
55e5eabf96af5a2964bfab1e64d81ad9be9ac975 11-Apr-2018 Phil Burk <philburk@google.com> aaudio: cleanup logs and add counters to dumpsys

Counters will give us some history for AAudio.
Removed some unneeded logs.
Added log to help debug intermittent volume problem.

Bug: 64310586
Test: adb shell logcat
Test: adb shell dumpsys media.aaudio
Change-Id: I012361bb4d0d0bfdedfe5ceef856b59282c8d3f0
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
3d786cb59f5acd5484fa4fb968ba2de9dcf283ad 09-Apr-2018 Phil Burk <philburk@google.com> aaudio: convert I16 input to float

This allows an app that requests a LOW_LATENCY FLOAT INPUT stream
to get a FAST track when using Legacy mode.
This is needed because Legacy AudioRecord does not allow FAST for FLOAT
streams.

Bug: 38268031
Test: adb shell input_monitor -m1 -pl -f2
Test: adb shell input_monitor_callback -m1 -pl -f2
Test: On Pixel phones you should get actual performanceMode=12
Change-Id: Ia5879ff4904f50bbb5009a3fc058800e53770710
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
19e990e480245af25ec03ff3a3f53b820b0732cd 22-Mar-2018 Phil Burk <philburk@google.com> aaudio: improve logging to help debugging

Use __func__ more often.
Show thread entry and exit.
Log illegal state transitions.
Remove some unnecessary logs.

Bug: 64310586
Test: use AAudio then look at the logs
Change-Id: I2e289698efc897640588ba534b5513ac39b15043
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
41f19d8e9471945b358c9ae1dffda60f195d9f5b 13-Feb-2018 Phil Burk <philburk@google.com> aaudio: convert mono output to stereo

MMAP hardware streams are often stereo.
But apps often want to output a mono stream.
Since converting from mono to stereo is easy,
we can go ahead and open a stereo hardware stream
and then just convert the apps mono data to stereo for the HW.

Add getDeviceChannelCount().

Test: adb shell write_sine_callback -pl -s10 -c1 -m3
Test: adb shell write_sine_callback -pl -s10 -c1 -m3 -x
Change-Id: I444a38c6f5cd32d1d6113f16aacec68285a1bc82
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
5cc83c3b8acc43b760be23a4e3b96fbbb06d8e93 29-Nov-2017 Phil Burk <philburk@google.com> aaudio: fix some state transitions

Now requestStop() and requestPause() do the appropriate thing
based on state.
Flush is allowed when OPEN, PAUSED or STOPPED because there might
be pre-roll data.

Bug: 69810494
Test: test_various.cpp
Change-Id: Ie1b306b17734a58fa71b1742bb186482893656b7
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
4e1af9fc9c1108d4514e92774f750bcd434dbbcc 04-Jan-2018 Phil Burk <philburk@google.com> aaudio: implement sessionId for effects

If a sessionID other than AAUDIO_SESSION_ID_NONE is requested
then legacy data path will be forced.

SessionID is implemented for MMAP data path but not used.
It is easier to implement it now then try to figure
it out later.

Bug: 33268927
Test: test_session_id.cpp will be moved to CTS when stable
Change-Id: I3ea67f57c1cbe24a512980f1352b917ab3cb6387
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
a62fb9565d73d9ec9b56da65929afc0f686c696e 16-Jan-2018 Phil Burk <philburk@google.com> aaudio: fix USAGE, INPUT_PRESET and CONTENT_TYPE

The attributes were not propagating all the way down for MMAP
streams.

Bug: 72046612
Bug: 72049948
Test: adb shell aaudio_loopback -te -pl -n1 -x -X -i6
Change-Id: I41b592d0c3a9daef5070ad299198c8d6cd890cfc
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
134f197bf7e2785ed9de336dc8e22e870c2ba6bd 08-Dec-2017 Phil Burk <philburk@google.com> aaudio: prevent stop/close from a callback

Detect whether AAudioStream_requestStop() is being called
from a data or error callback and return error.
Also for start(), pause(), flush() and close().

Honor AAUDIO_CALLBACK_RESULT_STOP in Legacy callback.

Bug: 65560631
Bug: 62943389
Bug: 63096718
Test: test_various.cpp callback_blocker_none and callback_blocker_lowlat
Change-Id: I29a685cd42910f70d16e23db0f9ec00b72451cfc
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
693cb2bde52b4d73c391c529f1c6bf7a02be9f72 22-Nov-2017 Phil Burk <philburk@google.com> Merge "aaudio: use xruns detected in the service"
2329638e097622653cb2c4acc145b996e317a38b 21-Nov-2017 Phil Burk <philburk@google.com> aaudio: use xruns detected in the service

The service knows when an actual xrun occurs so we pass
that value to the client.

Bug: 38512417
Test: write_sine_callback -pl -n1 -s20 -c2 -u
Change-Id: I9e5ff1edd2e9378957309280162d7cda855f5adb
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
6479d501e85147d2be48bde13a7926da5f0e56f6 20-Nov-2017 Phil Burk <philburk@google.com> aaudio: clip bufferSize at top of MMAP code

Set size to a reasonable value regardless of the user input.

Bug: 69469801
Test: test_various.cpp
Change-Id: I6c155383e70959485882c17189388be1c9e6fc8b
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
fbf031e8f197c916ae9c399f42926494ebdeb497 13-Oct-2017 Phil Burk <philburk@google.com> aaudio: cleanup logs and comments

This CL should not change any code behavior except for log text.
Mostly it removes redundant class names from the log.

Test: CTS nativemedia/aaudio
Change-Id: I6a6d01da080f536d5345f2b0deb32e92ed1e3d47
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
c75d97f20843388b9084561635996a01a53d0c0f 09-Sep-2017 Phil Burk <philburk@google.com> aaudio: fix return code from getTimestamp()

Should be AAUDIO_ERROR_INVALID_STATE if no timestamp available.

Bug: 65447871
Test: test_timestamps.cpp should only print AAUDIO_ERROR_INVALID_STATE
Change-Id: Id9e211ef8fce078514f4348a434e0c003372369c
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
965650e5c36f39cb5e6d780a22ff711fbf5a37f5 08-Sep-2017 Phil Burk <philburk@google.com> aaudio: fix problems with PlayerBase and ref counting

CTS test was crashing because of a multiple inheritance
problem involving PlayerBase.
We now implement separate PlayerBase class that sits between
AudioStream and the system.

Bug: 65450109
Test: CTS nativemedia/aaudio
Change-Id: I424663acc1eeacc9544769991495cb48f4110359
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
bcc3674648bc6f554d89a2a5d7721ed41c53f83b 01-Sep-2017 Phil Burk <philburk@google.com> aaudio: fix timestamps and underruns

Start the client after we get valid timing data from the server.
That can take a while because of the long cold start times.
The client is synced with the current position of the service.
Now the client can start clean with no underruns.

Bug: 63918065
Test: test_timestamps.cpp
Change-Id: I5d01eb844e4b14cd5477d56ea1dd9e309abc1c52
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
2bc7c1838703993e126bfe9a21fee053b6c0ab67 28-Aug-2017 Phil Burk <philburk@google.com> aaudio: fix hang in client when audioserver dies

Fix timeout detection so that callback thread can die.
Prevent AAudioBinderClient singleton from getting deleted,
which caused a subsequent lock on a dead object to hang.

Bug: 64988439
Test: "write_sine -m2 -pl" and "adb shell killall audioserver"
Change-Id: I044bce385b66e69007d1997f051c9d6c042b7871
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
39f02ddfbfd9313370d862a6c4727826379a319a 04-Aug-2017 Phil Burk <philburk@google.com> aaudio: fix EXCLUSIVE mode interfering with SHARED

The MMAP endpoints were not tracked by the EndpointManager
so it could not broker EXCLUSIVE access. To fix this the MMAP stream
was refactored to use a per-client stream and a per-device endpoint.

Cleanup close() of MMAP stream.
Add AAudioServiceEndpointShared.cpp.
Extract AAudioServiceEndpointMMAP from AAudioServiceStreamMMAP.
Track MMAP endpoints so we can manage EXCLUSIVE and SHARED access.

Bug: 64494572
Bug: 64310586
Test: see bug, use write_sine to play a shared stream and a excl stream
Change-Id: I5053193abfd9b8a69a2f7e1110739d65e2af5d64
Merged-In: I5053193abfd9b8a69a2f7e1110739d65e2af5d64
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
99306c80f061e4c11f05c21a19bfab6eac01c529 14-Aug-2017 Phil Burk <philburk@google.com> aaudio: prevent memory leak from double configure

Prevent AudioEndpoint from being configure()d twice.
Check return value of AudioEndpoint.configure().
Prevent AudioStreamInternal from being open()ed twice.

Bug: 64522125
Test: adb shell dumpsys media.audio_flinger --unreachable
Change-Id: I3ae07af5610fd1f9e539f884923f781eefcd645f
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
249617e843ed15988abaf9f0f30e613f0263eb69 08-Aug-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "aaudio: stop buzzing when MMAP stream disconnected" into oc-mr1-dev
ea04d97050e778e7cefb755b442156310afada05 07-Aug-2017 Phil Burk <philburk@google.com> aaudio: stop buzzing when MMAP stream disconnected

When a stream is disconnected, clear the MMAP memory
buffer to prevent the hardware from looping on stale data
and making a buzzing sound.

Bug: 63342351
Test: play GStomper with AAudio through headphones and then unplug them
Change-Id: I6372b0a031dea242e3830cc2d226a4c043d4467e
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
a5222e298c294781067950a7cc319d3278fa845a 28-Jul-2017 Phil Burk <philburk@google.com> aaudio: improve error logging

Report when INVALID_STATE returned.
This was used to debug monkey test errors.
Cleanup some log messages.
Improve "dumpsys media.aaudio"

Bug: 64310586
Test: CTS nativemedia/aaudio
Change-Id: Ifbcac4794cda22cccbacff6352243c0ef4589c53
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
0befec600314a79c0d142c3edd99f7d1c75e1afe 29-Jul-2017 Phil Burk <philburk@google.com> aaudio: update state for legacy mode

Add logging to the loopback test.
Update state in the callback.
Implement AAudioStreamRecord::getFramesWritten().

Bug: 62781173
Bug: 64214193
Test: aaudio_loopback.cpp, look for STARTED state while running
Change-Id: Iba867d048dcfcafe6db1d095abe2766f1aabe608
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
97350f9df7252c881f011a410fcd9e6d766d2bee 22-Jul-2017 Phil Burk <philburk@google.com> aaudio: improve accuracy of timestamps

Account for latency added by the AAudio service.
Fix input timestamps.

Bug: 37080396
Test: test_timestamps.cpp input_monitor.cpp
Change-Id: I1053cd21af722bb9b9371df4e5731bf4a0a57b0b
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
fd34a9310659aa53e9e10d6826651577a75f6447 19-Jul-2017 Phil Burk <philburk@google.com> aaudio: reduce glitching by improving sleep timing

ALways sleep a minimum time to avoid busy wait in real-time thread.
Account for wakeup jitter in threads on the other side of a FIFO.
Avoid race condition that caused a longer sleep than necessary.
Fix calculation of mFreeRunning for capture mode.

Also added systrace logging, which was used to debug this.

Bug: 63814792
Test: Run GStomper on Walleye with MMAP on, see bug
Change-Id: I7b20098580ff454365425bd21e43c17ade532a0a
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
901f65deb49786f4dffd39ac965c0bb681392c0b 13-Jul-2017 jiabin <jiabin@google.com> Add parameters validation on AAudio MMap server

Bug: 63384314
Test: adb shell /system/bin/write_sine -m -pl -n4 \
&& adb shell /system/bin/write_sine -pl -n4 \
&& adb shell /system/bin/write_sine_callback -m -pl -n4 \
&& adb shell /system/bin/write_sine_callback -pl -n4 \
&& adb shell /system/bin/CtsNativeMediaAAudioTestCases32

Change-Id: I462f956e8fc25eb583699af6389e0f299243eafb
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
cb4dae216758d9e9a28050f65097f1ce905c03e9 02-Jul-2017 Eric Laurent <elaurent@google.com> aaudio: indicate client UID and PID to audio flinger

Implement correct indication of client UID and PID to audio flinger
for AAudio MMAP streams in both exclusive mode and shared mode.
- Add start/stop client methods on MMAP streams used only when the MMAP
stream is in AAudio service and carries a mix of shared streams.
- Add "In Service'" indication from "client" side to AAudioServiceStreamMMAP
so that the behavior can be adapted accordingly.
- Modify logic on audio flinger side with regard to mmap tracks and
audio HAL stream activity:
- use same audio session for all clients on a same stream to match
audio policy logic to share same direct output stream for clients on same
session. This is also more consistent with current volume and effect
handling as all MMAP clients sharing the same output stream have the
same volume and use case.
- start/stop the HAL when the stream is started/stopped with the initial client
handle (returned when the stream is opened) but do not create a track.
AAudioService implementation will always send an additional start command before
first client starts and a stop command after last client stops,
in both shared and exclusive mode.
- start/stop a track only if the start/stop stream command is received
with a handle different from the initial handle.
- Allow more than one active client from the same UID on a MMAP input in audio policy.

Bug: 62950008
Test: verify playback and capture in mmap mode
Merged-In: I86151bbb637ff172d2fd5f813056eab13a7bcd3c
Change-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
b336e89d57d51b80b8bf5f0a0caf7667209ffb1d 06-Jul-2017 Phil Burk <philburk@google.com> aaudio: MMAP input not implement pause flush

They should return AAUDIO_ERROR_UNIMPLEMENTED
just like the legacy streams.

Bug: 63351465
Test: CTS test_aaudio.cpp testPauseAndFlushNotSupported
Change-Id: I42c8d45517bf0d808e648287579b9fb0c0cb3ae0
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
d51329eca85112973867a6bf0d210e82d6d1c411 01-Jul-2017 Eric Laurent <elaurent@google.com> aaudio: enable exclusive MMAP mode support

Allow exclusive MMAP mode only if the HAL indicates
that the FD returned for shared memory buffer can be shared
with any application.

NOTE: the way the HAL indicates this is temporary until the audio
HAL is modified in next HIDL release.

Bug: 37167970
Test: check playback and capture in mmap exclusive and shared mode
Change-Id: I09c1461b2f99532ded2ef9d36d483b82096fda68
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
2ac035fdc577a843d07f385dbe3c4e2229d886dc 23-Jun-2017 Phil Burk <philburk@google.com> aaudio: prevent apps from affecting a stream they do not own

Bug: 62951648
Test: need test that hacks a stream handle from another user ID
Change-Id: I342f2a4cf9350c949f346b3c867d7f9e035c76b4
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
ec89b2e2f8c84a7d3936db1a888034f4a4b0df16 21-Jun-2017 Phil Burk <philburk@google.com> aaudio: fix CTS for MMAP mode

Improve calculation of buffer capacity based on requested minimum.
Adjust timing of start() to reduce underflows.
Track ServiceEndpoints based on requested deviceId.
Fix getFramesRead() and flush() behavior.
Fix timeouts due to ClockModel lateness bug.
Misc cleanup.

Bug: 37755299
Test: test_aaudio.cpp
Change-Id: I637c16e87fbe14b6f28c60aeea0b9dfed965ecd0
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
a2f296e06bee54cc83130a17f136cab1006f55d5 22-Jun-2017 Eric Laurent <elaurent@google.com> aaudio: implement IPlayer for MMAP playback streams

Make AudioStreamInternal derive from PlayerBase to
provide playback and volume control via IPlayer interface.

Bug: 62027849
Test: verify aaudio playback in MMAP mode and registration of aaudio
players in AudioService when active

Change-Id: Ia0878d46637c0a954d8a6259868a2d3bccf19119
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
94e16458f4665d3c167d0e2c905a3f4ec9e7a3e7 06-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "aaudio: reserve some error codes" into oc-dev
17fff38dd9d467bc5fb6cd5b9a6b183951c7750d 16-May-2017 Phil Burk <philburk@google.com> aaudio: reserve some error codes

These codes were unused or redundant.

Bug: 37755198
Test: CTS test_aaudio_misc.cpp
Change-Id: I46797b9fba9406b9c98d4b9aa49f0cacbec332b9
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
37a466ae847cf08fc346e629fe4cf964ad67063f 31-May-2017 Glenn Kasten <gkasten@google.com> Fix copy/paste errors in use of AAUDIO_FORMAT_UNSPECIFIED

Bug: 62222736
Test: builds OK
Change-Id: Iabdac7a3d0893699eb72f85985002535c8f619c7
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
cf5f6d2825d9a8430a291042ca9c6f68e5b666d0 26-May-2017 Phil Burk <philburk@google.com> aaudio: reduce logspam, improve critical logs

This will make AAudio less annoying and easier to debug.

Bug: 62080950
Test: look in logcat
Change-Id: Id7ae26a212f83ea8be0b285bd20334eb48607be8
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
87c9f646a94259d7c321c3b3d5947fa1778f5ac2 17-May-2017 Phil Burk <philburk@google.com> aaudio: lower latency using MMAP capture

MMAP can be enabled by setting system properties.

Bug: 38267780
Test: input_monitor.cpp
Change-Id: I5e86fd1d9baef4fe59837ccbca7971acbb54d8b5
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
4485d41bcded0eceec7ec97d50aa2b0e702397a0 10-May-2017 Phil Burk <philburk@google.com> aaudio: fix output bugs and improve input performance, add loopback test

Support AAUDIO_PERFORMANCE_MODE in AudioStreamRecord.cpp
Fix race condition when closing a stream, which this test revealed.
Fix setting of negative notificationFrames for non-FAST tracks.

Convert test from old Oboe API to AAudio.
Add command line options to the test.
Add systrace calls.

Bug: 34093052
Bug: 38313432
Bug: 38178592
Test: loopback.cpp
Change-Id: Ib6d2995cdd3ed432937fde2f26c5394013f0d6e0
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
5204d315c6c6f53188f8d1414dd1b55b6c90142b 05-May-2017 Phil Burk <philburk@google.com> aaudio: validate audio data format

Also lots of minor cleanup
Fix underscores in some headers
Refactor getTimestamp()

Bug: 34127069
Bug: 38227780
Test: CTS test_aaudio.cpp
Change-Id: I6fdb50eb00a41688df871018ced91d5f5f055f8a
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
4c5129b410884ec0400cbe65fce56d0ade12d11b 29-Apr-2017 Phil Burk <philburk@google.com> aaudio: Fix getFramesWritten() for callback mode.

Plus other small fixes for CTS and cleanup

Bug: 37910599
Test: test_aaudio.cpp
Change-Id: I65a23daf99e9de857d3ce9fd12e9f11c614e298e
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
e572f469de5dca1078a79d3d80e5b04f96ae7505 20-Apr-2017 Phil Burk <philburk@google.com> aaudio: apply volume in the MMAP data path

The volume scaling is in AudioStreamInternal and not the mixer
because we will need volume scaling in EXCLUSIVE mode too.

Bug: 37518243
Test: play a tone using NativeOboe app then press volume keys
Change-Id: Ibbac9770ea4493f8ade64681be86f109a92803cd
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
71f35bb687476694882a617ba4a810a0bb56fe23 14-Apr-2017 Phil Burk <philburk@google.com> aaudio: fix SHARED MMAP mode in server plus other bugs

Fixed some buffer miscalculations, and some NPEs in the close() code.
Added debugging and some general cleanup.
Fixed data conversion.
Fixed start/pause/flush in server.
Added reference counting in server for endpoints.
Programs can now be ran more than once.
General code cleanup.
Reconnect with service if server dies.
Move stop() logic into server for better synchronization.
Add sleep to prevent race condition when closing an MMAP stream.

Bug: 33398120
Test: two write_sine_callback.cpp can be run simultaneously
Change-Id: Ibb006215a498868c222228d675ff961d7e0bf514
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
b4d43af4b3edd1b2c913d735221358077d39cdfe 13-Apr-2017 Phil Burk <philburk@google.com> Merge "libaaudio: fix error passing for errorCallback" into oc-dev
c0c70e3c7dd10bc2c0caffcab1f3f5fb406b35fb 09-Feb-2017 Phil Burk <philburk@google.com> AAudioService: integrated with audioserver

Call the MmapStreamInterface from AudioFlinger instead of the FakeHAL.
Fix sending timestamps from the thread.
Add shared mode in service.

Bug: 35260844
Bug: 33398120
Test: CTS test_aaudio.cpp
Change-Id: I44c7e4ecae4ce205611b6b73a72e0ae8a5b243e5
Signed-off-by: Phil Burk <philburk@google.com>
(cherry picked from commit 7f6b40d78b1976c78d1300e8a51fda36eeb50c5d)
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
677d7916c0fa6f0955aae8f3ef921383e285beb2 07-Apr-2017 Phil Burk <philburk@google.com> libaaudio: fix error passing for errorCallback

Bug: 36489240
Test: CTS test_aaudio.cpp
Change-Id: I67ece88c5a17392d102b20c3899e7fec15e3d6b4
Signed-off-by: Phil Burk <philburk@google.com>
(cherry picked from commit 65658fa931455a52847bec80e76c9799c3790604)
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3 28-Mar-2017 Phil Burk <philburk@google.com> libaaudio: implement callback

Use AudioTrack and AudioRecord TRANSFER_CALLBACK.
Add FixedBlockAdapter to provide fixed size callbacks.

Bug: 36489240
Test: CTS test_aaudio.cpp
Change-Id: Id2034dd640f878dd27fee6b43ad80a01c627dfd6
Signed-off-by: Phil Burk <philburk@google.com>
(cherry picked from commit c8f372c22a0e4c667a3ad3c1ec569032574c1d64)
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
3316d5e6d375a4f09c681205e9094d30a0bfc4a2 15-Feb-2017 Phil Burk <philburk@google.com> libaaudio: changes for API council

Removed typedefs like aaudio_sample_rate_t
Removed use of handles. Just pass back opaque pointers.
Simplified gettersi in Stream.
Removed getters from Builder.
Update libaaudio.map.txt

Test: CTS test_aaudio.cpp
Change-Id: I63eaec3e5a8ecc516cfc1f950f4b4f54df1bd518
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp
f53e613b3dedab3ecada2c93d8846233c442d129 09-Feb-2017 Phil Burk <philburk@google.com> libaaudio: change name from liboboe

Bug: 34749573
Test: CTS test_aaudio.cpp
Change-Id: I7e2b621488047f0798ca6f2fc00d2b5fed2bf015
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/av/media/libaaudio/src/client/AudioStreamInternal.cpp