PJMEDIA
大侠燕南天
这个作者很懒,什么都没留下…
展开
-
PJLIB内存池
pjlib的内存池可以像c++的new操作符和c的malloc函数一样动态地分配内存,new操作符和c的malloc存在性能瓶颈和分段问题,因而不是为高性能应用和实时应用程序设计的。相对于传统的new和malloc以及一般的内存池实现,pjlib的内存池好处更多,这是因为它: --允许分配不同大小的内存块,这一点与别的内存池实现不同。 --快速简单翻译 2009-08-05 18:25:00 · 1798 阅读 · 0 评论 -
PJMEDIA PORT 的概念
媒体端口(Media Port)提供抽象和可扩展的框架(framework)来实现媒体端点。基本上,媒体端口接口有以下属性:--媒体端口属性信息(pjmedia_port_info):描述媒体端口的属性,如采样频率(sampling rate)、通道数量(number of channels)等。--指向从媒体端口获取语音帧的get_frame函数指针,这个函数将由公共API函数pjmedia_port_get_frame()调用。--指向向媒体端口发送语音帧的put_frame函数指针,这个函数将由公共A翻译 2010-08-10 09:59:00 · 2455 阅读 · 0 评论 -
PJMEDIA 延迟缓冲区实现
PJMEDIA实现了一个自适应的延迟缓冲区,延迟缓冲区很像一个固定的抖动缓冲区,用于缓冲那些不按照确定时间间隔到达的帧,这样调用者就能够连续地从缓冲区获取到帧。当get()和put()操作并不是均匀地间隔进行,延迟缓冲区会十分有用,例如:调用者急速地进行put操作然后又急速地进行get操作。有了延迟缓冲区,假设get和put操作速率不匹配,急速放入的帧总是能够被匀速地获取。延迟缓冲区是自适应的,它通过不断学习来掌握用于实时音频流的最优延迟时间。一旦最优的延迟时间被确定,将这个时间用于音频流的缓冲区,当实际的翻译 2010-08-10 17:49:00 · 1978 阅读 · 0 评论