QuteCom手记:phapi发送和接收音频数据的流程(ortp & portaudio)

本文介绍了QuteCom中利用ortp库进行音频数据发送和接收的流程,包括ortp的初始化、RTP会话创建、数据包的接收与发送,以及PortAudio的回调机制在获取音频数据并发送过程中的作用。通过PortAudio的回调函数ph_pa_callback,实现了从麦克风获取音频到RTP发送的完整路径。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值