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

Commit 19a59612 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Harden construction sites of android::Surface." into main

parents 93c796a2 afabf7b6
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -118,7 +118,7 @@ status_t CaptureRequest::readFromParcel(const android::Parcel* parcel) {
#else
#else
        sp<Surface> surface;
        sp<Surface> surface;
        if (surfaceShim.graphicBufferProducer != NULL) {
        if (surfaceShim.graphicBufferProducer != NULL) {
            surface = new Surface(surfaceShim.graphicBufferProducer);
            surface = sp<Surface>::make(surfaceShim.graphicBufferProducer);
        }
        }
#endif
#endif
        mSurfaceList.push_back(surface);
        mSurfaceList.push_back(surface);
+1 −1
Original line number Original line Diff line number Diff line
@@ -142,7 +142,7 @@ status_t FrameCaptureLayer::init() {
    }
    }


    mConsumer = consumer;
    mConsumer = consumer;
    mSurface = new Surface(producer);
    mSurface = sp<Surface>::make(producer);


    return OK;
    return OK;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -762,7 +762,7 @@ class MediaCodec::ReleaseSurface {
public:
public:
    explicit ReleaseSurface(uint64_t usage) {
    explicit ReleaseSurface(uint64_t usage) {
        BufferQueue::createBufferQueue(&mProducer, &mConsumer);
        BufferQueue::createBufferQueue(&mProducer, &mConsumer);
        mSurface = new Surface(mProducer, false /* controlledByApp */);
        mSurface = sp<Surface>::make(mProducer, false /* controlledByApp */);
        struct ConsumerListener : public IConsumerListener {
        struct ConsumerListener : public IConsumerListener {
            ConsumerListener(const sp<IGraphicBufferConsumer> &consumer) {
            ConsumerListener(const sp<IGraphicBufferConsumer> &consumer) {
                mConsumer = consumer;
                mConsumer = consumer;
+6 −1
Original line number Original line Diff line number Diff line
@@ -867,7 +867,12 @@ media_status_t AMediaCodec_createInputSurface(AMediaCodec *mData, ANativeWindow
        return translate_error(err);
        return translate_error(err);
    }
    }


    *surface = new Surface(igbp);
    // This will increment default strongCount on construction.  It will be decremented
    // on function exit.
    auto spSurface = sp<Surface>::make(igbp);
    *surface = spSurface.get();
    // This will increment a private strongCount.  It will be decremented in
    // ANativeWindow_release.
    ANativeWindow_acquire(*surface);
    ANativeWindow_acquire(*surface);
    return AMEDIA_OK;
    return AMEDIA_OK;
}
}