Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ff6580f authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge "StreamOut: use atomic_sp<> for event callback thread safety"

parents ecad0b48 30874b7a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -698,7 +698,7 @@ Return<Result> StreamOut::setEventCallback(const sp<IStreamOutEventCallback>& ca
// static
int StreamOut::asyncEventCallback(stream_event_callback_type_t event, void* param, void* cookie) {
    StreamOut* self = reinterpret_cast<StreamOut*>(cookie);
    sp<IStreamOutEventCallback> eventCallback = self->mEventCallback;
    sp<IStreamOutEventCallback> eventCallback = self->mEventCallback.load();
    if (eventCallback.get() == nullptr) return 0;
    ALOGV("%s event %d", __func__, event);
    Return<void> result;
+1 −1
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@ struct StreamOut : public IStreamOut {
    const sp<StreamMmap<audio_stream_out_t>> mStreamMmap;
    mediautils::atomic_sp<IStreamOutCallback> mCallback;  // for non-blocking write and drain
#if MAJOR_VERSION >= 6
    sp<IStreamOutEventCallback> mEventCallback;
    mediautils::atomic_sp<IStreamOutEventCallback> mEventCallback;
#endif
    std::unique_ptr<CommandMQ> mCommandMQ;
    std::unique_ptr<DataMQ> mDataMQ;