forked from KangLin/RabbitIm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
102 lines (85 loc) · 5.06 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
版本:0.1.1
--------------
1. 添加 doxygen 文档
2. 根据协议类型动态使用相应的协议
3. 插件
3.1. 重构插件
3.2. 增加应用(以插件方式添加)
3.2.1. LBS插件
3.2.1.1. 增加地图功能
3.2.1.2. 运动跟踪
3.2.1.3. 定义上传、下载协议(TODO)
3.2.1.4. 服务器开发(TODO)
3.2.1.5. 运动轨迹浏览
3.2.1.6. 实时跟踪
3.2.2. 更新插件
3.2.3. 截屏插件
3.2.4. 二维码插件
3.3. 增加协议插件
3.3.1 QXMPP协议插件
4. 重构保存目录
5. 重构android通知栏,支持低版本的android
6. 重构呼叫框架
7. 重构系统提示TIP抽象 (TODO)
8. 重构好友信息抽象
9. 重构好友消息抽象
10. 重命名 CManage 的 LoginInit、LogoutClean 接口
11. 增加用 WEBRTC 库实现呼叫
(TODO:当监控模式时,监控方仍然有视频与音频流量)
(TODO:呼叫信令改成标准QXMPP协议)
(BUG:webrtc有内存泄漏,需要确定是WEBRTC,还是本程序)
12. 增禁用锁屏功能,实现 windows、android 平台(TODO:linux)
13. 记录好友列表组节点、应用列表组节点打开状态
14. 重构版本号,以及更新插件(TODO)
15. ci (TODO)
linux下deb安装包:
qt依赖库安装 qtwebkitwidge 有依赖其它qt库,插件找不到
应用程序快捷图标
rpm安装包建立
android 下,程序进入后台后,就没有响应。
v0.1.2
---------
1. 添加QQ sdk
3. 重构摄像头信息
摄像头捕获帧率、输出帧像素格式、帧大小
4. 重构音频捕获
5. 重构视频输出窗口
在大屏窗口把视频显示窗口与消息窗口合并显示。视频显示窗口设置为可浮动。
用p2p 伪 TCP 实现文件传输
BUG:QXMPP 文件传输不完整,需要调试确定原因
v.0.1.3
---------
p2p 伪 TCP 实现远程控制
linux平台下打开不了接收的包含有中文名的文件
android平台下打开不了接收的文件
做以下平台测试:
opensuse
centos
freebsd
debian
视频会议开发
消息记录保存到文件中
qt 在ubuntu下不能禁用最大化按钮
qxmpp增加设置视频编码格式
用webrtc摄像头,查捕获时间。
用qt捕获摄像头、音频每帧的时间
测试libyuv性能与现有的转换程序对性能对比
增加人脸识别登录功能
做呼叫彩铃
用多线程进行处理,用单独的线程处理显示
andriod视频优化思路:
android摄像头捕获的视频格式是NV21,libvpx的输入格式是YUV420P,
QXmppVpxEncoder::handleFrame中进行了一次// YUYV -> YUV420P
android平台需要优化视频性能。从视频大小、帧率进行优化
BUG:
对方退出,openfire服务器发送下面命令:
周四 三月 20 16:46:57 2014 RECEIVED <presence type="unavailable" from="[email protected]/QXmpp" to="[email protected]"/>
这个时候 QXmpp能接收到状态改变,但状为在线:
CFrmUserList::ChangedPresence jid:[email protected]/QXmpp;status:
源码中 void QXmppRosterManager::_q_presenceReceived(const QXmppPresence& presence)
有对 unavailable 的处理,但只是发送了emit presenceChanged(bareJid, resource);信号。没有把状态做为参数。不能区分。
同一用户在不同地方登录,openfire服务器会发送下面命令:
RECEIVED <stream:error xmlns:stream="http://etherx.jabber.org/streams"><conflict xmlns="urn:ietf:params:xml:ns:xmpp-streams"/></stream:error></stream:stream>
qxmpp能接收到网络断连错误,但没有解析冲突错误。
呼叫错误处理,QXMPP没有解析iq错误包:
周一 三月 31 14:39:47 2014 RECEIVED <iq type="error" id="qxmpp8" from="[email protected]/QXmpp" to="[email protected]/QXmpp"><jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" initiator="[email protected]/QXmpp" sid="TEDsrpqO4zKjSfX4hM1L4sY1piaeAyjd"><content creator="initiator" name="voice" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio"><payload-type id="0" name="PCMU" clockrate="8000"/><payload-type id="8" name="PCMA" clockrate="8000"/><payload-type id="101" name="telephone-event" clockrate="8000"><parameter name="events" value="0-15"/></payload-type></description><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="ZcWj" pwd="teDQhpnSuOgrulOT8ubjYo"><candidate component="1" foundation="0" generation="0" id="1FrklXxQjM" ip="192.168.10.12" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="1" generation="0" id="23ioDA08YC" ip="2001:0:9d38:6ab8:24b2:3ca1:3f57:f5f3" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/><candidate component="2" foundation="0" generation="0" id="oiaAfRSRy2" ip="192.168.10.12" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="1" generation="0" id="OJhNG6c4Wh" ip="2001:0:9d38:6ab8:24b2:3ca1:3f57:f5f3" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/></transport></content></jingle><error code="503" type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>