Clean SharedBufferList.h.
Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>
This commit is contained in:
parent
8290e8d3e5
commit
4232706dc8
@ -13,28 +13,34 @@
|
||||
namespace BPrivate {
|
||||
|
||||
|
||||
class SharedBufferList {
|
||||
class SharedBufferList
|
||||
{
|
||||
public:
|
||||
static area_id Create(SharedBufferList** _list);
|
||||
static SharedBufferList* Get();
|
||||
static void Invalidate();
|
||||
static area_id Create(SharedBufferList** _list);
|
||||
static SharedBufferList* Get();
|
||||
static void Invalidate();
|
||||
|
||||
void Put();
|
||||
void DeleteGroupAndPut(sem_id groupReclaimSem);
|
||||
void Put();
|
||||
void DeleteGroupAndPut(
|
||||
sem_id groupReclaimSem);
|
||||
|
||||
status_t Lock();
|
||||
status_t Unlock();
|
||||
status_t Lock();
|
||||
status_t Unlock();
|
||||
|
||||
status_t AddBuffer(sem_id groupReclaimSem,
|
||||
BBuffer* buffer);
|
||||
status_t RequestBuffer(sem_id groupReclaimSem,
|
||||
int32 buffersInGroup, size_t size,
|
||||
media_buffer_id wantID, BBuffer** _buffer,
|
||||
bigtime_t timeout);
|
||||
status_t RecycleBuffer(BBuffer* buffer);
|
||||
status_t GetBufferList(sem_id groupReclaimSem,
|
||||
int32 bufferCount, BBuffer** buffers);
|
||||
status_t AddBuffer(sem_id groupReclaimSem,
|
||||
BBuffer* buffer);
|
||||
|
||||
status_t RequestBuffer(sem_id groupReclaimSem,
|
||||
int32 buffersInGroup, size_t size,
|
||||
media_buffer_id wantID,
|
||||
BBuffer** _buffer,
|
||||
bigtime_t timeout);
|
||||
|
||||
status_t RecycleBuffer(BBuffer* buffer);
|
||||
|
||||
status_t GetBufferList(sem_id groupReclaimSem,
|
||||
int32 bufferCount,
|
||||
BBuffer** buffers);
|
||||
private:
|
||||
struct _shared_buffer_info {
|
||||
media_buffer_id id;
|
||||
@ -45,19 +51,20 @@ private:
|
||||
sem_id reclaim_sem;
|
||||
};
|
||||
|
||||
// 16 bytes per buffer, 8 pages in total (one entry less for the list)
|
||||
enum { kMaxBuffers = 2047 };
|
||||
// 16 bytes per buffer, 8 pages in total (one entry less for the list)
|
||||
|
||||
status_t _Init();
|
||||
void _RequestBufferInOtherGroups(
|
||||
sem_id groupReclaimSem, media_buffer_id id);
|
||||
status_t _Init();
|
||||
void _RequestBufferInOtherGroups(
|
||||
sem_id groupReclaimSem,
|
||||
media_buffer_id id);
|
||||
|
||||
private:
|
||||
sem_id fSemaphore;
|
||||
int32 fAtom;
|
||||
sem_id fSemaphore;
|
||||
int32 fAtom;
|
||||
|
||||
_shared_buffer_info fInfos[kMaxBuffers];
|
||||
int32 fCount;
|
||||
_shared_buffer_info fInfos[kMaxBuffers];
|
||||
int32 fCount;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user