Loading libs/vr/libbufferhub/consumer_buffer.cpp +0 −5 Original line number Diff line number Diff line Loading @@ -174,10 +174,5 @@ int ConsumerBuffer::ReleaseAsync(const DvrNativeBufferMetadata* meta, int ConsumerBuffer::Discard() { return Release(LocalHandle()); } int ConsumerBuffer::SetIgnore(bool ignore) { return ReturnStatusOrError( InvokeRemoteMethod<BufferHubRPC::ConsumerSetIgnore>(ignore)); } } // namespace dvr } // namespace android libs/vr/libbufferhub/include/private/dvr/bufferhub_rpc.h +0 −2 Original line number Diff line number Diff line Loading @@ -314,7 +314,6 @@ struct BufferHubRPC { kOpProducerGain, kOpConsumerAcquire, kOpConsumerRelease, kOpConsumerSetIgnore, kOpProducerBufferDetach, kOpConsumerBufferDetach, kOpDetachedBufferCreate, Loading Loading @@ -348,7 +347,6 @@ struct BufferHubRPC { PDX_REMOTE_METHOD(ConsumerAcquire, kOpConsumerAcquire, LocalFence(Void)); PDX_REMOTE_METHOD(ConsumerRelease, kOpConsumerRelease, void(LocalFence release_fence)); PDX_REMOTE_METHOD(ConsumerSetIgnore, kOpConsumerSetIgnore, void(bool ignore)); PDX_REMOTE_METHOD(ProducerBufferDetach, kOpProducerBufferDetach, LocalChannelHandle(Void)); Loading libs/vr/libbufferhub/include/private/dvr/consumer_buffer.h +0 −7 Original line number Diff line number Diff line Loading @@ -76,13 +76,6 @@ class ConsumerBuffer : public pdx::ClientBase<ConsumerBuffer, BufferHubBase> { // negative unix error code. int Discard(); // When set, this consumer is no longer notified when this buffer is // available. The system behaves as if Discard() is immediately called // whenever the buffer is posted. If ignore is set to true while a buffer is // pending, it will act as if Discard() was also called. // This returns zero or a negative unix error code. int SetIgnore(bool ignore); private: friend BASE; Loading services/vr/bufferhubd/consumer_channel.cpp +8 −40 Original line number Diff line number Diff line Loading @@ -90,11 +90,6 @@ bool ConsumerChannel::HandleMessage(Message& message) { *this, &ConsumerChannel::OnConsumerRelease, message); return true; case BufferHubRPC::ConsumerSetIgnore::Opcode: DispatchRemoteMethod<BufferHubRPC::ConsumerSetIgnore>( *this, &ConsumerChannel::OnConsumerSetIgnore, message); return true; default: return false; } Loading @@ -120,9 +115,8 @@ Status<LocalFence> ConsumerChannel::OnConsumerAcquire(Message& message) { if (acquired_ || released_) { ALOGE( "ConsumerChannel::OnConsumerAcquire: Acquire when not posted: " "ignored=%d acquired=%d released=%d channel_id=%d buffer_id=%d", ignored_, acquired_, released_, message.GetChannelId(), producer->buffer_id()); "acquired=%d released=%d channel_id=%d buffer_id=%d", acquired_, released_, message.GetChannelId(), producer->buffer_id()); return ErrorStatus(EBUSY); } else { auto status = producer->OnConsumerAcquire(message); Loading @@ -144,9 +138,8 @@ Status<void> ConsumerChannel::OnConsumerRelease(Message& message, if (!acquired_ || released_) { ALOGE( "ConsumerChannel::OnConsumerRelease: Release when not acquired: " "ignored=%d acquired=%d released=%d channel_id=%d buffer_id=%d", ignored_, acquired_, released_, message.GetChannelId(), producer->buffer_id()); "acquired=%d released=%d channel_id=%d buffer_id=%d", acquired_, released_, message.GetChannelId(), producer->buffer_id()); return ErrorStatus(EBUSY); } else { auto status = Loading @@ -160,37 +153,12 @@ Status<void> ConsumerChannel::OnConsumerRelease(Message& message, } } Status<void> ConsumerChannel::OnConsumerSetIgnore(Message&, bool ignored) { ATRACE_NAME("ConsumerChannel::OnConsumerSetIgnore"); auto producer = GetProducer(); if (!producer) return ErrorStatus(EPIPE); ignored_ = ignored; if (ignored_ && acquired_) { // Update the producer if ignore is set after the consumer acquires the // buffer. ClearAvailable(); producer->OnConsumerIgnored(); acquired_ = false; released_ = true; } return {}; } bool ConsumerChannel::OnProducerPosted() { if (ignored_) { acquired_ = false; released_ = true; return false; } else { acquired_ = false; released_ = false; SignalAvailable(); return true; } } void ConsumerChannel::OnProducerClosed() { producer_.reset(); Loading services/vr/bufferhubd/include/private/dvr/consumer_channel.h +0 −2 Original line number Diff line number Diff line Loading @@ -37,12 +37,10 @@ class ConsumerChannel : public BufferHubChannel { pdx::Status<LocalFence> OnConsumerAcquire(Message& message); pdx::Status<void> OnConsumerRelease(Message& message, LocalFence release_fence); pdx::Status<void> OnConsumerSetIgnore(Message& message, bool ignore); uint64_t consumer_state_bit_{0}; bool acquired_{false}; bool released_{true}; bool ignored_{false}; // True if we are ignoring events. std::weak_ptr<Channel> producer_; ConsumerChannel(const ConsumerChannel&) = delete; Loading Loading
libs/vr/libbufferhub/consumer_buffer.cpp +0 −5 Original line number Diff line number Diff line Loading @@ -174,10 +174,5 @@ int ConsumerBuffer::ReleaseAsync(const DvrNativeBufferMetadata* meta, int ConsumerBuffer::Discard() { return Release(LocalHandle()); } int ConsumerBuffer::SetIgnore(bool ignore) { return ReturnStatusOrError( InvokeRemoteMethod<BufferHubRPC::ConsumerSetIgnore>(ignore)); } } // namespace dvr } // namespace android
libs/vr/libbufferhub/include/private/dvr/bufferhub_rpc.h +0 −2 Original line number Diff line number Diff line Loading @@ -314,7 +314,6 @@ struct BufferHubRPC { kOpProducerGain, kOpConsumerAcquire, kOpConsumerRelease, kOpConsumerSetIgnore, kOpProducerBufferDetach, kOpConsumerBufferDetach, kOpDetachedBufferCreate, Loading Loading @@ -348,7 +347,6 @@ struct BufferHubRPC { PDX_REMOTE_METHOD(ConsumerAcquire, kOpConsumerAcquire, LocalFence(Void)); PDX_REMOTE_METHOD(ConsumerRelease, kOpConsumerRelease, void(LocalFence release_fence)); PDX_REMOTE_METHOD(ConsumerSetIgnore, kOpConsumerSetIgnore, void(bool ignore)); PDX_REMOTE_METHOD(ProducerBufferDetach, kOpProducerBufferDetach, LocalChannelHandle(Void)); Loading
libs/vr/libbufferhub/include/private/dvr/consumer_buffer.h +0 −7 Original line number Diff line number Diff line Loading @@ -76,13 +76,6 @@ class ConsumerBuffer : public pdx::ClientBase<ConsumerBuffer, BufferHubBase> { // negative unix error code. int Discard(); // When set, this consumer is no longer notified when this buffer is // available. The system behaves as if Discard() is immediately called // whenever the buffer is posted. If ignore is set to true while a buffer is // pending, it will act as if Discard() was also called. // This returns zero or a negative unix error code. int SetIgnore(bool ignore); private: friend BASE; Loading
services/vr/bufferhubd/consumer_channel.cpp +8 −40 Original line number Diff line number Diff line Loading @@ -90,11 +90,6 @@ bool ConsumerChannel::HandleMessage(Message& message) { *this, &ConsumerChannel::OnConsumerRelease, message); return true; case BufferHubRPC::ConsumerSetIgnore::Opcode: DispatchRemoteMethod<BufferHubRPC::ConsumerSetIgnore>( *this, &ConsumerChannel::OnConsumerSetIgnore, message); return true; default: return false; } Loading @@ -120,9 +115,8 @@ Status<LocalFence> ConsumerChannel::OnConsumerAcquire(Message& message) { if (acquired_ || released_) { ALOGE( "ConsumerChannel::OnConsumerAcquire: Acquire when not posted: " "ignored=%d acquired=%d released=%d channel_id=%d buffer_id=%d", ignored_, acquired_, released_, message.GetChannelId(), producer->buffer_id()); "acquired=%d released=%d channel_id=%d buffer_id=%d", acquired_, released_, message.GetChannelId(), producer->buffer_id()); return ErrorStatus(EBUSY); } else { auto status = producer->OnConsumerAcquire(message); Loading @@ -144,9 +138,8 @@ Status<void> ConsumerChannel::OnConsumerRelease(Message& message, if (!acquired_ || released_) { ALOGE( "ConsumerChannel::OnConsumerRelease: Release when not acquired: " "ignored=%d acquired=%d released=%d channel_id=%d buffer_id=%d", ignored_, acquired_, released_, message.GetChannelId(), producer->buffer_id()); "acquired=%d released=%d channel_id=%d buffer_id=%d", acquired_, released_, message.GetChannelId(), producer->buffer_id()); return ErrorStatus(EBUSY); } else { auto status = Loading @@ -160,37 +153,12 @@ Status<void> ConsumerChannel::OnConsumerRelease(Message& message, } } Status<void> ConsumerChannel::OnConsumerSetIgnore(Message&, bool ignored) { ATRACE_NAME("ConsumerChannel::OnConsumerSetIgnore"); auto producer = GetProducer(); if (!producer) return ErrorStatus(EPIPE); ignored_ = ignored; if (ignored_ && acquired_) { // Update the producer if ignore is set after the consumer acquires the // buffer. ClearAvailable(); producer->OnConsumerIgnored(); acquired_ = false; released_ = true; } return {}; } bool ConsumerChannel::OnProducerPosted() { if (ignored_) { acquired_ = false; released_ = true; return false; } else { acquired_ = false; released_ = false; SignalAvailable(); return true; } } void ConsumerChannel::OnProducerClosed() { producer_.reset(); Loading
services/vr/bufferhubd/include/private/dvr/consumer_channel.h +0 −2 Original line number Diff line number Diff line Loading @@ -37,12 +37,10 @@ class ConsumerChannel : public BufferHubChannel { pdx::Status<LocalFence> OnConsumerAcquire(Message& message); pdx::Status<void> OnConsumerRelease(Message& message, LocalFence release_fence); pdx::Status<void> OnConsumerSetIgnore(Message& message, bool ignore); uint64_t consumer_state_bit_{0}; bool acquired_{false}; bool released_{true}; bool ignored_{false}; // True if we are ignoring events. std::weak_ptr<Channel> producer_; ConsumerChannel(const ConsumerChannel&) = delete; Loading