Loading services/oboeservice/AAudioClientTracker.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -110,7 +110,7 @@ private: private: private: mutable std::mutex mLock; mutable std::mutex mLock; const pid_t mProcessId; const pid_t mProcessId; std::set<android::sp<AAudioServiceStreamBase>> mStreams; std::set<android::sp<AAudioServiceStreamBase>> mStreams GUARDED_BY(mLock); // hold onto binder to receive death notifications // hold onto binder to receive death notifications android::sp<IBinder> mBinder; android::sp<IBinder> mBinder; bool mExclusiveEnabled = true; bool mExclusiveEnabled = true; Loading services/oboeservice/AAudioEndpointManager.h +17 −9 Original line number Original line Diff line number Diff line Loading @@ -58,18 +58,25 @@ public: * @param sharingMode * @param sharingMode * @return endpoint or null * @return endpoint or null */ */ android::sp<AAudioServiceEndpoint> openEndpoint(android::AAudioService &audioService, android::sp<AAudioServiceEndpoint> openEndpoint( const aaudio::AAudioStreamRequest &request); android::AAudioService &audioService, const aaudio::AAudioStreamRequest &request) EXCLUDES(mExclusiveLock, mSharedLock); void closeEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); void closeEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint) EXCLUDES(mExclusiveLock, mSharedLock);; private: private: android::sp<AAudioServiceEndpoint> openExclusiveEndpoint(android::AAudioService &aaudioService, android::sp<AAudioServiceEndpoint> openExclusiveEndpoint( android::AAudioService &aaudioService, const aaudio::AAudioStreamRequest &request, const aaudio::AAudioStreamRequest &request, sp<AAudioServiceEndpoint> &endpointToSteal); sp<AAudioServiceEndpoint> &endpointToSteal) EXCLUDES(mExclusiveLock); android::sp<AAudioServiceEndpoint> openSharedEndpoint(android::AAudioService &aaudioService, android::sp<AAudioServiceEndpoint> openSharedEndpoint( const aaudio::AAudioStreamRequest &request); android::AAudioService &aaudioService, const aaudio::AAudioStreamRequest &request) EXCLUDES(mSharedLock); android::sp<AAudioServiceEndpoint> findExclusiveEndpoint_l( android::sp<AAudioServiceEndpoint> findExclusiveEndpoint_l( const AAudioStreamConfiguration& configuration) const AAudioStreamConfiguration& configuration) Loading @@ -77,7 +84,8 @@ private: android::sp<AAudioServiceEndpointShared> findSharedEndpoint_l( android::sp<AAudioServiceEndpointShared> findSharedEndpoint_l( const AAudioStreamConfiguration& configuration) const AAudioStreamConfiguration& configuration) REQUIRES(mSharedLock); REQUIRES(mSharedLock) EXCLUDES(mExclusiveLock); void closeExclusiveEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); void closeExclusiveEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); void closeSharedEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); void closeSharedEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); Loading services/oboeservice/AAudioServiceEndpoint.h +8 −4 Original line number Original line Diff line number Diff line Loading @@ -55,9 +55,11 @@ public: */ */ virtual void close() = 0; virtual void close() = 0; aaudio_result_t registerStream(const android::sp<AAudioServiceStreamBase>& stream); aaudio_result_t registerStream(const android::sp<AAudioServiceStreamBase>& stream) EXCLUDES(mLockStreams); aaudio_result_t unregisterStream(const android::sp<AAudioServiceStreamBase>& stream); aaudio_result_t unregisterStream(const android::sp<AAudioServiceStreamBase>& stream) EXCLUDES(mLockStreams); virtual aaudio_result_t startStream(android::sp<AAudioServiceStreamBase> stream, virtual aaudio_result_t startStream(android::sp<AAudioServiceStreamBase> stream, audio_port_handle_t *clientHandle) = 0; audio_port_handle_t *clientHandle) = 0; Loading Loading @@ -148,9 +150,11 @@ protected: * @param portHandle * @param portHandle * @return return true if a stream with the given portHandle is registered * @return return true if a stream with the given portHandle is registered */ */ bool isStreamRegistered(audio_port_handle_t portHandle); bool isStreamRegistered(audio_port_handle_t portHandle) EXCLUDES(mLockStreams); std::vector<android::sp<AAudioServiceStreamBase>> disconnectRegisteredStreams(); std::vector<android::sp<AAudioServiceStreamBase>> disconnectRegisteredStreams() EXCLUDES(mLockStreams); mutable std::mutex mLockStreams; mutable std::mutex mLockStreams; std::vector<android::sp<AAudioServiceStreamBase>> mRegisteredStreams std::vector<android::sp<AAudioServiceStreamBase>> mRegisteredStreams Loading services/oboeservice/AAudioServiceEndpointMMAP.h +0 −1 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,6 @@ #include <atomic> #include <atomic> #include <functional> #include <functional> #include <mutex> #include <vector> #include <vector> #include "client/AudioStreamInternal.h" #include "client/AudioStreamInternal.h" Loading services/oboeservice/AAudioServiceEndpointPlay.h +0 −1 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,6 @@ #include <atomic> #include <atomic> #include <functional> #include <functional> #include <mutex> #include <vector> #include <vector> #include "client/AudioStreamInternal.h" #include "client/AudioStreamInternal.h" Loading Loading
services/oboeservice/AAudioClientTracker.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -110,7 +110,7 @@ private: private: private: mutable std::mutex mLock; mutable std::mutex mLock; const pid_t mProcessId; const pid_t mProcessId; std::set<android::sp<AAudioServiceStreamBase>> mStreams; std::set<android::sp<AAudioServiceStreamBase>> mStreams GUARDED_BY(mLock); // hold onto binder to receive death notifications // hold onto binder to receive death notifications android::sp<IBinder> mBinder; android::sp<IBinder> mBinder; bool mExclusiveEnabled = true; bool mExclusiveEnabled = true; Loading
services/oboeservice/AAudioEndpointManager.h +17 −9 Original line number Original line Diff line number Diff line Loading @@ -58,18 +58,25 @@ public: * @param sharingMode * @param sharingMode * @return endpoint or null * @return endpoint or null */ */ android::sp<AAudioServiceEndpoint> openEndpoint(android::AAudioService &audioService, android::sp<AAudioServiceEndpoint> openEndpoint( const aaudio::AAudioStreamRequest &request); android::AAudioService &audioService, const aaudio::AAudioStreamRequest &request) EXCLUDES(mExclusiveLock, mSharedLock); void closeEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); void closeEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint) EXCLUDES(mExclusiveLock, mSharedLock);; private: private: android::sp<AAudioServiceEndpoint> openExclusiveEndpoint(android::AAudioService &aaudioService, android::sp<AAudioServiceEndpoint> openExclusiveEndpoint( android::AAudioService &aaudioService, const aaudio::AAudioStreamRequest &request, const aaudio::AAudioStreamRequest &request, sp<AAudioServiceEndpoint> &endpointToSteal); sp<AAudioServiceEndpoint> &endpointToSteal) EXCLUDES(mExclusiveLock); android::sp<AAudioServiceEndpoint> openSharedEndpoint(android::AAudioService &aaudioService, android::sp<AAudioServiceEndpoint> openSharedEndpoint( const aaudio::AAudioStreamRequest &request); android::AAudioService &aaudioService, const aaudio::AAudioStreamRequest &request) EXCLUDES(mSharedLock); android::sp<AAudioServiceEndpoint> findExclusiveEndpoint_l( android::sp<AAudioServiceEndpoint> findExclusiveEndpoint_l( const AAudioStreamConfiguration& configuration) const AAudioStreamConfiguration& configuration) Loading @@ -77,7 +84,8 @@ private: android::sp<AAudioServiceEndpointShared> findSharedEndpoint_l( android::sp<AAudioServiceEndpointShared> findSharedEndpoint_l( const AAudioStreamConfiguration& configuration) const AAudioStreamConfiguration& configuration) REQUIRES(mSharedLock); REQUIRES(mSharedLock) EXCLUDES(mExclusiveLock); void closeExclusiveEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); void closeExclusiveEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); void closeSharedEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); void closeSharedEndpoint(const android::sp<AAudioServiceEndpoint>& serviceEndpoint); Loading
services/oboeservice/AAudioServiceEndpoint.h +8 −4 Original line number Original line Diff line number Diff line Loading @@ -55,9 +55,11 @@ public: */ */ virtual void close() = 0; virtual void close() = 0; aaudio_result_t registerStream(const android::sp<AAudioServiceStreamBase>& stream); aaudio_result_t registerStream(const android::sp<AAudioServiceStreamBase>& stream) EXCLUDES(mLockStreams); aaudio_result_t unregisterStream(const android::sp<AAudioServiceStreamBase>& stream); aaudio_result_t unregisterStream(const android::sp<AAudioServiceStreamBase>& stream) EXCLUDES(mLockStreams); virtual aaudio_result_t startStream(android::sp<AAudioServiceStreamBase> stream, virtual aaudio_result_t startStream(android::sp<AAudioServiceStreamBase> stream, audio_port_handle_t *clientHandle) = 0; audio_port_handle_t *clientHandle) = 0; Loading Loading @@ -148,9 +150,11 @@ protected: * @param portHandle * @param portHandle * @return return true if a stream with the given portHandle is registered * @return return true if a stream with the given portHandle is registered */ */ bool isStreamRegistered(audio_port_handle_t portHandle); bool isStreamRegistered(audio_port_handle_t portHandle) EXCLUDES(mLockStreams); std::vector<android::sp<AAudioServiceStreamBase>> disconnectRegisteredStreams(); std::vector<android::sp<AAudioServiceStreamBase>> disconnectRegisteredStreams() EXCLUDES(mLockStreams); mutable std::mutex mLockStreams; mutable std::mutex mLockStreams; std::vector<android::sp<AAudioServiceStreamBase>> mRegisteredStreams std::vector<android::sp<AAudioServiceStreamBase>> mRegisteredStreams Loading
services/oboeservice/AAudioServiceEndpointMMAP.h +0 −1 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,6 @@ #include <atomic> #include <atomic> #include <functional> #include <functional> #include <mutex> #include <vector> #include <vector> #include "client/AudioStreamInternal.h" #include "client/AudioStreamInternal.h" Loading
services/oboeservice/AAudioServiceEndpointPlay.h +0 −1 Original line number Original line Diff line number Diff line Loading @@ -19,7 +19,6 @@ #include <atomic> #include <atomic> #include <functional> #include <functional> #include <mutex> #include <vector> #include <vector> #include "client/AudioStreamInternal.h" #include "client/AudioStreamInternal.h" Loading