pjmedia
pjproject的子项目,媒体库
HYQ458941968
这个作者很懒,什么都没留下…
展开
-
pjmedia系列开篇
pjlib系列完结后,开始进入pjmedia系列。pjmedia是多媒体栈,可以把它按照抽象的分解大小分解为几个对象,下面通过simpleua.c示例代码解析这些对象和数据流。从对象关系来看:1、 pjmedia_endpt,代表一个媒体端点,端点可以理解为一个节点,可以是服务器或者客户端,一个设备一般只会有唯一一个端点,而且在初始化的时候创建。2、pjmedia_session,代表...原创 2019-09-17 21:02:40 · 3373 阅读 · 0 评论 -
pjmedia系列之媒体端点pjmedia_endpt
simpleua.c在进行媒体相关初始化时,首先创建媒体端点,看看媒体端点的数据结构和创建流程。#if PJ_HAS_THREADS status = pjmedia_endpt_create(&cp.factory, NULL, 1, &g_med_endpt);#else status = pjmedia_endpt_create(&cp.fac...原创 2019-09-19 19:57:00 · 1058 阅读 · 1 评论 -
pjmedia系列之媒体传输pjmedia_transport
媒体传输封装了网络收发细节,pjmedia_transport可以是udp、srtp、ice等,这里以udp为例。结构体pjmedia_transport/** * This structure declares media transport. A media transport is called * by the stream to transmit a packet, and...原创 2019-09-19 20:41:41 · 1887 阅读 · 0 评论 -
pjmedia系列之媒体流pjmedia_stream
前面讲过,一个会话可以有多个流,比如音频流、视频流,这里讲一个音频流有哪些东西。媒体流struct pjmedia_stream{ pjmedia_endpt *endpt; /**< Media endpoint. */ pjmedia_codec_mgr *codec_mgr; /**< Codec manager...原创 2019-09-25 20:35:17 · 2299 阅读 · 0 评论 -
pjmedia系列之媒体设备pjmedia_snd_port
在simpleua.c文件,当协商成功call_on_media_update中,会创建音频设备对象。static pjmedia_snd_port *g_snd_port; /* Sound device. */static void call_on_media_update( pjsip_inv_session *inv, pj_status_t status){}...原创 2019-09-30 17:26:10 · 2123 阅读 · 3 评论