summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Kiryanov <rkir@google.com>2022-06-18 00:27:31 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-06-18 00:27:31 +0000
commite079c567006d75d08d681a73c70b794a98f8d9cf (patch)
tree01955cc853ba3ed6ae71db0fe38809fdf040b52b
parentc218f744b7a161dde5bde8a6aec93ace3829402c (diff)
parent95534d39d3fc5834176f4f42b0f3cd0085c160bf (diff)
downloadgoldfish-e079c567006d75d08d681a73c70b794a98f8d9cf.tar.gz
audio: Revert start/stop calls am: 07939a1257 am: 95534d39d3
Original change: https://googleplex-android-review.googlesource.com/c/device/generic/goldfish/+/18971363 Change-Id: I1ca4ed285b5de8640e2e25629252fa5ec6539237 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--audio/device_port_sink.cpp11
-rw-r--r--audio/device_port_sink.h2
-rw-r--r--audio/device_port_source.cpp11
-rw-r--r--audio/device_port_source.h2
-rw-r--r--audio/stream_in.cpp35
-rw-r--r--audio/stream_out.cpp34
6 files changed, 24 insertions, 71 deletions
diff --git a/audio/device_port_sink.cpp b/audio/device_port_sink.cpp
index 3ef475aa..3936805d 100644
--- a/audio/device_port_sink.cpp
+++ b/audio/device_port_sink.cpp
@@ -75,14 +75,6 @@ struct TinyalsaSink : public DevicePortSink {
mConsumeThread.join();
}
- Result start() override {
- return talsa::pcmStart(mPcm.get()) ? Result::OK : FAILURE(Result::INVALID_STATE);
- }
-
- Result stop() override {
- return talsa::pcmStop(mPcm.get()) ? Result::OK : FAILURE(Result::INVALID_STATE);
- }
-
Result getPresentationPosition(uint64_t &frames, TimeSpec &ts) override {
const AutoMutex lock(mFrameCountersMutex);
@@ -252,9 +244,6 @@ struct NullSink : public DevicePortSink {
, mInitialFrames(frames)
, mFrames(frames) {}
- Result start() override { return Result::OK; }
- Result stop() override { return Result::OK; }
-
Result getPresentationPosition(uint64_t &frames, TimeSpec &ts) override {
const AutoMutex lock(mFrameCountersMutex);
diff --git a/audio/device_port_sink.h b/audio/device_port_sink.h
index b2bd59b1..0276b25a 100644
--- a/audio/device_port_sink.h
+++ b/audio/device_port_sink.h
@@ -31,8 +31,6 @@ using namespace ::android::hardware::audio::CORE_TYPES_CPP_VERSION;
struct DevicePortSink {
virtual ~DevicePortSink() {}
- virtual Result start() = 0;
- virtual Result stop() = 0;
virtual Result getPresentationPosition(uint64_t &frames, TimeSpec &ts) = 0;
virtual size_t write(float volume, size_t bytesToWrite, IReader &) = 0;
diff --git a/audio/device_port_source.cpp b/audio/device_port_source.cpp
index b71c9eba..0d51efd1 100644
--- a/audio/device_port_source.cpp
+++ b/audio/device_port_source.cpp
@@ -76,14 +76,6 @@ struct TinyalsaSource : public DevicePortSource {
mProduceThread.join();
}
- Result start() override {
- return talsa::pcmStart(mPcm.get()) ? Result::OK : FAILURE(Result::INVALID_STATE);
- }
-
- Result stop() override {
- return talsa::pcmStop(mPcm.get()) ? Result::OK : FAILURE(Result::INVALID_STATE);
- }
-
Result getCapturePosition(uint64_t &frames, uint64_t &time) override {
const nsecs_t nowNs = systemTime(SYSTEM_TIME_MONOTONIC);
const uint64_t nowFrames = getCaptureFrames(nowNs);
@@ -236,9 +228,6 @@ template <class G> struct GeneratedSource : public DevicePortSource {
, mNChannels(util::countChannels(cfg.base.channelMask))
, mGenerator(std::move(generator)) {}
- Result start() override { return Result::OK; }
- Result stop() override { return Result::OK; }
-
Result getCapturePosition(uint64_t &frames, uint64_t &time) override {
const nsecs_t nowNs = systemTime(SYSTEM_TIME_MONOTONIC);
const uint64_t nowFrames = getCaptureFrames(nowNs);
diff --git a/audio/device_port_source.h b/audio/device_port_source.h
index 9c05eb78..458ff787 100644
--- a/audio/device_port_source.h
+++ b/audio/device_port_source.h
@@ -31,8 +31,6 @@ using namespace ::android::hardware::audio::CORE_TYPES_CPP_VERSION;
struct DevicePortSource {
virtual ~DevicePortSource() {}
- virtual Result start() = 0;
- virtual Result stop() = 0;
virtual Result getCapturePosition(uint64_t &frames, uint64_t &time) = 0;
virtual size_t read(float volume, size_t bytesToRead, IWriter &) = 0;
diff --git a/audio/stream_in.cpp b/audio/stream_in.cpp
index 7cf0a3bb..7148e52f 100644
--- a/audio/stream_in.cpp
+++ b/audio/stream_in.cpp
@@ -78,13 +78,6 @@ struct ReadThread : public IOThread {
mEfGroup.reset(rawEfGroup);
}
- mSource = DevicePortSource::create(mDataMQ.getQuantumCount(),
- stream->getDeviceAddress(),
- stream->getAudioConfig(),
- stream->getAudioOutputFlags(),
- stream->getFrameCounter());
- LOG_ALWAYS_FATAL_IF(!mSource);
-
mThread = std::thread(&ReadThread::threadLoop, this);
}
@@ -107,14 +100,6 @@ struct ReadThread : public IOThread {
return mTid.get_future();
}
- Result start() {
- return mSource->start();
- }
-
- Result stop() {
- return mSource->stop();
- }
-
void threadLoop() {
util::setThreadPriority(PRIORITY_URGENT_AUDIO);
mTid.set_value(pthread_self());
@@ -128,11 +113,19 @@ struct ReadThread : public IOThread {
}
if (efState & STAND_BY_REQUEST) {
- mSource->stop();
+ mSource.reset();
}
if (efState & (MessageQueueFlagBits::NOT_FULL | 0)) {
- mSource->start();
+ if (!mSource) {
+ mSource = DevicePortSource::create(mDataMQ.getQuantumCount(),
+ mStream->getDeviceAddress(),
+ mStream->getAudioConfig(),
+ mStream->getAudioOutputFlags(),
+ mStream->getFrameCounter());
+ LOG_ALWAYS_FATAL_IF(!mSource);
+ }
+
processCommand();
}
}
@@ -318,15 +311,11 @@ Return<Result> StreamIn::setHwAvSync(uint32_t hwAvSync) {
}
Return<Result> StreamIn::start() {
- return mReadThread
- ? static_cast<ReadThread*>(mReadThread.get())->start()
- : FAILURE(Result::INVALID_STATE);
+ return FAILURE(Result::NOT_SUPPORTED);
}
Return<Result> StreamIn::stop() {
- return mReadThread
- ? static_cast<ReadThread*>(mReadThread.get())->stop()
- : FAILURE(Result::INVALID_STATE);
+ return FAILURE(Result::NOT_SUPPORTED);
}
Return<void> StreamIn::createMmapBuffer(int32_t minSizeFrames,
diff --git a/audio/stream_out.cpp b/audio/stream_out.cpp
index 09fe0139..0c8e518f 100644
--- a/audio/stream_out.cpp
+++ b/audio/stream_out.cpp
@@ -80,13 +80,6 @@ struct WriteThread : public IOThread {
mEfGroup.reset(rawEfGroup);
}
- mSink = DevicePortSink::create(mDataMQ.getQuantumCount(),
- stream->getDeviceAddress(),
- stream->getAudioConfig(),
- stream->getAudioOutputFlags(),
- stream->getFrameCounter());
- LOG_ALWAYS_FATAL_IF(!mSink);
-
mThread = std::thread(&WriteThread::threadLoop, this);
}
@@ -109,13 +102,6 @@ struct WriteThread : public IOThread {
return mTid.get_future();
}
- Result start() {
- return mSink->start();
- }
-
- Result stop() {
- return mSink->stop();
- }
void threadLoop() {
util::setThreadPriority(PRIORITY_URGENT_AUDIO);
@@ -130,11 +116,19 @@ struct WriteThread : public IOThread {
}
if (efState & STAND_BY_REQUEST) {
- mSink->stop();
+ mSink.reset();
}
if (efState & (MessageQueueFlagBits::NOT_EMPTY | 0)) {
- mSink->start();
+ if (!mSink) {
+ mSink = DevicePortSink::create(mDataMQ.getQuantumCount(),
+ mStream->getDeviceAddress(),
+ mStream->getAudioConfig(),
+ mStream->getAudioOutputFlags(),
+ mStream->getFrameCounter());
+ LOG_ALWAYS_FATAL_IF(!mSink);
+ }
+
processCommand();
}
}
@@ -344,15 +338,11 @@ Return<Result> StreamOut::close() {
}
Return<Result> StreamOut::start() {
- return mWriteThread
- ? static_cast<WriteThread*>(mWriteThread.get())->start()
- : FAILURE(Result::INVALID_STATE);
+ return FAILURE(Result::NOT_SUPPORTED);
}
Return<Result> StreamOut::stop() {
- return mWriteThread
- ? static_cast<WriteThread*>(mWriteThread.get())->stop()
- : FAILURE(Result::INVALID_STATE);
+ return FAILURE(Result::NOT_SUPPORTED);
}
Return<void> StreamOut::createMmapBuffer(int32_t minSizeFrames,