Commit 97f7255f by xiongziliang

Performance: 使用循环池优化rtmp分发性能

parent 5404a526
......@@ -55,6 +55,7 @@ static string openssl_HMACsha256(const void *key, size_t key_len, const void *da
namespace mediakit {
RtmpProtocol::RtmpProtocol() {
_packet_pool.setSize(64);
_next_step_func = [this](const char *data, size_t len) {
return handle_C0C1(data, len);
};
......@@ -776,7 +777,7 @@ void RtmpProtocol::handle_chunk(RtmpPacket::Ptr packet) {
}
BufferRaw::Ptr RtmpProtocol::obtainBuffer(const void *data, size_t len) {
auto buffer = BufferRaw::create();
auto buffer = _packet_pool.obtain();
if (data && len) {
buffer->assign((const char *) data, len);
}
......
......@@ -107,6 +107,8 @@ private:
function<const char * (const char *data, size_t len)> _next_step_func;
////////////Chunk////////////
unordered_map<int, std::pair<RtmpPacket::Ptr/*now*/, RtmpPacket::Ptr/*last*/> > _map_chunk_data;
//循环池
ResourcePool<BufferRaw> _packet_pool;
};
} /* namespace mediakit */
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论