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

Commit deeef544 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

separte producer and consumer interfaces

Bug: 9265647
Change-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c
parent 230c5bde
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -251,8 +251,7 @@ status_t ProCamera::createStreamCpu(int width, int height, int format,
    sp<CpuConsumer> cc = new CpuConsumer(bq, heapCount/*, synchronousMode*/);
    cc->setName(String8("ProCamera::mCpuConsumer"));

    sp<Surface> stc = new Surface(
        cc->getProducerInterface());
    sp<Surface> stc = new Surface(bq);

    status_t s = createStream(width, height, format,
                              stc->getIGraphicBufferProducer(),
+1 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ class GraphicBuffer;

class SurfaceMediaSource : public MediaSource,
                                public MediaBufferObserver,
                                protected BufferQueue::ConsumerListener {
                                protected ConsumerListener {
public:
    enum { MIN_UNDEQUEUED_BUFFERS = 4};

+1 −1
Original line number Diff line number Diff line
@@ -570,7 +570,7 @@ RenderInput::RenderInput(NativeWindowRenderer* renderer, GLuint textureId)
    , mTextureId(textureId) {
    sp<BufferQueue> bq = new BufferQueue();
    mST = new GLConsumer(bq, mTextureId);
    mSTC = new Surface(mST->getBufferQueue());
    mSTC = new Surface(bq);
    native_window_connect(mSTC.get(), NATIVE_WINDOW_API_MEDIA);
}

+2 −2
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ SurfaceMediaSource::SurfaceMediaSource(uint32_t bufferWidth, uint32_t bufferHeig
    // reference once the ctor ends, as that would cause the refcount of 'this'
    // dropping to 0 at the end of the ctor.  Since all we need is a wp<...>
    // that's what we create.
    wp<BufferQueue::ConsumerListener> listener = static_cast<BufferQueue::ConsumerListener*>(this);
    wp<ConsumerListener> listener = static_cast<ConsumerListener*>(this);
    sp<BufferQueue::ProxyConsumerListener> proxy = new BufferQueue::ProxyConsumerListener(listener);

    status_t err = mBufferQueue->consumerConnect(proxy, false);
@@ -105,7 +105,7 @@ void SurfaceMediaSource::dump(String8& result, const char* prefix,
    Mutex::Autolock lock(mMutex);

    result.append(buffer);
    mBufferQueue->dump(result);
    mBufferQueue->dump(result, "");
}

status_t SurfaceMediaSource::setFrameRate(int32_t fps)
+1 −2
Original line number Diff line number Diff line
@@ -114,8 +114,7 @@ status_t CallbackProcessor::updateStream(const Parameters &params) {
        mCallbackConsumer = new CpuConsumer(bq, kCallbackHeapCount);
        mCallbackConsumer->setFrameAvailableListener(this);
        mCallbackConsumer->setName(String8("Camera2Client::CallbackConsumer"));
        mCallbackWindow = new Surface(
            mCallbackConsumer->getProducerInterface());
        mCallbackWindow = new Surface(bq);
    }

    if (mCallbackStreamId != NO_STREAM) {
Loading