From e09e9f8a34cbc99a33dfa9ef1792b0025575c3a8 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期二, 01 八月 2017 11:41:19 +0800 Subject: [PATCH] --- RtspFace/PipeLine.h | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) diff --git a/RtspFace/PipeLine.h b/RtspFace/PipeLine.h index 4848d69..393b2a5 100644 --- a/RtspFace/PipeLine.h +++ b/RtspFace/PipeLine.h @@ -78,6 +78,7 @@ }; typedef PipeLineElem* (*elem_create_func_t)(); +typedef void (*elem_destory_func_t)(PipeLineElem* elem); // 0 (there is no elem). do nothing // 1 (there is one elem). gain --> pm.deleter @@ -96,22 +97,20 @@ bool register_elem_creator(const std::string& type, elem_create_func_t func); static bool register_global_elem_creator(const std::string& type, elem_create_func_t func); - + void push_elem(PipeLineElem* elem); PipeLineElem* push_elem(const std::string& type); void push_front_elem(PipeLineElem* elem); bool remove_elem(PipeLineElem* elem); - + PipeLineElem* at(int idx); + + void finit(elem_destory_func_t elem_destory_func); + bool check_pipe_complete(PipeLineElem* lastRetElem) const; // do pipe sync. returns the element who returns false, or the last one. // if false return, the element should deal with pm, clean up. PipeLineElem* pipe(PipeMaterial* pm = nullptr); - - // do pipe async - void pipe_start(); - void pipe_notify(PipeLineElem*); - void pipe_stop(); void set_param(const std::string& name, const std::string& value); std::string get_param(const std::string& name) const; @@ -131,7 +130,7 @@ class PipeLineElemTimingDebugger { public: - PipeLineElemTimingDebugger(const PipeLineElem* _elem); + PipeLineElemTimingDebugger(const PipeLineElem* _elem = nullptr); ~PipeLineElemTimingDebugger(); const PipeLineElem* elem; -- Gitblit v1.8.0