History log of /hardware/interfaces/audio/2.0/default/StreamIn.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
936279e1ffe6bf7e842c46f9a94d98a48dce6754 29-Mar-2017 Mikhail Naganov <mnaganov@google.com> audiohal: Fix UAF of HAL devices in Stream objects

Stream objects used to hold a pointer to underlying HAL device
object which they didn't own. Since destruction of server side
objects is asynchronous, it was possible that a Device object
gets destroyed before Stream objects, making all the HAL device
object pointer to become stale.

Fixed by adding a strong reference to Device objects into Stream
objects.

Bug: 36702804
Change-Id: I3da3611afbb91d6fd6410ac5b8af2a2eebfa6dac
Test: ran Loopback app and HAL VTS tests
(cherry picked from commit 96d3573cda6f76bcbfc277e69d94914a565218d8)
/hardware/interfaces/audio/2.0/default/StreamIn.h
a1db22a3e5b45b3bd3c2edf84c605ce211c89220 07-Feb-2017 Mikhail Naganov <mnaganov@google.com> audiohal: Pass thread identifiers to the client for priority adjustment

HALs are prohibited from using framework binder, and there is
no equivalent scheduling policy service in hwbinder. Thus, in order
to match priorities of FastCapture / Mixer threads with their
counterparts in the HAL, it is needed to request the priority boost
from audioflinger on behalf of the HAL.

Bug: 34131400
Change-Id: I7c8db9d520b4cf272d2896ad875752b109b57ab7
Test: check priority match between audioflinger's and hal's threads
/hardware/interfaces/audio/2.0/default/StreamIn.h
a468fa84d13b085b1808f20f70d22ed9dbe3f3eb 31-Jan-2017 Mikhail Naganov <mnaganov@google.com> audiohal: Make sure audio data transfer related commands go via FMQ

When outputting audio, the framework issues several HAL calls
from the same thread that writes into data FMQ. These calls
also need to be served on the same thread that writes audio data
to HAL. The same thing happens when audio input is commenced.

Add a command FMQ for passing different commands to the HAL thread.
This way, depending on the calling thread, the same call may go
either via hwbinder or via the command queue.

This dramatically reduces jitter in RTT measurements (although
doesn't improve the latency).

Bug: 30222631
Test: scripted RTT app
Change-Id: I04c826e2479d8210fd9c99756241156cda3143b6
/hardware/interfaces/audio/2.0/default/StreamIn.h
b29438ef70549a331d11c0384c53cf1dc6e7f0be 22-Dec-2016 Mikhail Naganov <mnaganov@google.com> audiohal: Re-implement stream read and write using FMQ

Result: no hwbinder calls due read / write session.

Added IStream.close method for explicitly freeing up of resources
consumed by the stream before automatic server objects reaping
gets to it.

Test: make, perform Loopback RTT, check traces
Bug: 30222631
Change-Id: I678559f6ef30026685df787cd2ba7c2ee449ed27
/hardware/interfaces/audio/2.0/default/StreamIn.h
7deb7dad39e58b6e5de812075950adc27cd51d95 16-Dec-2016 Eric Laurent <elaurent@google.com> audio treble HAL: implement methods and structures for stream in MMAP mode

Bug: 33398120
Test: make marlin-eng with ENABLE_TREBLE true
Change-Id: I64f56526c7c775b03191439188545171b565ef31
/hardware/interfaces/audio/2.0/default/StreamIn.h
d6e4f03acf5fa1e76b75e33af7a26f248a92be9a 29-Nov-2016 Steven Moreland <smoreland@google.com> Remove HIDL_GENERATED from things written by hand.

find . -name "*.h" -exec sed -i 's/HIDL_GENERATED_\(.*\)_H_/\U\1_H/g' {}
+

They now match what would be generated by -Lc++-impl. This prevents
confusion over whether or not the files are autogenerated.

Change-Id: I4aa89a39907024aa9525df71ff3715979f431357
Similar commit: https://android-review.googlesource.com/#/c/305996/
Test: pass
/hardware/interfaces/audio/2.0/default/StreamIn.h
70b9a15df00a42b319279d903bf5923564920e3b 18-Nov-2016 Martijn Coenen <maco@google.com> Use newly introduced hidl_handle.

Bug: 32089785
Test: builds
Change-Id: I27c7d3945e1fe390661bf322987011a00fe9b3fe
/hardware/interfaces/audio/2.0/default/StreamIn.h
10548295023bee99108e418499aff09fe578211e 31-Oct-2016 Mikhail Naganov <mnaganov@google.com> Implement audio devices and streams HAL delegating to legacy HAL

Changes made to the .hal definition:

- introduce Effect ID returned by the IEffectsFactory that
needs to be passed to IStream.{add|remove}Effect; otherwise
it's impossible to retrieve the underlying HAL effect handle;

- change "bus address" in DeviceAddress to "string" type;

- fix signature of some methods w.r.t. returning Result;

- remove unused "struct AudioPatch".

Bug: 30222631
Test: make
Change-Id: Icb51729ef57bb2a5b0b78609735e7481bc04f95c
/hardware/interfaces/audio/2.0/default/StreamIn.h