1. 程式人生 > >Live555中RTP包的打包與傳送過程分析

Live555中RTP包的打包與傳送過程分析

afterGettingFrame1函式的複雜之處在於處理frame的分片,若一個frame大於TCP/UDP有效載荷(程式中定義為1448個位元組),就必需分片了。最簡單的情況就是一個packet(RTP)中最多隻充許一個frame,即一個RTP包中存在一個frame或者frame的一個分片,H264就是這樣處理的:方法是將剩餘的資料記錄為buffer的溢位部分。下次呼叫packFrame函式時,直接從溢位部分複製到packet中。不過應該注意,一個frame的大小不能超過buffer的大小(預設為60000),否則會真的溢位, 那就應該考慮增加buffer大小了。