diff options
author | Roman Kiryanov <rkir@google.com> | 2022-06-18 00:27:31 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-06-18 00:27:31 +0000 |
commit | e079c567006d75d08d681a73c70b794a98f8d9cf (patch) | |
tree | 01955cc853ba3ed6ae71db0fe38809fdf040b52b | |
parent | c218f744b7a161dde5bde8a6aec93ace3829402c (diff) | |
parent | 95534d39d3fc5834176f4f42b0f3cd0085c160bf (diff) | |
download | goldfish-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.cpp | 11 | ||||
-rw-r--r-- | audio/device_port_sink.h | 2 | ||||
-rw-r--r-- | audio/device_port_source.cpp | 11 | ||||
-rw-r--r-- | audio/device_port_source.h | 2 | ||||
-rw-r--r-- | audio/stream_in.cpp | 35 | ||||
-rw-r--r-- | audio/stream_out.cpp | 34 |
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, |