phapi发送和接收音频数据的流程简介。
通过ortp库(完整的源代码在ortp工程中)实现。
oRTP协议将在另外一篇中介绍,这里只要知道它是用来发送和接收媒体流(音频和视频)的协议。
本篇只记录使用ortp发送、接收音频数据的流程。
@1 phapi使用ortp的简单流程:
-----------------------------------------------
$1、初始化库
在整个程序的生命周期中只初始化一次ortp库
qutecom/wifo/phapi/phmedia.c
ph_media_init()==>ortp_init()
$2、初始化一个RTP会话以及设置RTP会话的参数
qutecom/wifo/phapi/phmedia-audio.c
ph_msession_audio_stream_hardstart()函数
LINE 3019:session = rtp_session_new(RTP_SESSION_SENDRECV);
至
LINE 3242:rtp_session_signal_connect(session, "cng_packet", (RtpCallback)ph_on_cng_packet, s);
$3、接收一个RTP数据包
e:/works/qutecom/wifo/phapi/phmedia-audio.c
ph_audio_play_cbk()==>ph_media_retrieve_decoded_frame()==>rtp_session_recvm_with_ts()
$4、发送一个RTP数据包
qutecom/wifo/phapi/phmedia-audio.c
ph_audio_re