11 #include "IRenderBufferPool.h" 12 #include "threads/CriticalSection.h" 31 bool HasVisibleRenderer()
const override;
32 bool Configure(AVPixelFormat format)
override;
33 bool IsConfigured()
const override {
return m_bConfigured; }
36 void Prime(
unsigned int width,
unsigned int height)
override;
37 void Flush()
override;
40 AVPixelFormat Format()
const {
return m_format; }
43 virtual IRenderBuffer* CreateRenderBuffer(
void* header =
nullptr) = 0;
44 virtual bool ConfigureInternal() {
return true; }
45 virtual void* GetHeader(
unsigned int timeoutMs = 0) {
return nullptr; }
46 virtual bool GetHeaderWithTimeout(
void*& header)
51 virtual bool SendBuffer(
IRenderBuffer* buffer) {
return false; }
54 bool m_bConfigured =
false;
55 AVPixelFormat m_format = AV_PIX_FMT_NONE;
59 std::deque<std::unique_ptr<IRenderBuffer>> m_free;
61 std::vector<CRPBaseRenderer*> m_renderers;
62 mutable CCriticalSection m_rendererMutex;
63 CCriticalSection m_bufferMutex;
Definition: BaseRenderBufferPool.h:22
void Return(IRenderBuffer *buffer) override
Called by buffer when ref count goes to zero.
Definition: BaseRenderBufferPool.cpp:116
IRenderBuffer * GetBuffer(unsigned int width, unsigned int height) override
Get a free buffer from the pool, sets ref count to 1.
Definition: BaseRenderBufferPool.cpp:63
Definition: IRenderBuffer.h:27
Controller configuration window.
Definition: AudioDecoder.h:18
Definition: IRenderBufferPool.h:28
Definition: RPBaseRenderer.h:32