Blame |
Last modification |
View Log
| Download
| RSS feed
/* bufferlist.h */
/* A class for buffering the I/O and allow multiple streams to read the data
asynchronously */
#ifndef _MPEGLIST_H_
#define _MPEGLIST_H_
#include "SDL.h"
class MPEGlist {
public:
MPEGlist();
~MPEGlist();
/* Get to the next free buffer or allocate a new one if none is free */
MPEGlist * Alloc(Uint32 Buffer_Size);
/* Lock current buffer */
void Lock();
/* Unlock current buffer */
void Unlock();
/* Get the buffer */
inline void * Buffer() { return(data); };
inline Uint32 Size() { return(size); };
inline MPEGlist * Next() { return(next); };
inline MPEGlist * Prev() { return(prev); };
inline Uint32 IsLocked() { return(lock); };
double TimeStamp;
private:
class MPEGlist * next;
class MPEGlist * prev;
Uint32 lock;
Uint8 * data;
Uint32 size;
};
#endif