Loading services/oboeservice/AAudioServiceEndpointCapture.cpp +4 −8 Original line number Diff line number Diff line Loading @@ -40,17 +40,12 @@ AAudioServiceEndpointCapture::AAudioServiceEndpointCapture(AAudioService &audioS mStreamInternal = &mStreamInternalCapture; } AAudioServiceEndpointCapture::~AAudioServiceEndpointCapture() { delete mDistributionBuffer; } aaudio_result_t AAudioServiceEndpointCapture::open(const aaudio::AAudioStreamRequest &request) { aaudio_result_t result = AAudioServiceEndpointShared::open(request); if (result == AAUDIO_OK) { delete mDistributionBuffer; int distributionBufferSizeBytes = getStreamInternal()->getFramesPerBurst() * getStreamInternal()->getBytesPerFrame(); mDistributionBuffer = new uint8_t[distributionBufferSizeBytes]; mDistributionBuffer = std::make_unique<uint8_t[]>(distributionBufferSizeBytes); } return result; } Loading @@ -67,7 +62,8 @@ void *AAudioServiceEndpointCapture::callbackLoop() { int64_t mmapFramesRead = getStreamInternal()->getFramesRead(); // Read audio data from stream using a blocking read. result = getStreamInternal()->read(mDistributionBuffer, getFramesPerBurst(), timeoutNanos); result = getStreamInternal()->read(mDistributionBuffer.get(), getFramesPerBurst(), timeoutNanos); if (result == AAUDIO_ERROR_DISCONNECTED) { disconnectRegisteredStreams(); break; Loading Loading @@ -107,7 +103,7 @@ void *AAudioServiceEndpointCapture::callbackLoop() { getFramesPerBurst()) { streamShared->incrementXRunCount(); } else { fifo->write(mDistributionBuffer, getFramesPerBurst()); fifo->write(mDistributionBuffer.get(), getFramesPerBurst()); } clientFramesWritten = fifo->getWriteCounter(); } Loading services/oboeservice/AAudioServiceEndpointCapture.h +4 −3 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ #ifndef AAUDIO_SERVICE_ENDPOINT_CAPTURE_H #define AAUDIO_SERVICE_ENDPOINT_CAPTURE_H #include <memory> #include "client/AudioStreamInternal.h" #include "client/AudioStreamInternalCapture.h" Loading @@ -28,16 +30,15 @@ namespace aaudio { class AAudioServiceEndpointCapture : public AAudioServiceEndpointShared { public: explicit AAudioServiceEndpointCapture(android::AAudioService &audioService); virtual ~AAudioServiceEndpointCapture(); virtual ~AAudioServiceEndpointCapture() = default; aaudio_result_t open(const aaudio::AAudioStreamRequest &request) override; void *callbackLoop() override; private: AudioStreamInternalCapture mStreamInternalCapture; uint8_t *mDistributionBuffer = nullptr; std::unique_ptr<uint8_t[]> mDistributionBuffer; }; } /* namespace aaudio */ Loading Loading
services/oboeservice/AAudioServiceEndpointCapture.cpp +4 −8 Original line number Diff line number Diff line Loading @@ -40,17 +40,12 @@ AAudioServiceEndpointCapture::AAudioServiceEndpointCapture(AAudioService &audioS mStreamInternal = &mStreamInternalCapture; } AAudioServiceEndpointCapture::~AAudioServiceEndpointCapture() { delete mDistributionBuffer; } aaudio_result_t AAudioServiceEndpointCapture::open(const aaudio::AAudioStreamRequest &request) { aaudio_result_t result = AAudioServiceEndpointShared::open(request); if (result == AAUDIO_OK) { delete mDistributionBuffer; int distributionBufferSizeBytes = getStreamInternal()->getFramesPerBurst() * getStreamInternal()->getBytesPerFrame(); mDistributionBuffer = new uint8_t[distributionBufferSizeBytes]; mDistributionBuffer = std::make_unique<uint8_t[]>(distributionBufferSizeBytes); } return result; } Loading @@ -67,7 +62,8 @@ void *AAudioServiceEndpointCapture::callbackLoop() { int64_t mmapFramesRead = getStreamInternal()->getFramesRead(); // Read audio data from stream using a blocking read. result = getStreamInternal()->read(mDistributionBuffer, getFramesPerBurst(), timeoutNanos); result = getStreamInternal()->read(mDistributionBuffer.get(), getFramesPerBurst(), timeoutNanos); if (result == AAUDIO_ERROR_DISCONNECTED) { disconnectRegisteredStreams(); break; Loading Loading @@ -107,7 +103,7 @@ void *AAudioServiceEndpointCapture::callbackLoop() { getFramesPerBurst()) { streamShared->incrementXRunCount(); } else { fifo->write(mDistributionBuffer, getFramesPerBurst()); fifo->write(mDistributionBuffer.get(), getFramesPerBurst()); } clientFramesWritten = fifo->getWriteCounter(); } Loading
services/oboeservice/AAudioServiceEndpointCapture.h +4 −3 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ #ifndef AAUDIO_SERVICE_ENDPOINT_CAPTURE_H #define AAUDIO_SERVICE_ENDPOINT_CAPTURE_H #include <memory> #include "client/AudioStreamInternal.h" #include "client/AudioStreamInternalCapture.h" Loading @@ -28,16 +30,15 @@ namespace aaudio { class AAudioServiceEndpointCapture : public AAudioServiceEndpointShared { public: explicit AAudioServiceEndpointCapture(android::AAudioService &audioService); virtual ~AAudioServiceEndpointCapture(); virtual ~AAudioServiceEndpointCapture() = default; aaudio_result_t open(const aaudio::AAudioStreamRequest &request) override; void *callbackLoop() override; private: AudioStreamInternalCapture mStreamInternalCapture; uint8_t *mDistributionBuffer = nullptr; std::unique_ptr<uint8_t[]> mDistributionBuffer; }; } /* namespace aaudio */ Loading