From 256c90e3e0a881632d1bb9cd3bcc9c2604671167 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 27 二月 2017 09:47:13 +0800
Subject: [PATCH] rebuild this path
---
RtspFace/PL_Fork.h | 61 ++++++++++++++++++++++++++++++
1 files changed, 60 insertions(+), 1 deletions(-)
diff --git a/RtspFace/PL_Fork.h b/RtspFace/PL_Fork.h
index 865044e..5eaaffe 100644
--- a/RtspFace/PL_Fork.h
+++ b/RtspFace/PL_Fork.h
@@ -3,8 +3,51 @@
#include "PipeLine.h"
+// p1e1 p1e2<fork> p1e3 ... p1eN
+// p2e1 p2e2... p2eN
class PL_Fork : public PipeLineElem
{
+public:
+ enum ForkBy
+ {
+ // do nothing
+ FB_NONE,
+
+ // time 1: p1e1 p1e2 [p1e3 ... p1eN]
+ // time 2: p1e1 p1e2 [p2e1 p2e2... p2eN]
+ FB_TURNS,
+
+ // p1e1 p1e2 [p1e3 ... p1eN]|[p2e1 p2e2... p2eN]
+ FB_RANDOM,
+
+ // supported now!
+ // p1e1 p1e2 TYPE1[p1e3 ... p1eN] TYPE2[p2e1 p2e2... p2eN]
+ // Sync behavior depends on ForkSync
+ FB_PM_TYPE,
+
+ // supported now!
+ FB_MB_TYPE,
+
+ // FS_MAIN_PL_FIRST: p1e1 p1e2 [p1e3 p2e1] [p1e4 p2e2] ...
+ // FS_MAIN_PL_LAST : p1e1 p1e2 [p2e1 p1e3] [p2e2 p1e4] ...
+ FB_ALTERNATE
+ };
+
+ enum ForkSync
+ {
+ // do nothing
+ FS_NONE,
+
+ // supported now!
+ FS_PARALLEL,
+
+ // Result of main pl will be paid to branch pl
+ FS_MAIN_PL_FIRST,
+
+ // Result of branch pl will be paid to main pl
+ FS_BRANCH_PL_FIRST
+ };
+
public:
PL_Fork();
virtual ~PL_Fork();
@@ -15,10 +58,26 @@
virtual bool pay(const PipeMaterial& pm);
virtual bool gain(PipeMaterial& pm);
+ void attach_pipe_line(PipeLine* pl);
+
private:
void* internal;
+ PipeLine* pl;
};
-PipeLineElem* create_PL_Paint();
+struct PL_Fork_Config
+{
+ PL_Fork::ForkBy forkBy;
+ PL_Fork::ForkSync forkSync;
+
+ int mainPLType;
+ int branchPLType;
+
+ PL_Fork_Config() :
+ forkBy(PL_Fork::FB_NONE), forkSync(PL_Fork::FS_NONE), mainPLType(0), branchPLType(0)
+ { }
+};
+
+PipeLineElem* create_PL_Fork();
#endif
--
Gitblit v1.8.0