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

Commit 3d1e0c86 authored by Wonsik Kim's avatar Wonsik Kim Committed by Gerrit Code Review
Browse files

Merge "Fix a race condition in CCodecBufferChannel::requestInitialInputBuffers" into main

parents 32ab3d67 8f67e731
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2052,6 +2052,14 @@ status_t CCodecBufferChannel::prepareInitialInputBuffers(

status_t CCodecBufferChannel::requestInitialInputBuffers(
        std::map<size_t, sp<MediaCodecBuffer>> &&clientInputBuffers) {
    std::optional<QueueGuard> guard;
    if (android::media::codec::provider_->codec_buffer_state_cleanup()) {
        guard.emplace(mSync);
        if (!guard->isRunning()) {
            ALOGD("[%s] skip requestInitialInputBuffers when not running", mName);
            return OK;
        }
    }
    C2StreamBufferTypeSetting::output oStreamFormat(0u);
    C2PrependHeaderModeSetting prepend(PREPEND_HEADER_TO_NONE);
    c2_status_t err = mComponent->query({ &oStreamFormat, &prepend }, {}, C2_DONT_BLOCK, nullptr);