1. 系统使用
Q:它方视频的参数是否可调整?
Q:它方视频在本地显示为何明显质量更差?
Q:一些典型的界面操作后台发生的事件?如,私聊、关闭音视频等等。
2. 文档研读
文档研读顺序:
* Avaya文档及前期文档笔记review
* 重读所有文档
* 看代码
3. 一些问题
Q:和OS有关的代码完全封装在某些包里吗?Compile/Build过程有无任何不同?
Q VC:How to 知道一个class的继承树?
Q:视频丢帧算法是在哪里完成的?具体代码如何?在某个XXXRegulator中吗? 2011/12/19
Q:私聊信息在系统中传递的全过程?
Q:Why Channel中没有实质性内容?
4. 代码阅读
// GCC层的Session会实现IInfoSvrSession接口
class RT_API_EXPORT IInfoSvrSession
{
public:
virtual RtResult SendData(const CInfoSID& dstId,
const CRtMessageBlock& Msg) = 0;
virtual RtResult SetOption(INFO_SVR_APP_OPTION_TYPE type, void* pData) = 0;
virtual const CInfoSID& GetServerSessionPortID() const = 0;
virtual const CInfoSID& GetTopServerSessionPortID() const = 0;
virtual RtResult CreateChannel(const CRtString& UserData,
CInfoSID& channelId) = 0;
virtual RtResult DestroyChannel(const CInfoSID& channelId) = 0;
virtual RtResult JoinChannel(const CInfoSID& UserID , const CInfoSID& ChannelID) = 0;
virtual RtResult LeaveChannel(const CInfoSID& UserID , const CInfoSID& ChannelID) = 0;
virtual RtResult UpdateResource(const CUpdateResource* pUdate) = 0;
protected:
virtual ~IInfoSvrSession(){}
};
Q:What's really happening here ?
5. 音频相关的几个因素
* 网络传输:抖动、丢包
* 语音处理:回声、降噪
* 编解码:Speex、G711