Loading media/codec2/sfplugin/CCodecBufferChannel.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -252,7 +252,7 @@ status_t CCodecBufferChannel::queueInputBufferInternal( bool released = input->buffers->releaseBuffer(buffer, nullptr, true); ALOGV("[%s] queueInputBuffer: buffer copied; %sreleased", mName, released ? "" : "not "); buffer.clear(); buffer = copy; } else { ALOGW("[%s] queueInputBuffer: failed to copy a buffer; this may cause input " "buffer starvation on component.", mName); Loading Loading @@ -339,10 +339,10 @@ status_t CCodecBufferChannel::queueInputBufferInternal( } else { Mutexed<Input>::Locked input(mInput); bool released = false; if (buffer) { released = input->buffers->releaseBuffer(buffer, nullptr, true); } else if (copy) { if (copy) { released = input->extraBuffers.releaseSlot(copy, nullptr, true); } else if (buffer) { released = input->buffers->releaseBuffer(buffer, nullptr, true); } ALOGV("[%s] queueInputBuffer: buffer%s %sreleased", mName, (buffer == nullptr) ? "(copy)" : "", released ? "" : "not "); Loading media/codec2/sfplugin/CCodecBuffers.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,7 @@ sp<Codec2Buffer> InputBuffers::cloneAndReleaseBuffer(const sp<MediaCodecBuffer> if (!copy->copy(c2buffer)) { return nullptr; } copy->meta()->extend(buffer->meta()); return copy; } Loading Loading
media/codec2/sfplugin/CCodecBufferChannel.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -252,7 +252,7 @@ status_t CCodecBufferChannel::queueInputBufferInternal( bool released = input->buffers->releaseBuffer(buffer, nullptr, true); ALOGV("[%s] queueInputBuffer: buffer copied; %sreleased", mName, released ? "" : "not "); buffer.clear(); buffer = copy; } else { ALOGW("[%s] queueInputBuffer: failed to copy a buffer; this may cause input " "buffer starvation on component.", mName); Loading Loading @@ -339,10 +339,10 @@ status_t CCodecBufferChannel::queueInputBufferInternal( } else { Mutexed<Input>::Locked input(mInput); bool released = false; if (buffer) { released = input->buffers->releaseBuffer(buffer, nullptr, true); } else if (copy) { if (copy) { released = input->extraBuffers.releaseSlot(copy, nullptr, true); } else if (buffer) { released = input->buffers->releaseBuffer(buffer, nullptr, true); } ALOGV("[%s] queueInputBuffer: buffer%s %sreleased", mName, (buffer == nullptr) ? "(copy)" : "", released ? "" : "not "); Loading
media/codec2/sfplugin/CCodecBuffers.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,7 @@ sp<Codec2Buffer> InputBuffers::cloneAndReleaseBuffer(const sp<MediaCodecBuffer> if (!copy->copy(c2buffer)) { return nullptr; } copy->meta()->extend(buffer->meta()); return copy; } Loading