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

Commit 59f7a604 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 8422005 from 2bfbc46a to tm-release

Change-Id: I7135723c7041e1deb443a857a60356a031cb3a73
parents 64035f3d 2bfbc46a
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@
#include <media/stagefright/foundation/AMessage.h>
#include <media/stagefright/foundation/AUtils.h>
#include <media/stagefright/foundation/hexdump.h>
#include <media/stagefright/MediaCodec.h>
#include <media/stagefright/MediaCodecConstants.h>
#include <media/stagefright/SkipCutBuffer.h>
#include <media/MediaCodecBuffer.h>
@@ -1892,7 +1891,7 @@ bool CCodecBufferChannel::handleWork(

    int32_t flags = 0;
    if (worklet->output.flags & C2FrameData::FLAG_END_OF_STREAM) {
        flags |= MediaCodec::BUFFER_FLAG_EOS;
        flags |= BUFFER_FLAG_END_OF_STREAM;
        ALOGV("[%s] onWorkDone: output EOS", mName);
    }

@@ -1930,7 +1929,7 @@ bool CCodecBufferChannel::handleWork(
        sp<MediaCodecBuffer> outBuffer;
        if (output->buffers && output->buffers->registerCsd(initData, &index, &outBuffer) == OK) {
            outBuffer->meta()->setInt64("timeUs", timestamp.peek());
            outBuffer->meta()->setInt32("flags", MediaCodec::BUFFER_FLAG_CODECCONFIG);
            outBuffer->meta()->setInt32("flags", BUFFER_FLAG_CODEC_CONFIG);
            ALOGV("[%s] onWorkDone: csd index = %zu [%p]", mName, index, outBuffer.get());

            output.unlock();
@@ -1966,7 +1965,7 @@ bool CCodecBufferChannel::handleWork(
            switch (info->coreIndex().coreIndex()) {
                case C2StreamPictureTypeMaskInfo::CORE_INDEX:
                    if (((C2StreamPictureTypeMaskInfo *)info.get())->value & C2Config::SYNC_FRAME) {
                        flags |= MediaCodec::BUFFER_FLAG_SYNCFRAME;
                        flags |= BUFFER_FLAG_KEY_FRAME;
                    }
                    break;
                default:
+6 −5
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@

#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/foundation/MediaDefs.h>
#include <media/stagefright/MediaCodec.h>
#include <media/stagefright/MediaCodecConstants.h>
#include <media/stagefright/SkipCutBuffer.h>
#include <mediadrm/ICrypto.h>
@@ -34,6 +33,8 @@ namespace android {

namespace {

constexpr uint32_t PIXEL_FORMAT_UNKNOWN = 0;

sp<GraphicBlockBuffer> AllocateInputGraphicBuffer(
        const std::shared_ptr<C2BlockPool> &pool,
        const sp<AMessage> &format,
@@ -292,7 +293,7 @@ void OutputBuffers::pushToStash(
        int32_t flags,
        const sp<AMessage>& format,
        const C2WorkOrdinalStruct& ordinal) {
    bool eos = flags & MediaCodec::BUFFER_FLAG_EOS;
    bool eos = flags & BUFFER_FLAG_END_OF_STREAM;
    if (!buffer && eos) {
        // TRICKY: we may be violating ordering of the stash here. Because we
        // don't expect any more emplace() calls after this, the ordering should
@@ -300,7 +301,7 @@ void OutputBuffers::pushToStash(
        mReorderStash.emplace_back(
                buffer, notify, timestamp, flags, format, ordinal);
    } else {
        flags = flags & ~MediaCodec::BUFFER_FLAG_EOS;
        flags = flags & ~BUFFER_FLAG_END_OF_STREAM;
        auto it = mReorderStash.begin();
        for (; it != mReorderStash.end(); ++it) {
            if (less(ordinal, it->ordinal)) {
@@ -311,7 +312,7 @@ void OutputBuffers::pushToStash(
                buffer, notify, timestamp, flags, format, ordinal);
        if (eos) {
            mReorderStash.back().flags =
                mReorderStash.back().flags | MediaCodec::BUFFER_FLAG_EOS;
                mReorderStash.back().flags | BUFFER_FLAG_END_OF_STREAM;
        }
    }
    while (!mReorderStash.empty() && mReorderStash.size() > mDepth) {
@@ -348,7 +349,7 @@ OutputBuffers::BufferAction OutputBuffers::popFromStashAndRegister(

    // Flushing mReorderStash because no other buffers should come after output
    // EOS.
    if (entry.flags & MediaCodec::BUFFER_FLAG_EOS) {
    if (entry.flags & BUFFER_FLAG_END_OF_STREAM) {
        // Flush reorder stash
        setReorderDepth(0);
    }
+1 −1
Original line number Diff line number Diff line
@@ -231,7 +231,7 @@ bool statsd_codec(const std::shared_ptr<const mediametrics::Item>& item,
        sessionId = mediametrics::ValidateId::get()->validateId(sessionId);
        metrics_proto.set_log_session_id(sessionId);
    }
    AStatsEvent_writeString(event, codec.c_str());
    AStatsEvent_writeString(event, sessionId.c_str());

    int32_t channelCount = -1;
    if (item->getInt32("android.media.mediacodec.channelCount", &channelCount)) {