houxiao
2017-07-13 b022b91c0c6fa807424b6c12cc92ac5946838083
RtspFace/PL_Queue.h
@@ -2,6 +2,9 @@
#define _PL_QUEUE_H_
#include "PipeLine.h"
#include "MaterialBuffer.h"
typedef bool (*plq_cache_pm_func_t)(const PipeMaterial& inPm, PipeMaterial& outPm, std::vector<MB_Frame>& outMbf, uint8_t* cacheData, size_t& cacheMaxSize);
struct PL_Queue_Config
{
@@ -11,12 +14,16 @@
   
   bool syncQueueFull;
   bool syncQueueEmpty;
   bool queueFullDropBlock;
   bool queueFullDropFrontBlock;
   bool copyData; //#todo not implement (copy ptr)
   bool dropBlockOnlyNextPayOK;
   plq_cache_pm_func_t cacheFrameListFunc;
   
   PL_Queue_Config() : 
      maxBlockCount(100), maxBlockSize(300000), cacheEmptyBlock(false),
      syncQueueFull(true), syncQueueEmpty(true), queueFullDropBlock(false), copyData(true)
      maxBlockCount(32), maxBlockSize(1920*1080*2), cacheEmptyBlock(false),
      syncQueueFull(true), syncQueueEmpty(true), queueFullDropFrontBlock(false), copyData(true), dropBlockOnlyNextPayOK(true),
      cacheFrameListFunc(nullptr)
   {
   }
};
@@ -34,7 +41,7 @@
   virtual bool gain(PipeMaterial& pm);
   
private:
   static void pm_deleter_qb(PipeMaterial* pm);
   static void pm_deleter_qb(PipeMaterial* pm, bool lastRet);
   void* internal;
};