From 4dcc23679e06c84f3fea938ee956a629976ed1ad Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Sun, 26 Nov 2017 23:39:36 -0800 Subject: [PATCH] Move the decoder when creating a PendingFuture --- src/context.cpp | 5 +++-- src/context.h | 15 ++++----------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/context.cpp b/src/context.cpp index 9ed07af..495ba2c 100644 --- a/src/context.cpp +++ b/src/context.cpp @@ -902,12 +902,13 @@ BufferOrExceptT ContextImpl::doCreateBufferAsync(StringView name, VectormBuffer = buffer.get(); - pf->mDecoder = decoder; + pf->mDecoder = std::move(decoder); pf->mFormat = format; pf->mFrames = frames; pf->mPromise = std::move(promise); diff --git a/src/context.h b/src/context.h index 9eb9fc6..2cce347 100644 --- a/src/context.h +++ b/src/context.h @@ -141,20 +141,13 @@ private: SharedPtr mMessage; struct PendingPromise { - BufferImpl *mBuffer{nullptr}; + BufferImpl *mBuffer; SharedPtr mDecoder; - ALenum mFormat{0}; - ALuint mFrames{0}; + ALenum mFormat; + ALuint mFrames; Promise mPromise; - std::atomic mNext{nullptr}; - - PendingPromise() = default; - PendingPromise(BufferImpl *buffer, SharedPtr decoder, ALenum format, ALuint frames, - Promise promise) - : mBuffer(buffer), mDecoder(std::move(decoder)), mFormat(format), mFrames(frames) - , mPromise(std::move(promise)), mNext(nullptr) - { } + std::atomic mNext; }; std::atomic mPendingCurrent{nullptr}; PendingPromise *mPendingTail{nullptr}; -- 2.11.4.GIT