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

Commit cd452553 authored by Lajos Molnar's avatar Lajos Molnar Committed by android-build-merger
Browse files

Merge "GraphicBufferSource: remove free codec buffers only when submitted to...

Merge "GraphicBufferSource: remove free codec buffers only when submitted to codec" into oc-dev am: a62c3c31
am: c5f13dcc

Change-Id: I15a570900c9b8def637b5979969b1088390a1a32
parents 00f5e1ab c5f13dcc
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -767,7 +767,6 @@ bool GraphicBufferSource::calculateCodecTimestamp_l(
status_t GraphicBufferSource::submitBuffer_l(const VideoBuffer &item) {
    CHECK(!mFreeCodecBuffers.empty());
    IOMX::buffer_id codecBufferId = *mFreeCodecBuffers.begin();
    mFreeCodecBuffers.erase(mFreeCodecBuffers.begin());

    ALOGV("submitBuffer_l [slot=%d, bufferId=%d]", item.mBuffer->getSlot(), codecBufferId);

@@ -798,6 +797,8 @@ status_t GraphicBufferSource::submitBuffer_l(const VideoBuffer &item) {
        return err;
    }

    mFreeCodecBuffers.erase(mFreeCodecBuffers.begin());

    ssize_t cbix = mSubmittedCodecBuffers.add(codecBufferId, buffer);
    ALOGV("emptyGraphicBuffer succeeded, bufferId=%u@%zd bufhandle=%p",
            codecBufferId, cbix, graphicBuffer->handle);
@@ -816,7 +817,6 @@ void GraphicBufferSource::submitEndOfInputStream_l() {
        return;
    }
    IOMX::buffer_id codecBufferId = *mFreeCodecBuffers.begin();
    mFreeCodecBuffers.erase(mFreeCodecBuffers.begin());

    // We reject any additional incoming graphic buffers. There is no acquired buffer used for EOS
    status_t err = mOMXNode->emptyBuffer(
@@ -824,6 +824,7 @@ void GraphicBufferSource::submitEndOfInputStream_l() {
    if (err != OK) {
        ALOGW("emptyDirectBuffer EOS failed: 0x%x", err);
    } else {
        mFreeCodecBuffers.erase(mFreeCodecBuffers.begin());
        ssize_t cbix = mSubmittedCodecBuffers.add(codecBufferId, nullptr);
        ALOGV("submitEndOfInputStream_l: buffer submitted, bufferId=%u@%zd", codecBufferId, cbix);
        mEndOfStreamSent = true;