Loading camera/ICameraClient.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -143,6 +143,11 @@ status_t BnCameraClient::onTransact( if (data.dataAvail() > 0) { metadata = new camera_frame_metadata_t; metadata->number_of_faces = data.readInt32(); if (metadata->number_of_faces <= 0 || metadata->number_of_faces > (int32_t)(INT32_MAX / sizeof(camera_face_t))) { ALOGE("%s: Too large face count: %d", __FUNCTION__, metadata->number_of_faces); return BAD_VALUE; } metadata->faces = (camera_face_t *) data.readInplace( sizeof(camera_face_t) * metadata->number_of_faces); } Loading media/TEST_MAPPING 0 → 100644 +32 −0 Original line number Diff line number Diff line { "presubmit": [ { "name": "GtsMediaTestCases", "options" : [ { "include-annotation": "android.platform.test.annotations.Presubmit" }, { "include-filter": "com.google.android.media.gts.WidevineGenericOpsTests" } ] }, { "name": "GtsExoPlayerTestCases", "options" : [ { "include-annotation": "android.platform.test.annotations.SocPresubmit" }, { "include-filter": "com.google.android.exoplayer.gts.DashTest#testWidevine23FpsH264Fixed" } ] } ], "imports": [ { "path": "frameworks/av/drm/mediadrm/plugins" } ] } media/codec2/hidl/1.0/vts/functional/component/VtsHalMediaC2V1_0TargetComponentTest.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -330,7 +330,7 @@ class Codec2ComponentInputTests TEST_P(Codec2ComponentInputTests, InputBufferTest) { description("Tests for different inputs"); uint32_t flags = std::stol(std::get<2>(GetParam())); uint32_t flags = std::stoul(std::get<2>(GetParam())); bool isNullBuffer = !std::get<3>(GetParam()).compare("true"); if (isNullBuffer) ALOGD("Testing for null input buffer with flag : %u", flags); Loading media/codec2/sfplugin/CCodecBufferChannel.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ #include <media/stagefright/MediaCodecConstants.h> #include <media/stagefright/SkipCutBuffer.h> #include <media/MediaCodecBuffer.h> #include <mediadrm/ICrypto.h> #include <system/window.h> #include "CCodecBufferChannel.h" Loading Loading @@ -1084,7 +1085,7 @@ status_t CCodecBufferChannel::start( // TODO: handle this without going into array mode forceArrayMode = true; } else { input->buffers.reset(new GraphicInputBuffers(numInputSlots, mName)); input->buffers.reset(new GraphicInputBuffers(mName)); } } else { if (hasCryptoOrDescrambler()) { Loading Loading @@ -1252,7 +1253,7 @@ status_t CCodecBufferChannel::start( if (outputSurface || !buffersBoundToCodec) { output->buffers.reset(new GraphicOutputBuffers(mName)); } else { output->buffers.reset(new RawGraphicOutputBuffers(numOutputSlots, mName)); output->buffers.reset(new RawGraphicOutputBuffers(mName)); } } else { output->buffers.reset(new LinearOutputBuffers(mName)); Loading media/codec2/sfplugin/CCodecBuffers.cpp +21 −9 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <media/stagefright/foundation/ADebug.h> #include <media/stagefright/MediaCodecConstants.h> #include <media/stagefright/SkipCutBuffer.h> #include <mediadrm/ICrypto.h> #include "CCodecBuffers.h" Loading Loading @@ -121,6 +122,11 @@ sp<Codec2Buffer> InputBuffers::cloneAndReleaseBuffer(const sp<MediaCodecBuffer> // OutputBuffers OutputBuffers::OutputBuffers(const char *componentName, const char *name) : CCodecBuffers(componentName, name) { } OutputBuffers::~OutputBuffers() = default; void OutputBuffers::initSkipCutBuffer( int32_t delay, int32_t padding, int32_t sampleRate, int32_t channelCount) { CHECK(mSkipCutBuffer == nullptr); Loading Loading @@ -171,8 +177,11 @@ void OutputBuffers::setSkipCutBuffer(int32_t skip, int32_t cut) { // LocalBufferPool std::shared_ptr<LocalBufferPool> LocalBufferPool::Create(size_t poolCapacity) { return std::shared_ptr<LocalBufferPool>(new LocalBufferPool(poolCapacity)); constexpr size_t kInitialPoolCapacity = kMaxLinearBufferSize; constexpr size_t kMaxPoolCapacity = kMaxLinearBufferSize * 32; std::shared_ptr<LocalBufferPool> LocalBufferPool::Create() { return std::shared_ptr<LocalBufferPool>(new LocalBufferPool(kInitialPoolCapacity)); } sp<ABuffer> LocalBufferPool::newBuffer(size_t capacity) { Loading @@ -192,6 +201,11 @@ sp<ABuffer> LocalBufferPool::newBuffer(size_t capacity) { mUsedSize -= mPool.back().capacity(); mPool.pop_back(); } while (mUsedSize + capacity > mPoolCapacity && mPoolCapacity * 2 <= kMaxPoolCapacity) { ALOGD("Increasing local buffer pool capacity from %zu to %zu", mPoolCapacity, mPoolCapacity * 2); mPoolCapacity *= 2; } if (mUsedSize + capacity > mPoolCapacity) { ALOGD("mUsedSize = %zu, capacity = %zu, mPoolCapacity = %zu", mUsedSize, capacity, mPoolCapacity); Loading Loading @@ -777,11 +791,10 @@ sp<Codec2Buffer> GraphicMetadataInputBuffers::createNewBuffer() { // GraphicInputBuffers GraphicInputBuffers::GraphicInputBuffers( size_t numInputSlots, const char *componentName, const char *name) const char *componentName, const char *name) : InputBuffers(componentName, name), mImpl(mName), mLocalBufferPool(LocalBufferPool::Create( kMaxLinearBufferSize * numInputSlots)) { } mLocalBufferPool(LocalBufferPool::Create()) { } bool GraphicInputBuffers::requestNewBuffer(size_t *index, sp<MediaCodecBuffer> *buffer) { sp<Codec2Buffer> newBuffer = createNewBuffer(); Loading Loading @@ -942,7 +955,7 @@ void OutputBuffersArray::realloc(const std::shared_ptr<C2Buffer> &c2buffer) { case C2BufferData::GRAPHIC: { // This is only called for RawGraphicOutputBuffers. mAlloc = [format = mFormat, lbp = LocalBufferPool::Create(kMaxLinearBufferSize * mImpl.arraySize())] { lbp = LocalBufferPool::Create()] { return ConstGraphicBlockBuffer::AllocateEmpty( format, [lbp](size_t capacity) { Loading Loading @@ -1079,10 +1092,9 @@ std::function<sp<Codec2Buffer>()> GraphicOutputBuffers::getAlloc() { // RawGraphicOutputBuffers RawGraphicOutputBuffers::RawGraphicOutputBuffers( size_t numOutputSlots, const char *componentName, const char *name) const char *componentName, const char *name) : FlexOutputBuffers(componentName, name), mLocalBufferPool(LocalBufferPool::Create( kMaxLinearBufferSize * numOutputSlots)) { } mLocalBufferPool(LocalBufferPool::Create()) { } sp<Codec2Buffer> RawGraphicOutputBuffers::wrap(const std::shared_ptr<C2Buffer> &buffer) { if (buffer == nullptr) { Loading Loading
camera/ICameraClient.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -143,6 +143,11 @@ status_t BnCameraClient::onTransact( if (data.dataAvail() > 0) { metadata = new camera_frame_metadata_t; metadata->number_of_faces = data.readInt32(); if (metadata->number_of_faces <= 0 || metadata->number_of_faces > (int32_t)(INT32_MAX / sizeof(camera_face_t))) { ALOGE("%s: Too large face count: %d", __FUNCTION__, metadata->number_of_faces); return BAD_VALUE; } metadata->faces = (camera_face_t *) data.readInplace( sizeof(camera_face_t) * metadata->number_of_faces); } Loading
media/TEST_MAPPING 0 → 100644 +32 −0 Original line number Diff line number Diff line { "presubmit": [ { "name": "GtsMediaTestCases", "options" : [ { "include-annotation": "android.platform.test.annotations.Presubmit" }, { "include-filter": "com.google.android.media.gts.WidevineGenericOpsTests" } ] }, { "name": "GtsExoPlayerTestCases", "options" : [ { "include-annotation": "android.platform.test.annotations.SocPresubmit" }, { "include-filter": "com.google.android.exoplayer.gts.DashTest#testWidevine23FpsH264Fixed" } ] } ], "imports": [ { "path": "frameworks/av/drm/mediadrm/plugins" } ] }
media/codec2/hidl/1.0/vts/functional/component/VtsHalMediaC2V1_0TargetComponentTest.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -330,7 +330,7 @@ class Codec2ComponentInputTests TEST_P(Codec2ComponentInputTests, InputBufferTest) { description("Tests for different inputs"); uint32_t flags = std::stol(std::get<2>(GetParam())); uint32_t flags = std::stoul(std::get<2>(GetParam())); bool isNullBuffer = !std::get<3>(GetParam()).compare("true"); if (isNullBuffer) ALOGD("Testing for null input buffer with flag : %u", flags); Loading
media/codec2/sfplugin/CCodecBufferChannel.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ #include <media/stagefright/MediaCodecConstants.h> #include <media/stagefright/SkipCutBuffer.h> #include <media/MediaCodecBuffer.h> #include <mediadrm/ICrypto.h> #include <system/window.h> #include "CCodecBufferChannel.h" Loading Loading @@ -1084,7 +1085,7 @@ status_t CCodecBufferChannel::start( // TODO: handle this without going into array mode forceArrayMode = true; } else { input->buffers.reset(new GraphicInputBuffers(numInputSlots, mName)); input->buffers.reset(new GraphicInputBuffers(mName)); } } else { if (hasCryptoOrDescrambler()) { Loading Loading @@ -1252,7 +1253,7 @@ status_t CCodecBufferChannel::start( if (outputSurface || !buffersBoundToCodec) { output->buffers.reset(new GraphicOutputBuffers(mName)); } else { output->buffers.reset(new RawGraphicOutputBuffers(numOutputSlots, mName)); output->buffers.reset(new RawGraphicOutputBuffers(mName)); } } else { output->buffers.reset(new LinearOutputBuffers(mName)); Loading
media/codec2/sfplugin/CCodecBuffers.cpp +21 −9 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <media/stagefright/foundation/ADebug.h> #include <media/stagefright/MediaCodecConstants.h> #include <media/stagefright/SkipCutBuffer.h> #include <mediadrm/ICrypto.h> #include "CCodecBuffers.h" Loading Loading @@ -121,6 +122,11 @@ sp<Codec2Buffer> InputBuffers::cloneAndReleaseBuffer(const sp<MediaCodecBuffer> // OutputBuffers OutputBuffers::OutputBuffers(const char *componentName, const char *name) : CCodecBuffers(componentName, name) { } OutputBuffers::~OutputBuffers() = default; void OutputBuffers::initSkipCutBuffer( int32_t delay, int32_t padding, int32_t sampleRate, int32_t channelCount) { CHECK(mSkipCutBuffer == nullptr); Loading Loading @@ -171,8 +177,11 @@ void OutputBuffers::setSkipCutBuffer(int32_t skip, int32_t cut) { // LocalBufferPool std::shared_ptr<LocalBufferPool> LocalBufferPool::Create(size_t poolCapacity) { return std::shared_ptr<LocalBufferPool>(new LocalBufferPool(poolCapacity)); constexpr size_t kInitialPoolCapacity = kMaxLinearBufferSize; constexpr size_t kMaxPoolCapacity = kMaxLinearBufferSize * 32; std::shared_ptr<LocalBufferPool> LocalBufferPool::Create() { return std::shared_ptr<LocalBufferPool>(new LocalBufferPool(kInitialPoolCapacity)); } sp<ABuffer> LocalBufferPool::newBuffer(size_t capacity) { Loading @@ -192,6 +201,11 @@ sp<ABuffer> LocalBufferPool::newBuffer(size_t capacity) { mUsedSize -= mPool.back().capacity(); mPool.pop_back(); } while (mUsedSize + capacity > mPoolCapacity && mPoolCapacity * 2 <= kMaxPoolCapacity) { ALOGD("Increasing local buffer pool capacity from %zu to %zu", mPoolCapacity, mPoolCapacity * 2); mPoolCapacity *= 2; } if (mUsedSize + capacity > mPoolCapacity) { ALOGD("mUsedSize = %zu, capacity = %zu, mPoolCapacity = %zu", mUsedSize, capacity, mPoolCapacity); Loading Loading @@ -777,11 +791,10 @@ sp<Codec2Buffer> GraphicMetadataInputBuffers::createNewBuffer() { // GraphicInputBuffers GraphicInputBuffers::GraphicInputBuffers( size_t numInputSlots, const char *componentName, const char *name) const char *componentName, const char *name) : InputBuffers(componentName, name), mImpl(mName), mLocalBufferPool(LocalBufferPool::Create( kMaxLinearBufferSize * numInputSlots)) { } mLocalBufferPool(LocalBufferPool::Create()) { } bool GraphicInputBuffers::requestNewBuffer(size_t *index, sp<MediaCodecBuffer> *buffer) { sp<Codec2Buffer> newBuffer = createNewBuffer(); Loading Loading @@ -942,7 +955,7 @@ void OutputBuffersArray::realloc(const std::shared_ptr<C2Buffer> &c2buffer) { case C2BufferData::GRAPHIC: { // This is only called for RawGraphicOutputBuffers. mAlloc = [format = mFormat, lbp = LocalBufferPool::Create(kMaxLinearBufferSize * mImpl.arraySize())] { lbp = LocalBufferPool::Create()] { return ConstGraphicBlockBuffer::AllocateEmpty( format, [lbp](size_t capacity) { Loading Loading @@ -1079,10 +1092,9 @@ std::function<sp<Codec2Buffer>()> GraphicOutputBuffers::getAlloc() { // RawGraphicOutputBuffers RawGraphicOutputBuffers::RawGraphicOutputBuffers( size_t numOutputSlots, const char *componentName, const char *name) const char *componentName, const char *name) : FlexOutputBuffers(componentName, name), mLocalBufferPool(LocalBufferPool::Create( kMaxLinearBufferSize * numOutputSlots)) { } mLocalBufferPool(LocalBufferPool::Create()) { } sp<Codec2Buffer> RawGraphicOutputBuffers::wrap(const std::shared_ptr<C2Buffer> &buffer) { if (buffer == nullptr) { Loading