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

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

Merge "MediaCodecSource: Support zero length CSD from encoders" am: 4bdc846f

Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1773665

Change-Id: Idd858ba7003c58fff27c5efcebd2df8afb858ad1
parents 0a25665f 4bdc846f
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -943,10 +943,17 @@ void MediaCodecSource::onMessageReceived(const sp<AMessage> &msg) {

            sp<MediaCodecBuffer> outbuf;
            status_t err = mEncoder->getOutputBuffer(index, &outbuf);
            if (err != OK || outbuf == NULL || outbuf->data() == NULL
                || outbuf->size() == 0) {
            if (err != OK || outbuf == NULL || outbuf->data() == NULL) {
                signalEOS();
                break;
            } else if (outbuf->size() == 0) {
                // Zero length CSD buffers are not treated as an error
                if (flags & MediaCodec::BUFFER_FLAG_CODECCONFIG) {
                    mEncoder->releaseOutputBuffer(index);
                } else {
                    signalEOS();
                }
                break;
            }

            MediaBufferBase *mbuf = new MediaBuffer(outbuf->size());