cframelist.h
来自「最近在学习directshow, Directshow实务精选的源代码」· C头文件 代码 · 共 43 行
H
43 行
//
// CFrameList.h
//
#ifndef __H_CFrameList__
#define __H_CFrameList__
// Only suitable for fix-sized frames.
// Only when all buffers are filled, outer users can get buffered frame out.
// Add the latest frame to the bottom, and the top frame will be overrided.
class CFrameList
{
private:
long mFrameSize; // In bytes
long mMaxFrameCount; // Frames stored in the list
long mLastFrameOffset; // Start position of the last frame
long mFrameCounter;
CCritSec mSyncBuffer;
BYTE * mFrameBuffer;
BOOL mReachEnd; // No more samples will be received
long mIndexWhenEndReached;
private:
__inline void MoveOneFrameUp(void);
public:
CFrameList(long inFrameSize, long inMaxCount);
~CFrameList();
void AddFrame(BYTE * inFrame);
void GetFrame(PBYTE * outFrame);
void ReleaseFrame(void);
BOOL IsFrameBufferFull(void);
void SetReachEnd(BOOL inIsEnd);
void Flush(void);
};
#endif // __H_CFrameList__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?