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

Commit 4a98cd8d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "bufferpool2.0: add invalidation observer"

parents c3876b66 d491f1f6
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -114,7 +114,10 @@ sp<ConnectionDeathRecipient> Accessor::getConnectionDeathRecipient() {
}

// Methods from ::android::hardware::media::bufferpool::V2_0::IAccessor follow.
Return<void> Accessor::connect(connect_cb _hidl_cb) {
Return<void> Accessor::connect(
        const sp<::android::hardware::media::bufferpool::V2_0::IObserver>& observer,
        connect_cb _hidl_cb) {
    (void)observer;
    sp<Connection> connection;
    ConnectionId connectionId;
    const StatusDescriptor* fmqDesc;
+2 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#define ANDROID_HARDWARE_MEDIA_BUFFERPOOL_V2_0_ACCESSOR_H

#include <android/hardware/media/bufferpool/2.0/IAccessor.h>
#include <android/hardware/media/bufferpool/2.0/IObserver.h>
#include <bufferpool/BufferPoolTypes.h>
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
@@ -79,7 +80,7 @@ private:
 */
struct Accessor : public IAccessor {
    // Methods from ::android::hardware::media::bufferpool::V2_0::IAccessor follow.
    Return<void> connect(connect_cb _hidl_cb) override;
    Return<void> connect(const sp<::android::hardware::media::bufferpool::V2_0::IObserver>& observer, connect_cb _hidl_cb) override;

    /**
     * Creates a buffer pool accessor which uses the specified allocator.
+3 −0
Original line number Diff line number Diff line
@@ -399,6 +399,9 @@ void Accessor::Impl::BufferPool::processStatusMessages() {
            case BufferStatus::TRANSFER_ERROR:
                ret = handleTransferResult(message);
                break;
            case BufferStatus::INVALIDATION_ACK:
                // TODO
                break;
        }
        if (ret == false) {
            ALOGW("buffer status message processing failure - message : %d connection : %lld",
+2 −0
Original line number Diff line number Diff line
@@ -262,11 +262,13 @@ BufferPoolClient::Impl::Impl(const sp<IAccessor> &accessor)
    : mLocal(false), mValid(false), mAccessor(accessor), mSeqId(0),
      mLastEvictCacheUs(getTimestampNow()) {
    bool valid = false;
    sp<IObserver> observer; // TODO
    sp<IConnection>& outConnection = mRemoteConnection;
    ConnectionId& id = mConnectionId;
    std::unique_ptr<BufferStatusChannel>& outChannel =
            mReleasing.mStatusChannel;
    Return<void> transResult = accessor->connect(
            observer,
            [&valid, &outConnection, &id, &outChannel]
            (ResultStatus status, sp<IConnection> connection,
             ConnectionId connectionId, const StatusDescriptor& desc,
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <memory>
#include <android/hardware/media/bufferpool/2.0/IAccessor.h>
#include <android/hardware/media/bufferpool/2.0/IConnection.h>
#include <android/hardware/media/bufferpool/2.0/IObserver.h>
#include <bufferpool/BufferPoolTypes.h>
#include <cutils/native_handle.h>
#include "Accessor.h"
@@ -33,6 +34,7 @@ namespace implementation {

using ::android::hardware::media::bufferpool::V2_0::IAccessor;
using ::android::hardware::media::bufferpool::V2_0::IConnection;
using ::android::hardware::media::bufferpool::V2_0::IObserver;
using ::android::hardware::media::bufferpool::V2_0::ResultStatus;
using ::android::sp;