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

Commit a079029b authored by Carlos Martinez Romero's avatar Carlos Martinez Romero Committed by Android (Google) Code Review
Browse files

Merge changes I59274021,I41855dec,I1dba8049 into main

* changes:
  Minor IGraphicBufferProducer cleanup changes (2).
  Update test to not use IGraphicBufferProducer.
  Minor IGraphicBufferProducer cleanup changes.
parents cf5c0971 03efdd3e
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -343,9 +343,18 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) {
    mMirrorModeForProducers = std::move(mirrorModeForProducers);
    mUseReadoutTimestamp = useReadoutTimestamp != 0;
    for (auto& surface : surfaceShims) {
#if WB_LIBCAMERASERVICE_WITH_DEPENDENCIES
        IF_ALOGV() {
            uint64_t bufferID;
            surface.getUniqueId(&bufferID);
            ALOGV("%s: OutputConfiguration: %lu, name %s", __FUNCTION__,
                    bufferID, toString8(surface.name).c_str());
        }
#else
        ALOGV("%s: OutputConfiguration: %p, name %s", __FUNCTION__,
                surface.graphicBufferProducer.get(),
                toString8(surface.name).c_str());
#endif
        mSurfaces.push_back(flagtools::toParcelableSurfaceType(surface));
    }

+12 −0
Original line number Diff line number Diff line
@@ -49,7 +49,9 @@

#include <com_android_graphics_libgui_flags.h>
#include <gui/BufferItemConsumer.h>
#if not COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
#include <gui/IGraphicBufferProducer.h>
#endif
#include <gui/Surface.h>

#include <gtest/gtest.h>
@@ -704,10 +706,20 @@ TEST_F(CameraClientBinderTest, CheckBinderCameraDeviceUser) {

TEST_F(CameraClientBinderTest, CheckBinderCaptureRequest) {
    sp<CaptureRequest> requestOriginal, requestParceled;

#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
    sp<BufferItemConsumer> opaqueConsumer = new BufferItemConsumer(
            GRALLOC_USAGE_SW_READ_NEVER, /*maxImages*/ 2, /*controlledByApp*/ true);
    EXPECT_TRUE(opaqueConsumer.get() != nullptr);
    opaqueConsumer->setName(String8("nom nom nom"));
    sp<Surface> surface = opaqueConsumer->getSurface();
#else
    sp<IGraphicBufferProducer> gbProducer;
    sp<IGraphicBufferConsumer> gbConsumer;
    BufferQueue::createBufferQueue(&gbProducer, &gbConsumer);
    sp<Surface> surface(new Surface(gbProducer, /*controlledByApp*/false));
#endif

    Vector<sp<Surface>> surfaceList;
    surfaceList.push_back(surface);
    std::string physicalDeviceId1 = "0";
+0 −1
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
#include <camera2/OutputConfiguration.h>
#include <camera2/SessionConfiguration.h>
#include <fuzzer/FuzzedDataProvider.h>
#include <gui/IGraphicBufferProducer.h>
#include <gui/Surface.h>
#include <gui/Flags.h>  // remove with WB_LIBCAMERASERVICE_WITH_DEPENDENCIES
#include <gui/SurfaceComposerClient.h>
+6 −4
Original line number Diff line number Diff line
@@ -40,8 +40,10 @@
#include <fakeservicemanager/FakeServiceManager.h>
#include <fuzzbinder/random_binder.h>
#include <gui/BufferItemConsumer.h>
#include <gui/Flags.h>
#include <gui/Flags.h> // remove with COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
#if not COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
#include <gui/IGraphicBufferProducer.h>
#endif
#include <gui/Surface.h>
#include <gui/SurfaceComposerClient.h>
#include <media/IAudioFlinger.h>
@@ -848,9 +850,9 @@ void Camera2Fuzzer::process() {

        std::string noPhysicalId;
        size_t rotations = sizeof(kRotations) / sizeof(int32_t) - 1;
        sp<IGraphicBufferProducer> igbp = surface->getIGraphicBufferProducer();
        ParcelableSurfaceType pSurface = flagtools::surfaceToParcelableSurfaceType(surface);
        OutputConfiguration output(
                igbp, kRotations[mFuzzedDataProvider->ConsumeIntegralInRange<size_t>(0, rotations)],
            pSurface, kRotations[mFuzzedDataProvider->ConsumeIntegralInRange<size_t>(0, rotations)],
            noPhysicalId);
#else
        sp<IGraphicBufferProducer> gbProducer;
+7 −0
Original line number Diff line number Diff line
@@ -22,7 +22,10 @@
#include <com_android_internal_camera_flags.h>
#include <gui/BufferItemConsumer.h>
#include <gui/IGraphicBufferConsumer.h>
#include <gui/Flags.h> // remove with WB_PLATFORM_API_IMPROVEMENTS
#if not COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_PLATFORM_API_IMPROVEMENTS)
#include <gui/IGraphicBufferProducer.h>
#endif
#include <gui/Surface.h>
#include <ui/Fence.h>
#include <ui/GraphicBuffer.h>
@@ -162,7 +165,11 @@ TEST_F(Camera3StreamSplitterTest, TestProcessSingleBuffer) {
    sp<TestSurfaceListener> surfaceListener = sp<TestSurfaceListener>::make();
    EXPECT_EQ(OK, inputSurface->connect(NATIVE_WINDOW_API_CAMERA, surfaceListener, false));
    // TODO: Do this with the surface itself once the API is available.
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_PLATFORM_API_IMPROVEMENTS)
    EXPECT_EQ(OK, inputSurface->allowAllocation(false));
#else
    EXPECT_EQ(OK, inputSurface->getIGraphicBufferProducer()->allowAllocation(false));
#endif

    //
    // Create a buffer to use:
Loading