青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

jrtplib 分包處理

轉載自:http://blog.csdn.net/sxcong/article/details/3736354

聽說jrtplib寫的不錯,終于找到時間下來看看。
下載,直接用VC6編譯,很容易。
然后打開VC,建立工程,測試examples下那幾個收發程序,的確用起來很簡單。想想以前都是自己封裝UDP,現在的程序員真幸福。
不過,在發送視頻數據時出了問題,跟蹤進去看了一下,里面設置最大幀數據長度為1400。于是自己設置最大為32X1024,跟進去還不行。
原來是內部沒有分包處理,超過上限就不允許發了。
隨便搜了一個,有個叫SmartView的視頻會議源碼,是改寫jrtplib的RTPSession的SendPacket,在這里分包。很不錯的想法。
不過又一想,jrtplib,本身是做為lib提供的,雖然可以改寫其代碼,但肯定與作者初衷不符。
于是找到利用這個庫的同作者寫的開源項目emiplib,夠復雜的,把ffmpeg也集進來了。先不管,直接搜索關鍵字RTPSession和SendPacket,發現他發
送的是自己封裝的一個類MIPRTPSendMessage,其父類是MIPMessage??吹竭@想都不用想,作者肯定是在發送之前先進行了處理,形成了自己定義格式的Message再發送。
收到后在形成MIPRTPRecvMessage。這應該是是最正規的寫法。
不過,想想這個庫,雖然沒用過,但很多年前就聽人說過,肯定考慮過這些問題。沒有文件,就仔細看頭文件,終于發現了SendPacketEx這個函數,一大堆英文說明,
剛才沒仔細看:
    /** Sends the RTP packet with payload /c data which has length /c len.
     *  The packet will contain a header extension with identifier /c hdrextID and containing data 
     *  /c hdrextdata. The length of this data is given by /c numhdrextwords and is specified in a 
     *  number of 32-bit words. The used payload type, marker and timestamp increment will be those that
     *  have been set using the /c SetDefault member functions.
     */
     這回看清楚了吧,對,就是那個hdrextdata,是分包的數據,是長度,hdrextID是其ID。這樣,發送數據的時候,先分好包,再調用SendPacketEx就行了。
     
     發送沒問題了,再說接收。也不看類結構了,參考亞歷山大方法,直接搜索recvfrom。在
     RTPUDPv4Transmitter::PollSocket這里找到了,然后緊接就是RTPRawPacket *pack;pack = RTPNew(....
     很好,收到后先封裝成了RTPRawPacket。但是,最終和用戶打交道的是RTPPacket,于是看它的頭文件,一眼就看到:
         /** If a header extension is present, this function returns the extension identifier. */
    uint16_t GetExtensionID() const                                                        { return extid; }

    /** Returns the length of the header extension data. */
    uint8_t *GetExtensionData() const                                                    { return extension; }
    
    /** Returns the length of the header extension data. */
    size_t GetExtensionLength() const                                                    { return extensionlength; }
    
    對頭,這就是我們需要的。
    但是,這三個值是怎么出現的呢?回頭再看從RTPRawPacket-->RTPPacket.
     處理的過程看起來比較復雜,就先找外面的回調,應該在ProcessPolledData里面。
     然后,看到了ProcessRawPacket(...),參數都不用看,從函數名就知道這是我們想要了解的東西了。其實不知道這個也沒關系,我們只需要調用上面那三個函數
     就可以在外面重新組包了。
     
     兩瓶酒的時間分析結束。不過只是聽說這個庫寫的不錯,隨手記下來看看,實在沒興趣動手用代碼來實現了。有哪位兄弟能寫出代碼附上就好了。

posted on 2013-09-03 14:36 楊粼波 閱讀(2518) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩一级在线观看| 欧美大片在线观看一区| 欧美黄色免费网站| 久久天堂精品| 免费久久99精品国产自在现线| 久久久中精品2020中文| 久久久国产成人精品| 久久久国产午夜精品| 久久欧美中文字幕| 亚洲福利一区| 亚洲精品一区二区三区婷婷月| 妖精成人www高清在线观看| 亚洲一区二区三区午夜| 久久国产精品久久精品国产| 久久国产天堂福利天堂| 欧美激情一区二区三区| 国产精品一区在线播放| 亚洲国产精品激情在线观看| 亚洲午夜激情| 免费在线看成人av| 一本色道88久久加勒比精品| 久久激情婷婷| 欧美日韩在线播放三区| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲永久免费视频| 中日韩男男gay无套| 欧美在线视屏| 亚洲国产日日夜夜| 亚洲欧美国产77777| 欧美sm视频| 国产亚洲高清视频| 在线视频你懂得一区二区三区| 久久精品五月| 99视频+国产日韩欧美| 久久五月激情| 国产精品午夜在线| 在线视频欧美日韩| 亚洲高清视频在线观看| 欧美一区二区三区四区视频| 欧美日韩国产区一| 亚洲风情亚aⅴ在线发布| 性亚洲最疯狂xxxx高清| 一本色道久久综合亚洲精品按摩| 老司机精品视频网站| 国产亚洲精品久久久久久| 亚洲私人影院在线观看| 亚洲国产日本| 老司机免费视频一区二区三区| 国产日韩av在线播放| 亚洲图片欧美日产| 亚洲精品美女在线观看| 免费中文字幕日韩欧美| 亚洲福利视频在线| 美女黄色成人网| 久久国产福利| 国模一区二区三区| 久久久久久久999精品视频| 亚洲欧美视频一区二区三区| 国产精品v欧美精品v日韩精品| 日韩亚洲精品在线| 亚洲欧洲精品一区二区三区不卡 | 亚洲精品乱码久久久久久按摩观| 久久久久久网址| 狠狠色狠狠色综合| 久久综合一区二区| 久久精品日韩| 又紧又大又爽精品一区二区| 美日韩精品免费| 久久裸体艺术| 亚洲三级色网| 99视频精品在线| 国产精品高清在线| 欧美中文在线观看国产| 羞羞答答国产精品www一本| 国产综合香蕉五月婷在线| 久久午夜精品| 能在线观看的日韩av| 99re6热只有精品免费观看| 欧美日本在线看| 亚洲国产日韩一区| 亚洲欧洲精品一区二区三区| 欧美午夜精品久久久久久孕妇| 亚洲精品国产精品国自产在线| 亚洲国产小视频| 欧美视频免费在线| 久久久99国产精品免费| 免费久久久一本精品久久区| 在线中文字幕一区| 欧美一区二区日韩| 亚洲精品国产精品乱码不99| 日韩视频精品在线| 国产精品欧美精品| 久热精品视频在线观看| 欧美激情第二页| 欧美一区视频| 欧美大片一区| 久久成人免费日本黄色| 欧美国产日韩二区| 久久se精品一区二区| 欧美成人精品高清在线播放| 午夜精品视频网站| 免费一级欧美在线大片| 欧美亚洲一区二区在线观看| 你懂的视频一区二区| 午夜视频一区| 欧美国产欧美综合| 久久久一本精品99久久精品66| 欧美日韩高清一区| 久久夜色精品国产欧美乱极品| 欧美日韩福利| 亚洲国产精品成人综合色在线婷婷 | 国产精品免费视频观看| 欧美激情第一页xxx| 国产日韩欧美在线| 亚洲精品系列| 最新国产精品拍自在线播放| 亚洲欧美国产制服动漫| 日韩一二三区视频| 蜜桃久久精品一区二区| 久久精品国产亚洲aⅴ| 国产精品www| 一本大道av伊人久久综合| 日韩视频在线一区| 欧美韩日高清| 欧美激情久久久久久| 一区精品在线| 久久久久久久综合| 久久久夜夜夜| 国产在线精品自拍| 欧美一区二区三区四区视频 | 亚洲精品欧美日韩| 久久三级视频| 女人天堂亚洲aⅴ在线观看| 国产日韩av高清| 午夜视频久久久久久| 午夜日韩av| 国产精品欧美一区喷水| 亚洲免费网址| 久久国产日韩| 伊大人香蕉综合8在线视| 久久精品亚洲精品| 欧美日韩国产片| 亚洲黄色在线视频| 亚洲高清在线精品| 你懂的视频一区二区| 91久久亚洲| 亚洲少妇中出一区| 欧美午夜视频网站| 亚洲女同精品视频| 六月丁香综合| 一本色道久久综合亚洲精品按摩 | 欧美在线免费| 久久米奇亚洲| 亚洲福利国产精品| 欧美日韩美女| 香蕉国产精品偷在线观看不卡| 久久精品一二三区| 亚洲国产精品黑人久久久| 久久久久久久久久久久久女国产乱 | 久久成人这里只有精品| 久久这里只有| 1024国产精品| 欧美日韩色婷婷| 一区二区三区 在线观看视频| 亚洲资源av| 亚洲高清资源| 欧美日韩国产综合新一区| 亚洲私人影院| 麻豆精品在线视频| 日韩一区二区高清| 国产精品观看| 欧美专区在线观看| 亚洲日韩成人| 久久久久久一区二区三区| 亚洲激情av| 国产欧美日韩在线观看| 麻豆91精品91久久久的内涵| 99视频有精品| 久久久久中文| 亚洲在线免费| 最新亚洲视频| 国产日韩视频一区二区三区| 欧美精品乱人伦久久久久久 | 在线观看精品一区| 欧美午夜精彩| 老色鬼久久亚洲一区二区| 亚洲永久字幕| 亚洲精品少妇| 亚洲国产精品va在看黑人| 久久精品网址| 欧美伊人久久久久久久久影院| 亚洲欧洲一区二区三区在线观看| 国产欧美日韩亚洲| 欧美日韩成人在线观看| 男人的天堂亚洲在线| 久久久www成人免费无遮挡大片| 亚洲一区二区毛片| 亚洲免费观看| 91久久夜色精品国产九色| 欧美成人精品一区二区|