下图是pjmedia官方对master port的描述
![](https://img.haomeiwen.com/i10109058/d217bee6aa6f6934.png)
为了方便理解,这里拿自己,快递小哥,收快递,寄快递做个比喻。可以把downstream port(下游)理解为快递小哥,upsteam port(上游)理解为自己。
get_frame是快递小哥提供的方法,你要取快递就要调用快递小哥提供的方法,从快递小哥那里取得快递然后拆开快递得到你想要的东西,这个可以类比为decode的过程。
同理,你从快递小哥把快递送给你了这是你说刚好我手上有件快递我自己打包好了(类比为encode的过程),你帮我寄出去。于是你调自己的put_frame方法把打包好的快递交到快递小哥手上。
总结:
流从下游到上游,调下游的get_frame方法,伴随decode过程
流从上游到下游,调上游的put_frame方法,伴随encode过程
之前有篇文章记录soundTouch模块加到pjsip中就用到了。
网友评论