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

Commit 89f751b9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "aidlpersistentsurface: enable submitting a null buffer" into main am: 6f9bf138

parents 458346ed 6f9bf138
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -68,10 +68,15 @@ C2AidlNode::C2AidlNode(const std::shared_ptr<Codec2Client::Component> &comp)
}

::ndk::ScopedAStatus C2AidlNode::submitBuffer(
        int32_t buffer, const ::aidl::android::hardware::HardwareBuffer& hBuffer,
        int32_t buffer,
        const std::optional<::aidl::android::hardware::HardwareBuffer>& hBuffer,
        int32_t flags, int64_t timestamp, const ::ndk::ScopedFileDescriptor& fence) {
    sp<GraphicBuffer> gBuf;
    AHardwareBuffer *ahwb = hBuffer.get();
    AHardwareBuffer *ahwb = nullptr;
    if (hBuffer.has_value()) {
        ahwb = hBuffer.value().get();
    }

    if (ahwb) {
        gBuf = AHardwareBuffer_to_GraphicBuffer(ahwb);
    }
+1 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ public:

    ::ndk::ScopedAStatus submitBuffer(
            int32_t buffer,
            const ::aidl::android::hardware::HardwareBuffer& hBuffer,
            const std::optional<::aidl::android::hardware::HardwareBuffer>& hBuffer,
            int32_t flags,
            int64_t timestampUs,
            const ::ndk::ScopedFileDescriptor& fence) override;
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ interface IAidlNode {
    void setInputSurface(IAidlBufferSource bufferSource);
    void submitBuffer(
            int buffer,
            in HardwareBuffer hBuffer,
            in @nullable HardwareBuffer hBuffer,
            int flags,
            long timestampUs,
            in @nullable ParcelFileDescriptor fence);
+11 −6
Original line number Diff line number Diff line
@@ -51,19 +51,24 @@ struct WAidlGraphicBufferSource::WAidlNodeWrapper : public IAidlNodeWrapper {
            int32_t bufferId, uint32_t flags,
            const sp<GraphicBuffer> &buffer,
            int64_t timestamp, int fenceFd) override {
        AHardwareBuffer *ahwBuffer = nullptr;
        ::aidl::android::hardware::HardwareBuffer hBuffer;
        ::ndk::ScopedFileDescriptor fence(fenceFd);
        if (buffer.get()) {
            ahwBuffer = AHardwareBuffer_from_GraphicBuffer(buffer.get());
            ::aidl::android::hardware::HardwareBuffer hBuffer;
            AHardwareBuffer *ahwBuffer = AHardwareBuffer_from_GraphicBuffer(buffer.get());
            AHardwareBuffer_acquire(ahwBuffer);
            hBuffer.reset(ahwBuffer);
        }

        ::ndk::ScopedFileDescriptor fence(fenceFd);
            return fromAidlStatus(mNode->submitBuffer(
                    bufferId,
                    std::move(hBuffer),
                    flags,
                    timestamp,
                    fence));
        }

        return fromAidlStatus(mNode->submitBuffer(
              bufferId,
              hBuffer,
              {},
              flags,
              timestamp,
              fence));