[發明專利]數據發送方法及裝置有效
| 申請號: | 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.szxzyx.cn/pat/books/201710615879.4/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





