• Home
  • History
  • Annotate
  • only in /frameworks/av/media/libaaudio/src/core/
History log of /frameworks/av/media/libaaudio/src/core/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
udioStream.cpp
udioStream.h
udioStreamBuilder.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
udioStream.cpp
udioStream.h
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
udioStream.cpp
udioStream.h
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
udioStream.cpp
udioStream.h
6a784e71ca122347789faa73367877d41831592f 24-Jan-2018 Kevin Rocard <krocard@google.com> Merge changes from topic "audio-hal-v4-tmp"

* changes:
Audio V4: Split system and vendor Audio.h
Audio V4: Use the framework audio.h instead of the HAL's
eaef9b9c7b3c6c4d4435ce5e32e9fe952a2f69fe 18-Jan-2018 Phil Burk <philburk@google.com> aaudio: use AAUDIO_INPUT_PRESET_VOICE_RECOGNITION

Change default for InputPreset to restore low latency.

Bug: 72049948
Test: see bug, adb shell aaudio_loopback -te -pl -n1 -x -X
Change-Id: Ie987c2e65d9338353ec6e23598442394d2a2e4a9
udioStream.cpp
udioStream.h
6d7582e9ad858301b3eeff7b187af6c34808cb7e 12-Jan-2018 Kevin Rocard <krocard@google.com> Audio V4: Use the framework audio.h instead of the HAL's

Using the legacy HAL interface was not needed. Only the system audio
header types are used by aaudio.

Test: compile
Bug: 38184704
Change-Id: I321635ef79732eb20864d1349e6a13911ece8da5
Signed-off-by: Kevin Rocard <krocard@google.com>
AudioStreamParameters.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
AudioAudio.cpp
AudioStreamParameters.cpp
AudioStreamParameters.h
udioStream.cpp
udioStream.h
udioStreamBuilder.cpp
3cf4c180de878a877b1de82404ba3c5537770fd6 18-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "aaudio: fix USAGE, INPUT_PRESET and CONTENT_TYPE"
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
udioStream.cpp
udioStream.h
559788963268a0bc1e90e29c423ac78938c96b4a 11-Jan-2018 Phil Burk <philburk@google.com> aaudio: name threads for easier debugging

Name them "AAudio_#" where # is an increasing index.
For example AAudio_1, AAudio_2, etc.

Also name threads that are used for sending timestamps.

Test: run write_sine_callback then dump the threads for that process.
Change-Id: Ibd8c7be1109f6c15a4601ef154038cdce2e65e11
udioStream.cpp
d4ccc624201d5c74ff6e14db1b68743b41fe795c 21-Dec-2017 Phil Burk <philburk@google.com> aaudio: implement new USAGE, CONTENT_TYPE and INPUT_PRESET

Pass these audio attributes to AudioFlinger.

Bug: 68052449
Bug: 62104146
Test: test_attributes.cpp will be moved to CTS when ready
Change-Id: Ib8804614d95dcf1b85e51ec1f5569892e017a991
AudioAudio.cpp
AudioStreamParameters.cpp
AudioStreamParameters.h
udioStream.cpp
udioStream.h
40cbbae84e5b57098c8cacb8ca4c0ff3ec839d51 16-Dec-2017 Phil Burk <philburk@google.com> aaudio: fix warning for use after free

The compiler was complaining because a pointer was printed after it was
freed. The compiler folks agree this is OK and recommended a technique that
prevents the warning.

Test: any AAudio program, look at log for close
Change-Id: I49c005b48edc4a5dcb5c85da2a9e875befc37206
AudioAudio.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
AudioAudio.cpp
udioStream.cpp
udioStream.h
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
AudioStreamParameters.cpp
udioStream.cpp
udioStreamBuilder.cpp
523b3047af443d0a51141ddabd328d52be5a23b0 13-Sep-2017 Phil Burk <philburk@google.com> aaudio: keep track of streams using strong pointers

Maintain strong pointer to service stream during service calls.
Use simple AAudioStreamTracker instead of complex HandleTracker.

Bug: 65280854
Test: affects all MMAP streams, run all CTS tests, etcetera
Change-Id: I3d2ed8b588ea39c216dacd4dea503b11c33f36f3
AudioAudio.cpp
8a8a9e5d91c8cc110b9916982f4c5242efca33e3 13-Sep-2017 Phil Burk <philburk@google.com> aaudio: cleaned up PlayerBase implementation

Simplify registration. Reduce use of virtual methods.

This CL, plus some CLs in AudioManager, should fix
crashes involving RefBase::decStrong

Bug: 65450109
Test: CTS or "write_sine_callback -m2 -pl"
Change-Id: Ie1decd20f8d44bdefb0faf92e6b74de4f72e86bd
AudioAudio.cpp
udioStream.cpp
udioStream.h
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
AudioAudio.cpp
udioStream.cpp
udioStream.h
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
AudioStreamParameters.cpp
AudioStreamParameters.h
udioStreamBuilder.cpp
udioStreamBuilder.h
d75cc634761653810e3b0d5aea951b5a59f47f83 08-Aug-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "aaudio: restore _get and _setSamplesPerFrame()" into oc-mr1-dev
e74240d0f0eb1a5becc3b182c997e18a7559d756 04-Aug-2017 Phil Burk <philburk@google.com> aaudio: restore _get and _setSamplesPerFrame()

This restores some deprecated functions that some released apps
were calling. Restored:

AAudioStreamBuilder_setSamplesPerFrame()
AAudioStream_getSamplesPerFrame()

Bug: 64346279
Test: put GStomper in AAudio mode using its Settings on Marlin
Change-Id: I2749a06cded9fc3863d233713efda2674cf7f5e3
AudioAudio.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
AudioAudio.cpp
udioStream.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
udioStream.cpp
udioStream.h
f17f49051945a3d289a47ef6572b31c687adcebf 21-Jul-2017 Phil Burk <philburk@google.com> Merge "aaudio: reduce glitching by improving sleep timing" into oc-dr1-dev
am: d937a5cf85

Change-Id: Ic8e3f97c88ec2197a6d66a48eb091d8eea166891
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
udioStream.cpp
7e5292c9262f4183b534be945bd76d7c342f20aa 17-Jul-2017 jiabin <jiabin@google.com> Merge "Add parameters validation on AAudio MMap server" into oc-dr1-dev am: 30bf42ca72
am: 1198d86028

Change-Id: I129cded669966e6e1adb3b79e3b76b4299d64bba
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
AudioStreamParameters.cpp
AudioStreamParameters.h
udioStreamBuilder.cpp
udioStreamBuilder.h
c25cb7709303bc9f88902185374728df3571a966 06-Jul-2017 Phil Burk <philburk@google.com> Merge "aaudio: MMAP input not implement pause flush" into oc-dr1-dev am: 014a56b57a
am: 983bd9792c

Change-Id: Id42d514e3ea583ea340e828288052a85fac8381f
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
udioStream.h
04169afbaeafca6cf3bba5ee2b0f5bd3654188e9 06-Jul-2017 Phil Burk <philburk@google.com> Merge "aaudio: only use MMAP for low latency perf mode" into oc-dr1-dev am: 27e9c66294
am: 7cb5619220

Change-Id: Idfdd35ec698e0f24865b4e8d0fa8083394f495fe
ede7c963ceb253f213754a3512fad58eec5c4aea 05-Jul-2017 Phil Burk <philburk@google.com> aaudio: only use MMAP for low latency perf mode

This is a quick workaround that just disables MMAP mode unless
performance mode is LOW_LATENCY.

Bug: 63176221
Test: use write_sine and change performance mode
Change-Id: Ic17ad45366d51d86fb4801c84ada4f6f82b5ff98
udioStreamBuilder.cpp
139de794544d60cc57c373e49129151f6e445c23 30-Jun-2017 Phil Burk <philburk@google.com> Merge "aaudio: prevent apps from affecting a stream they do not own" into oc-dr1-dev am: 1fa57e8d31
am: ea0a0fb6d9

Change-Id: Ibd60e8fb62affab0305afd62610b6f5668c72222
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
udioStream.h
5af194cf79f280034430f2f65b02a89f261dbbc8 24-Jun-2017 Phil Burk <philburk@google.com> aaudio: fix CTS for MMAP mode am: ec89b2e2f8
am: ceebeee0d3

Change-Id: I0a97c00a6bbc05070ca737be946cc327b66ea4f3
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
AudioAudio.cpp
udioStream.cpp
udioStream.h
5d8ae93b768311bc499089d6baaa8e70769fb8c4 23-Jun-2017 Phil Burk <philburk@google.com> Merge "aaudio: add validation to improve security" into oc-dr1-dev am: 366393ba0a
am: 69a2635ff3

Change-Id: I5f2d8ce01debf6cd0691148e1d67c1d89bbc521b
3401bcdd98c5a43a14701a0e7299a2318c6863c9 27-May-2017 Phil Burk <philburk@google.com> aaudio: add validation to improve security

Check for obviously bad values to prevent common exploits.

Bug: 38205290
Test: CTS test_aaudio.cpp
Change-Id: Ic650dbfbcbb9b87a89aae080ee72910ab2c9409b
Signed-off-by: Phil Burk <philburk@google.com>
udioStream.cpp
udioStreamBuilder.cpp
udioStreamBuilder.h
2829428ff26be1e1a33d161a54e3f988a1299db9 15-Jun-2017 Glenn Kasten <gkasten@google.com> Remove obsolete get/setSamplesPerFrame

AAudioStream_getSamplesPerFrame
AAudioStream_setSamplesPerFrame

Test: builds OK
Change-Id: If87fa17e37f2cb847f8258682ee9bd38246e981d
AudioAudio.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>
AudioAudio.cpp
udioStream.cpp
be9c9d5a8168a4818c0296ac30dbd6120aac0727 01-Jun-2017 Glenn Kasten <gkasten@google.com> Merge "Replace AAUDIO_DEVICE_UNSPECIFIED by AAUDIO_UNSPECIFIED" into oc-dev
5f510d2e1d9976f45d1d1733f20ec32e56bd2239 31-May-2017 Glenn Kasten <gkasten@google.com> Replace AAUDIO_DEVICE_UNSPECIFIED by AAUDIO_UNSPECIFIED

Bug: 62220981
Test: builds OK (they have the same value 0)
Change-Id: Iba710f252df939c15da6cf17b9086a8e9ced25cc
udioStreamBuilder.h
897011a94008cb9ab73f8db397bbd87c57f5cf27 31-May-2017 Glenn Kasten <gkasten@google.com> Merge "aaudio: remove deprecated aaudio_audio_format_t" into oc-dev
d04aeea00bdaa999821e1a15c437ea648bd07195 23-May-2017 Phil Burk <philburk@google.com> aaudio: AAudio_setMMapPolicy()

Controls whether MMAP data path is used NEVER, AUTO or ALWAYS
For testing only. To improve code coverage in CTS.

Bug: 38268547
Test: write_sine.cpp
Change-Id: Iad97876fb6f1d0c653262161b7b5519d83d16ac5
Signed-off-by: Phil Burk <philburk@google.com>
AudioAudio.cpp
udioStreamBuilder.cpp
9dca9824da74d50be02bc81f539cc77b7bde678a 26-May-2017 Phil Burk <philburk@google.com> aaudio: remove deprecated aaudio_audio_format_t

Should be using aaudio_format_t

Bug: 62141619
Test: compile and run CTS test_aaudio.cpp
Change-Id: Ibbba2769dfd8bcd9c108d87c19fe1fad2ba43df1
Signed-off-by: Phil Burk <philburk@google.com>
AudioAudio.cpp
udioStream.h
udioStreamBuilder.h
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>
AudioAudio.cpp
udioStream.cpp
udioStreamBuilder.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>
AudioAudio.cpp
udioStream.cpp
udioStream.h
udioStreamBuilder.cpp
127999e84646ab51e3f17147e9cd291f557c658a 18-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "AAudio: Set minimum allowed sampling rate to 8000 Hz" into oc-dev
9b3f8ef290bd5ad392f5eba8a0f0a8ddd331b54f 16-May-2017 Phil Burk <philburk@google.com> aaudio: fix leak of AAudioBinderClient

Made it a Singleton that gets reused.

Bug: 37992613
Test: write_sine_callback.cpp
Change-Id: I63c045bd71d3bc1fc84f5fd4d7a6159fa5184c1c
Signed-off-by: Phil Burk <philburk@google.com>
udioStreamBuilder.cpp
42ed0988847a3bf3db6c3fa696c9dd4768715b1f 17-May-2017 Mikhail Naganov <mnaganov@google.com> AAudio: Set minimum allowed sampling rate to 8000 Hz

Bug: 37755299
Test: nativetest/CtsNativeMediaAAudioTestCases*
Change-Id: I275c5718d12d285c1613df776946857dded32381
udioStream.cpp
c8f69a08a409fd163873d725c63f8d60259ae21d 12-May-2017 Phil Burk <philburk@google.com> aaudio: control MMAP mode using system properties

To facilitate testing of MMAP mode.

Bug: 38268547
Test: set properties, see framesPerBurst in write_sine_callback.cpp
Change-Id: I6e15c563215017f6a5020d89ac312ff8331afc4f
Signed-off-by: Phil Burk <philburk@google.com>
udioStreamBuilder.cpp
dfd68662b07caacc0e7cd7a20d437b90b5ab3ae3 12-May-2017 Eric Laurent <elaurent@google.com> AAudio: fix exclusive mode

Regression introduced by commit e2fbb59e.

Bug: 38247512
Test: verify exclusive mode with write_sine_ndk app.
Change-Id: Id85b922d994fba33561489ca06d4a8fd6e97c416
udioStreamBuilder.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>
udioStream.cpp
e2fbb59e729f6c3cade3b531f6f6411417ccbf40 02-May-2017 Phil Burk <philburk@google.com> aaudio: add setPerformanceMode()

The performance mode affects the latency and the implementation of the
data path.

MMAP is still disabled for now.

Bug: 37867485
Test: write_sine.cpp
Change-Id: I9bf5d5d13d1047d5ace69bd5ebdce7b6d65c14e7
Signed-off-by: Phil Burk <philburk@google.com>
AudioAudio.cpp
udioStream.cpp
udioStream.h
udioStreamBuilder.cpp
udioStreamBuilder.h
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>
AudioAudio.cpp
udioStream.cpp
udioStream.h
udioStreamBuilder.cpp
20523edbf2f597c53b90e76694331c807e559515 25-Apr-2017 Phil Burk <philburk@google.com> aaudio: change samplesPerFrame() to channelCount()

Both functions provided for now.
Will remove deprecated function in later CL.

Bug: 37646784
Test: write_sine.cpp and write_sine_callback.cpp
Change-Id: I1241aafa206112c526d6ca250ba5209489e1a46e
Signed-off-by: Phil Burk <philburk@google.com>
AudioAudio.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>
AudioAudio.cpp
udioStream.cpp
udioStream.h
udioStreamBuilder.cpp
udioStreamBuilder.h
13f2ff3d61ab45277d1e46de55d2978fa031020d 20-Apr-2017 Phil Burk <philburk@google.com> Merge "aaudio: disable EXCLUSIVE mode" into oc-dev
5bab576c2f03c02e8ae6020127ba962d96172e8a 20-Apr-2017 Phil Burk <philburk@google.com> aaudio: disable EXCLUSIVE mode

It does not work because of SELinux restrictions.

Bug: 37167970
Test: we are disabling a feature because it does not work
Change-Id: If97ae72bde50dbc7808eb0768de25e6fbb388429
Signed-off-by: Phil Burk <philburk@google.com>
udioStreamBuilder.cpp
5fbc2ddb4e340d7af02d146ff2e7c3c4da28d535 19-Apr-2017 Phil Burk <philburk@google.com> aaudio: remove old createThread API

This was replaced by the callback API.

Bug: 36489240
Test: the code was removed and cannot be tested
Change-Id: Ieb5cee80d1123221d02146c8c9342c4e0d649575
Signed-off-by: Phil Burk <philburk@google.com>
AudioAudio.cpp
udioStream.h
a4eb0d86a29be2763be5fac51727858d5095794b 13-Apr-2017 Phil Burk <philburk@google.com> aaudio: merge contents of AAudioDefinitions.h into AAudio.h

As requested by native API council.

Bug: 30210002
Bug: 33398120
Test: CTS test_aaudio
Change-Id: I5ea7c53d09469221263d84cf6f82082e67c2523b
Signed-off-by: Phil Burk <philburk@google.com>
AudioAudio.cpp
udioStreamBuilder.cpp
udioStreamBuilder.h
7f66c9c20718e6e888f96cb7a83cf7e3ad105793 13-Apr-2017 Phil Burk <philburk@google.com> Merge "libaaudio: implement missing AAudioStream_getFramesPerDataCallback()" 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)
AudioAudio.cpp
udioStream.cpp
udioStream.h
udioStreamBuilder.cpp
f2d8342c2e975f85766f3d967f8f5713b2d87892 11-Apr-2017 Phil Burk <philburk@google.com> libaaudio: implement missing AAudioStream_getFramesPerDataCallback()

Bug: 36489240
Test: test_aaudio_callback.cpp
Change-Id: I09af88ea44b5100160da48cdc3a7b888fb898914
Signed-off-by: Phil Burk <philburk@google.com>
AudioAudio.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)
AudioAudio.cpp
udioStream.cpp
udioStream.h
udioStreamBuilder.cpp
udioStreamBuilder.h
35e80f34a9649752fceafa53e2094cd8eda50a0a 28-Mar-2017 Phil Burk <philburk@google.com> libaaudio: implement getTimestamp for legacy path

Fix: 36659408
Test: CTS test_aaudio.cpp
Signed-off-by: Phil Burk <philburk@google.com>

Change-Id: Ic73e69a3747b2daa1df5757650f897a58511e571
udioStream.h
e2155ef0ec6742db7a3128c4ef4fb96e02828d1b 24-Feb-2017 Phil Burk <philburk@google.com> libaaudio: API changes requested by council

Change AAudioStream to not be a pointer. Now it is just a struct.
Change AAudioStreamBuilder to not be a pointer. Now it is just a struct.
Change aaudio_audio_thread_proc_t to be a pointer to a proc.
Fix prototype of AAudioStream_getDeviceId().

Bug: 30210002
Test: CTS test_aaudio.cpp
Change-Id: Ia5a277a53ac64e93d75de4f196aa167998522c03
Signed-off-by: Phil Burk <philburk@google.com>
AudioAudio.cpp
udioStream.cpp
udioStream.h
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>
AudioAudio.cpp
udioStream.cpp
udioStream.h
udioStreamBuilder.h
c35f3ae6f361a346b6d823601c69dd704afe644a 14-Feb-2017 Phil Burk <philburk@google.com> libaaudio: remove LEGACY sharing mode

It was a poor API. Choosing the AudioTrack path is not a sharing mode.
Instead we decide internally, which path to choose based on sharing
mode and availability.

Test: CTS nativemedia/aaudio/test_aaudio.cpp
Change-Id: I8b6246b95cea807dcd0fc82e08a16f68f17b47f3
Signed-off-by: Phil Burk <philburk@google.com>
udioStream.h
udioStreamBuilder.cpp
udioStreamBuilder.h
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>
AudioAudio.cpp
udioStream.cpp
udioStream.h
udioStreamBuilder.cpp
udioStreamBuilder.h
EADME.md
ersionExperiment.txt