History log of /frameworks/av/services/oboeservice/AAudioServiceEndpointCapture.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/services/oboeservice/AAudioServiceEndpointCapture.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/services/oboeservice/AAudioServiceEndpointCapture.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
/frameworks/av/services/oboeservice/AAudioServiceEndpointCapture.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/services/oboeservice/AAudioServiceEndpointCapture.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/services/oboeservice/AAudioServiceEndpointCapture.cpp
a54f1283fdd9adbd64ecca4e14af56aaa0e8c825 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
Change-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c
/frameworks/av/services/oboeservice/AAudioServiceEndpointCapture.cpp
a17ae74e3570a5afa2ece02d2b4090ba7b731bc1 30-Jun-2017 Eric Laurent <elaurent@google.com> aaudio: modify endpoint sharing logic

A new Client stream in shared mode can share an existing endpoint
if it has no preferences or compatible device, sample rate and channel
count requests.

Bug: 62961537
Test: play and capture with AAudio in mmap mode
Change-Id: I38536fb486dfc06f4399f7d02248384583fd3a17
/frameworks/av/services/oboeservice/AAudioServiceEndpointCapture.cpp
11e8d335b1da528ee771b19b63df23ae6fd52f41 24-May-2017 Phil Burk <philburk@google.com> aaudio: close MMAP stream if client dies

Notify client when audio service dies. Clear connection.
Notify AAudio service when client dies. Close client streams.

Use sp<> to track ServiceStreams.

Bug: 38267698
Test: test_no_close.cpp
Change-Id: I5f1699ed3b8b7bd960947c0028a89ca8419ce7a0
/frameworks/av/services/oboeservice/AAudioServiceEndpointCapture.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/services/oboeservice/AAudioServiceEndpointCapture.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/services/oboeservice/AAudioServiceEndpointCapture.cpp