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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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 楊粼波 閱讀(2523) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情在线狂野欧美精品| 欧美精品18videos性欧美| 国产精品久久久久久久电影 | 国产目拍亚洲精品99久久精品| 亚洲免费婷婷| 欧美一级片在线播放| 国内外成人免费激情在线视频网站| 久久久免费av| 麻豆成人在线观看| 亚洲精品在线观| 亚洲午夜激情网站| 国产综合亚洲精品一区二| 欧美成人精品福利| 欧美日韩免费观看一区| 欧美亚洲一区二区三区| 久久这里有精品视频| 日韩视频三区| 亚洲欧美色一区| 亚洲国产精品成人综合色在线婷婷| 亚洲国产视频直播| 国产精品极品美女粉嫩高清在线| 久久精品首页| 欧美精品在线一区二区三区| 午夜一级久久| 欧美福利电影在线观看| 欧美一级欧美一级在线播放| 久久青青草原一区二区| 亚洲在线观看免费| 麻豆精品传媒视频| 午夜视频久久久| 欧美电影电视剧在线观看| 久久高清一区| 欧美日韩一区二| 欧美激情91| 国产一区二区欧美| 中日韩午夜理伦电影免费| 亚洲福利视频免费观看| 午夜激情一区| 亚洲字幕一区二区| 欧美成人久久| 欧美91大片| 国产日韩亚洲欧美| 亚洲午夜电影在线观看| 亚洲免费不卡| 欧美成人精品在线视频| 久久久噜噜噜久久久| 国产精品视频| 在线亚洲美日韩| 9色精品在线| 欧美成人免费在线| 欧美福利视频在线观看| 狠久久av成人天堂| 性欧美videos另类喷潮| 亚洲男人影院| 国产精品美女久久久久久久 | 久久噜噜噜精品国产亚洲综合| 欧美婷婷六月丁香综合色| 亚洲国产1区| 亚洲日韩第九十九页| 久久全国免费视频| 蜜桃av一区二区三区| 国产一区二区高清视频| 欧美一级黄色录像| 久久九九全国免费精品观看| 国产精品私人影院| 午夜亚洲一区| 久久精品视频亚洲| 狠色狠色综合久久| 免费亚洲电影在线| 欧美激情在线| aⅴ色国产欧美| 国产精品家庭影院| 亚洲欧美在线一区| 久久亚洲精品中文字幕冲田杏梨 | 欧美另类人妖| 亚洲视频一二区| 欧美一进一出视频| 国产在线观看一区| 久久久美女艺术照精彩视频福利播放| 久久综合免费视频影院| 伊人久久大香线蕉av超碰演员| 久久天堂国产精品| 亚洲国产精品一区二区www在线| 亚洲全部视频| 国产精品国产一区二区| 欧美一区在线直播| 免费日韩一区二区| 亚洲视频福利| 国产欧美一区二区三区在线老狼| 久久国产精品第一页| 欧美国产精品久久| 亚洲午夜伦理| 影音先锋在线一区| 欧美色图天堂网| 欧美一区二区三区久久精品| 猛男gaygay欧美视频| 中文亚洲欧美| 今天的高清视频免费播放成人 | 亚洲电影自拍| 欧美日韩专区| 久久精品国产77777蜜臀| 欧美激情一区二区三区全黄| 亚洲午夜视频在线观看| 激情成人综合网| 国产精品vip| 久久久水蜜桃av免费网站| 亚洲美女av黄| 欧美国产一区二区在线观看| 午夜在线视频观看日韩17c| 1024精品一区二区三区| 国产精品欧美久久| 毛片基地黄久久久久久天堂| 一本综合精品| 亚洲国产综合视频在线观看| 久久疯狂做爰流白浆xx| 亚洲午夜av电影| 亚洲国产精品第一区二区三区| 国产精品区一区二区三区| 欧美激情网友自拍| 久久精品一二三区| 亚洲一级黄色片| 亚洲日本视频| 欧美激情日韩| 免播放器亚洲| 久久精品国产第一区二区三区最新章节 | 欧美人与禽猛交乱配| 久久久噜噜噜久久中文字免| 午夜激情一区| 亚洲主播在线观看| 日韩亚洲欧美精品| 亚洲片在线观看| 亚洲福利免费| 欧美成人免费网站| 久热精品在线| 久久天天狠狠| 久久青草福利网站| 久久久久五月天| 久久精品一区二区三区中文字幕| 亚洲欧美国产精品专区久久| 99综合电影在线视频| 亚洲美女福利视频网站| 日韩一区二区久久| 99精品欧美一区二区三区 | 国产视频一区免费看| 国产精品蜜臀在线观看| 国产精品专区h在线观看| 国产精品久久久久久久久久久久| 国产精品二区影院| 国产精品亚洲综合色区韩国| 国产精品综合| 国产亚洲精品v| 好吊日精品视频| 亚洲丁香婷深爱综合| 亚洲美女在线一区| 亚洲天堂久久| 午夜精品福利一区二区三区av | 99视频精品全国免费| 亚洲深夜影院| 午夜欧美电影在线观看| 久久视频在线免费观看| 欧美激情精品久久久久久黑人| 欧美国产精品va在线观看| 91久久精品国产91久久性色| 一区二区三区视频在线看| 亚洲一区在线观看免费观看电影高清| 午夜久久久久| 欧美国产在线观看| 国产精品爽黄69| 精品69视频一区二区三区| 亚洲精品一区二区三区蜜桃久 | 最新成人av在线| 中文国产一区| 久久天堂成人| 亚洲欧洲日韩女同| 亚洲欧美999| 女生裸体视频一区二区三区| 欧美日韩在线大尺度| 国内自拍一区| 亚洲一级黄色片| 久久亚洲国产成人| 99国产精品久久久久久久| 亚洲欧美制服另类日韩| 另类激情亚洲| 国产老女人精品毛片久久| 亚洲国产专区校园欧美| 亚洲欧美日韩一区二区在线| 久热这里只精品99re8久| 亚洲伦伦在线| 久久网站免费| 国产精品亚洲综合久久| 亚洲人成艺术| 老司机免费视频一区二区| 一区二区三区不卡视频在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲国产岛国毛片在线| 欧美一区二区三区在线| 欧美小视频在线观看| 亚洲激情另类| 久久综合五月天婷婷伊人| 亚洲尤物影院|