[发明专利]数据发送方法及装置有效
申请号: | 201710615879.4 | 申请日: | 2017-07-26 |
公开(公告)号: | CN107454432B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 高治力;黄业桃 | 申请(专利权)人: | 北京疯景科技有限公司 |
主分类号: | H04N21/2187 | 分类号: | H04N21/2187;H04N21/231;H04N21/2343;H04N21/4402;H04N21/643;H04N21/845 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100041 北京市石景*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 发送 方法 装置 | ||
1.一种数据发送方法,其特征在于,包括:
对帧数据进行数据包封装;
判断所述数据包为当前编码序列的数据包还是下一个编码序列首帧的数据包,对于当前编码序列的数据包,逐一成功发送每个数据包;在下一个编码序列首帧的数据包到来时,清空当前编码序列的数据包的发送,逐一成功发送下一个编码序列的数据包;
其中,所述对于当前编码序列的数据包,逐一成功发送每个数据包,包括:
判断发送缓存是否为空,如果为空,则立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;如果所述发送缓存不为空,则将所述数据包写入所述发送缓存中进行发送;
所述在下一个编码序列首帧的数据包到来时,清空当前编码序列的数据包的发送,逐一成功发送下一个编码序列的数据包,包括:
判断发送缓存是否为空,如果为空,则立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;如果所述发送缓存不为空,则将所述发送缓存清空,并立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;
其中,所述将所述数据包写入所述发送缓存中进行发送,包括:
将所述数据包拷贝到所述发送缓存中;
如果发送线程处于停止状态,则启动所述发送线程,判断发送缓存中是否有数据包,如果有,则对所述发送缓存中的首个数据包进行发送,若发送成功,则删除发送成功的数据包,并重复执行所述判断发送缓存中是否有数据包的步骤;若发送失败,则重复执行所述判断发送缓存中是否有数据包的步骤。
2.根据权利要求1所述的方法,其特征在于,所述判断所述数据包为当前编码序列的数据包还是下一个编码序列首帧的数据包,包括:
判断所述数据包是否为封装即时解码刷新IDR帧的数据包,如果不是,则确定所述数据包为当前编码序列的数据包;如果是,则确定所述数据包为下一个编码序列首帧的数据包。
3.一种数据发送装置,其特征在于,包括:
封装单元,用于对帧数据进行数据包封装;
判断单元,用于判断所述数据包为当前编码序列的数据包还是下一个编码序列首帧的数据包;
发送单元,用于对于当前编码序列的数据包,逐一成功发送每个数据包;在下一个编码序列首帧的数据包到来时,清空当前编码序列的数据包的发送,逐一成功发送下一个编码序列的数据包;
所述发送单元在下一个编码序列首帧的数据包到来时,清空当前编码序列的数据包的发送,逐一成功发送下一个编码序列的数据包,包括:
判断发送缓存是否为空,如果为空,则立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;如果所述发送缓存不为空,则将所述发送缓存清空,并立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;
其中,所述发送单元对于当前编码序列的数据包,逐一成功发送每个数据包,包括:
判断发送缓存是否为空,如果为空,则立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;如果所述发送缓存不为空,则将所述数据包写入所述发送缓存中进行发送;
其中,所述发送单元将所述数据包写入所述发送缓存中进行发送,包括:
将所述数据包拷贝到所述发送缓存中;
如果发送线程处于停止状态,则启动所述发送线程,判断发送缓存中是否有数据包,如果有,则对所述发送缓存中的首个数据包进行发送,若发送成功,则删除发送成功的数据包,并重复执行所述判断发送缓存中是否有数据包的步骤;若发送失败,则重复执行所述判断发送缓存中是否有数据包的步骤。
4.根据权利要求3所述的装置,其特征在于,所述判断单元判断所述数据包为当前编码序列的数据包还是下一个编码序列首帧的数据包,包括:
判断所述数据包是否为封装即时解码刷新IDR帧的数据包,如果不是,则确定所述数据包为当前编码序列的数据包;如果是,则确定所述数据包为下一个编码序列首帧的数据包。
5.一种数据发送装置,其特征在于,包括:
处理器;以及,
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
对帧数据进行数据包封装;
判断所述数据包为当前编码序列的数据包还是下一个编码序列首帧的数据包,对于当前编码序列的数据包,逐一成功发送每个数据包;在下一个编码序列首帧的数据包到来时,清空当前编码序列的数据包的发送,逐一成功发送下一个编码序列的数据包;
其中,所述对于当前编码序列的数据包,逐一成功发送每个数据包,包括:
判断发送缓存是否为空,如果为空,则立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;如果所述发送缓存不为空,则将所述数据包写入所述发送缓存中进行发送;
所述在下一个编码序列首帧的数据包到来时,清空当前编码序列的数据包的发送,逐一成功发送下一个编码序列的数据包,包括:
判断发送缓存是否为空,如果为空,则立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;如果所述发送缓存不为空,则将所述发送缓存清空,并立即对所述数据包进行发送,若发送成功,则所述数据包发送结束;若发送失败,则将所述数据包写入所述发送缓存中进行发送;
其中,所述将所述数据包写入所述发送缓存中进行发送,包括:
将所述数据包拷贝到所述发送缓存中;
如果发送线程处于停止状态,则启动所述发送线程,判断发送缓存中是否有数据包,如果有,则对所述发送缓存中的首个数据包进行发送,若发送成功,则删除发送成功的数据包,并重复执行所述判断发送缓存中是否有数据包的步骤;若发送失败,则重复执行所述判断发送缓存中是否有数据包的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京疯景科技有限公司,未经北京疯景科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710615879.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置