diff --git a/src/Extension/Frame.cpp b/src/Extension/Frame.cpp index 498efee4..2f46d952 100644 --- a/src/Extension/Frame.cpp +++ b/src/Extension/Frame.cpp @@ -22,34 +22,6 @@ namespace toolkit { namespace mediakit{ -template -std::shared_ptr FrameImp::create_l() { -#if 0 - static ResourcePool packet_pool; - static onceToken token([]() { - packet_pool.setSize(1024); - }); - auto ret = packet_pool.obtain(); - ret->_buffer.clear(); - ret->_prefix_size = 0; - ret->_dts = 0; - ret->_pts = 0; - return ret; -#else - return std::shared_ptr(new C()); -#endif -} - -#define CREATE_FRAME_IMP(C) \ -template<> \ -std::shared_ptr FrameImp::create() { \ - return create_l(); \ -} - -CREATE_FRAME_IMP(FrameImp); -CREATE_FRAME_IMP(H264Frame); -CREATE_FRAME_IMP(H265Frame); - /** * 该对象的功能是把一个不可缓存的帧转换成可缓存的帧 */ diff --git a/src/Extension/Frame.h b/src/Extension/Frame.h index a256ecdb..ae3cf060 100644 --- a/src/Extension/Frame.h +++ b/src/Extension/Frame.h @@ -179,7 +179,22 @@ public: using Ptr = std::shared_ptr; template - static std::shared_ptr create(); + static std::shared_ptr create() { +#if 0 + static ResourcePool packet_pool; + static onceToken token([]() { + packet_pool.setSize(1024); + }); + auto ret = packet_pool.obtain(); + ret->_buffer.clear(); + ret->_prefix_size = 0; + ret->_dts = 0; + ret->_pts = 0; + return ret; +#else + return std::shared_ptr(new C()); +#endif + } char *data() const override{ return (char *)_buffer.data(); @@ -227,9 +242,6 @@ private: protected: friend class ResourcePool_l; FrameImp() = default; - - template - static std::shared_ptr create_l(); }; /**