mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 22:04:26 +00:00
audio: Fix the comment about threading of DriverInterface::init am: 3755134720 am: 1d0e427c27
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2597780 Change-Id: Ice3646ac54c4adf579345ece0fb89edb85b6a8b8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -155,20 +155,19 @@ class StreamContext {
|
||||
struct DriverInterface {
|
||||
using CreateInstance = std::function<DriverInterface*(const StreamContext&)>;
|
||||
virtual ~DriverInterface() = default;
|
||||
// This function is called once, on the main thread, before starting the worker thread.
|
||||
virtual ::android::status_t init() = 0;
|
||||
// This function is called from Binder pool thread. It must be done in a thread-safe manner
|
||||
// if this method and other methods in this interface share data.
|
||||
virtual ::android::status_t setConnectedDevices(
|
||||
const std::vector<::aidl::android::media::audio::common::AudioDevice>&
|
||||
connectedDevices) = 0;
|
||||
// All the functions below are called on the worker thread.
|
||||
// All the methods below are called on the worker thread.
|
||||
virtual ::android::status_t init() = 0; // This function is only called once.
|
||||
virtual ::android::status_t drain(StreamDescriptor::DrainMode mode) = 0;
|
||||
virtual ::android::status_t flush() = 0;
|
||||
virtual ::android::status_t pause() = 0;
|
||||
virtual ::android::status_t transfer(void* buffer, size_t frameCount, size_t* actualFrameCount,
|
||||
int32_t* latencyMs) = 0;
|
||||
virtual ::android::status_t standby() = 0;
|
||||
// The method below is called from a thread of the Binder pool. Access to data shared with other
|
||||
// methods of this interface must be done in a thread-safe manner.
|
||||
virtual ::android::status_t setConnectedDevices(
|
||||
const std::vector<::aidl::android::media::audio::common::AudioDevice>&
|
||||
connectedDevices) = 0;
|
||||
};
|
||||
|
||||
class StreamWorkerCommonLogic : public ::android::hardware::audio::common::StreamLogic {
|
||||
|
||||
@@ -24,15 +24,16 @@ class DriverStub : public DriverInterface {
|
||||
public:
|
||||
DriverStub(const StreamContext& context, bool isInput);
|
||||
::android::status_t init() override;
|
||||
::android::status_t setConnectedDevices(
|
||||
const std::vector<::aidl::android::media::audio::common::AudioDevice>& connectedDevices)
|
||||
override;
|
||||
::android::status_t drain(StreamDescriptor::DrainMode) override;
|
||||
::android::status_t flush() override;
|
||||
::android::status_t pause() override;
|
||||
::android::status_t transfer(void* buffer, size_t frameCount, size_t* actualFrameCount,
|
||||
int32_t* latencyMs) override;
|
||||
::android::status_t standby() override;
|
||||
// Note: called on a different thread.
|
||||
::android::status_t setConnectedDevices(
|
||||
const std::vector<::aidl::android::media::audio::common::AudioDevice>& connectedDevices)
|
||||
override;
|
||||
|
||||
private:
|
||||
const size_t mFrameSizeBytes;
|
||||
|
||||
@@ -34,15 +34,16 @@ class DriverUsb : public DriverInterface {
|
||||
public:
|
||||
DriverUsb(const StreamContext& context, bool isInput);
|
||||
::android::status_t init() override;
|
||||
::android::status_t setConnectedDevices(
|
||||
const std::vector<::aidl::android::media::audio::common::AudioDevice>& connectedDevices)
|
||||
override;
|
||||
::android::status_t drain(StreamDescriptor::DrainMode) override;
|
||||
::android::status_t flush() override;
|
||||
::android::status_t pause() override;
|
||||
::android::status_t transfer(void* buffer, size_t frameCount, size_t* actualFrameCount,
|
||||
int32_t* latencyMs) override;
|
||||
::android::status_t standby() override;
|
||||
// Note: called on a different thread.
|
||||
::android::status_t setConnectedDevices(
|
||||
const std::vector<::aidl::android::media::audio::common::AudioDevice>& connectedDevices)
|
||||
override;
|
||||
|
||||
private:
|
||||
::android::status_t exitStandby();
|
||||
|
||||
Reference in New Issue
Block a user