From b022b91c0c6fa807424b6c12cc92ac5946838083 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 13 七月 2017 16:34:39 +0800
Subject: [PATCH] update pipeline

---
 RtspFace/PL_Queue.h |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/RtspFace/PL_Queue.h b/RtspFace/PL_Queue.h
index 72f01e2..6ab852b 100644
--- a/RtspFace/PL_Queue.h
+++ b/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;
 };

--
Gitblit v1.8.0