Loading media/codec2/sfplugin/CCodecBufferChannel.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -167,6 +167,7 @@ CCodecBufferChannel::CCodecBufferChannel( Mutexed<Output>::Locked output(mOutput); output->outputDelay = 0u; output->numSlots = kSmoothnessFactor; output->bounded = false; } { Mutexed<BlockPools>::Locked pools(mBlockPools); Loading Loading @@ -727,7 +728,7 @@ void CCodecBufferChannel::feedInputBufferIfAvailableInternal() { Mutexed<Output>::Locked output(mOutput); if (!output->buffers || output->buffers->hasPending() || output->buffers->numActiveSlots() >= output->numSlots) { (!output->bounded && output->buffers->numActiveSlots() >= output->numSlots)) { return; } } Loading Loading @@ -1509,6 +1510,7 @@ status_t CCodecBufferChannel::start( Mutexed<Output>::Locked output(mOutput); output->outputDelay = outputDelayValue; output->numSlots = numOutputSlots; output->bounded = bool(outputSurface); if (graphic) { if (outputSurface || !buffersBoundToCodec) { output->buffers.reset(new GraphicOutputBuffers(mName)); Loading media/codec2/sfplugin/CCodecBufferChannel.h +3 −0 Original line number Diff line number Diff line Loading @@ -321,6 +321,9 @@ private: std::unique_ptr<OutputBuffers> buffers; size_t numSlots; uint32_t outputDelay; // true iff the underlying block pool is bounded --- for example, // a BufferQueue-based block pool would be bounded by the BufferQueue. bool bounded; }; Mutexed<Output> mOutput; Mutexed<std::list<std::unique_ptr<C2Work>>> mFlushedConfigs; Loading Loading
media/codec2/sfplugin/CCodecBufferChannel.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -167,6 +167,7 @@ CCodecBufferChannel::CCodecBufferChannel( Mutexed<Output>::Locked output(mOutput); output->outputDelay = 0u; output->numSlots = kSmoothnessFactor; output->bounded = false; } { Mutexed<BlockPools>::Locked pools(mBlockPools); Loading Loading @@ -727,7 +728,7 @@ void CCodecBufferChannel::feedInputBufferIfAvailableInternal() { Mutexed<Output>::Locked output(mOutput); if (!output->buffers || output->buffers->hasPending() || output->buffers->numActiveSlots() >= output->numSlots) { (!output->bounded && output->buffers->numActiveSlots() >= output->numSlots)) { return; } } Loading Loading @@ -1509,6 +1510,7 @@ status_t CCodecBufferChannel::start( Mutexed<Output>::Locked output(mOutput); output->outputDelay = outputDelayValue; output->numSlots = numOutputSlots; output->bounded = bool(outputSurface); if (graphic) { if (outputSurface || !buffersBoundToCodec) { output->buffers.reset(new GraphicOutputBuffers(mName)); Loading
media/codec2/sfplugin/CCodecBufferChannel.h +3 −0 Original line number Diff line number Diff line Loading @@ -321,6 +321,9 @@ private: std::unique_ptr<OutputBuffers> buffers; size_t numSlots; uint32_t outputDelay; // true iff the underlying block pool is bounded --- for example, // a BufferQueue-based block pool would be bounded by the BufferQueue. bool bounded; }; Mutexed<Output> mOutput; Mutexed<std::list<std::unique_ptr<C2Work>>> mFlushedConfigs; Loading