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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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>
            国语精品中文字幕| 一区二区三区在线免费视频| 欧美精品在线一区二区| 国产午夜久久久久| 亚洲女女女同性video| 亚洲国产欧美国产综合一区 | 在线视频日本亚洲性| 免费观看成人www动漫视频| 国产综合亚洲精品一区二| 欧美一级视频免费在线观看| 一区二区成人精品| 欧美色精品天天在线观看视频| 亚洲精品久久| 亚洲第一色在线| 欧美第一黄网免费网站| 亚洲美女在线观看| 一区二区三区视频在线看| 亚洲第一色中文字幕| 欧美 日韩 国产在线| 亚洲九九爱视频| 亚洲另类一区二区| 欧美日产一区二区三区在线观看| 99人久久精品视频最新地址| 99热在线精品观看| 国产精品专区一| 久久精品成人| 久久尤物视频| 99精品国产一区二区青青牛奶| 亚洲一区在线播放| 亚洲欧美日韩国产中文| 国产亚洲精品久久久久婷婷瑜伽| 久久精品视频在线| 久久综合成人精品亚洲另类欧美| 91久久精品美女高潮| 夜夜爽99久久国产综合精品女不卡 | 欧美成人午夜激情| 欧美大片91| 午夜精品理论片| 久久精品首页| 99国产精品一区| 亚洲免费婷婷| 亚洲区一区二| 亚洲私人影院| 在线日韩av| 一区二区欧美亚洲| 狠狠v欧美v日韩v亚洲ⅴ| 91久久久久久| 国内偷自视频区视频综合| 嫩草影视亚洲| 欧美一区视频| 亚洲激情综合| 中文av字幕一区| 禁断一区二区三区在线| 亚洲精品国产视频| 国产精自产拍久久久久久蜜| 久久一区二区三区超碰国产精品| 欧美激情1区| 久久精品国产v日韩v亚洲| 欧美激情在线| 久久久午夜电影| 欧美视频二区36p| 欧美1区视频| 国产三级精品三级| av成人免费在线观看| 亚洲黄页视频免费观看| 欧美一区二区在线观看| 亚洲一区二区精品在线| 免费成人激情视频| 久久久久久九九九九| 欧美视频一区二区三区…| 亚洲电影免费在线观看| 激情五月婷婷综合| 欧美亚洲免费高清在线观看| 亚洲香蕉视频| 欧美日韩国产高清视频| 欧美jizzhd精品欧美巨大免费| 国产精品综合网站| 亚洲图片欧洲图片日韩av| 一区二区精品国产| 欧美成人中文| 亚洲国产午夜| 亚洲人成77777在线观看网| 久久亚洲一区二区三区四区| 久久久久久伊人| 国产精品视频男人的天堂| 日韩亚洲综合在线| 一区二区三区国产精华| 欧美高清一区| 亚洲国产日韩一区二区| 亚洲区一区二| 欧美精品偷拍| 91久久在线| 一本一本久久| 欧美吻胸吃奶大尺度电影| 亚洲精品美女在线| 亚洲最新在线| 国产精品国产一区二区| 亚洲性感激情| 久久精品30| 精品成人国产| 欧美1区视频| 亚洲欧洲日韩综合二区| 艳女tv在线观看国产一区| 欧美日韩精品二区第二页| aaa亚洲精品一二三区| 午夜精品999| 国产网站欧美日韩免费精品在线观看| 亚洲欧美日韩高清| 老司机精品视频网站| 亚洲高清色综合| 欧美成年网站| 一本色道久久综合亚洲精品婷婷| 亚洲女性裸体视频| 国产视频在线观看一区二区三区| 欧美一区精品| 亚洲国产精品久久91精品| 欧美日韩三级电影在线| 一本色道久久综合亚洲91 | 99国产精品久久久久久久久久 | 亚洲国产欧美不卡在线观看| 一区二区久久久久久| 国产精品素人视频| 久久爱www久久做| 亚洲高清二区| 午夜亚洲视频| 一区在线视频观看| 欧美日韩一二三四五区| 欧美在线视频免费播放| 亚洲精品男同| 久久久久久久久久久成人| 亚洲精选久久| 国内一区二区三区在线视频| 欧美精品一区二区三区视频| 欧美一级片久久久久久久| 欧美激情一区二区三区蜜桃视频| 亚洲午夜精品一区二区三区他趣 | 欧美自拍偷拍午夜视频| 亚洲国产高清自拍| 国产精品无码专区在线观看| 美女精品网站| 亚洲综合电影| 亚洲精品国久久99热| 久久久一区二区三区| 亚洲一区中文字幕在线观看| 亚洲国产老妈| 国产亚洲一区二区在线观看| 欧美日韩ab片| 免费看精品久久片| 欧美与欧洲交xxxx免费观看| 一区二区三区国产在线观看| 亚洲大胆人体视频| 久久另类ts人妖一区二区| 亚洲欧美国产视频| 一本大道久久a久久综合婷婷| 亚洲第一中文字幕在线观看| 国产欧美日韩亚洲| 国产精品户外野外| 欧美日韩精品综合在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲欧美在线观看| 亚洲午夜激情| 亚洲图片在线观看| 一本色道久久综合一区| 亚洲日韩欧美视频一区| 欧美黄色日本| 欧美高清一区| 欧美国产高清| 欧美黄色aa电影| 欧美黑人在线观看| 欧美成人a视频| 免费人成网站在线观看欧美高清| 久久久久久网| 久久亚洲美女| 麻豆精品91| 美女视频黄a大片欧美| 蜜桃av一区二区三区| 久久亚洲视频| 老司机一区二区三区| 欧美1区免费| 欧美黄色成人网| 亚洲人妖在线| 99精品国产99久久久久久福利| a91a精品视频在线观看| 日韩一区二区精品| 亚洲小视频在线| 亚洲欧美中文日韩v在线观看| 性欧美超级视频| 久久国产天堂福利天堂| 亚洲欧洲日本国产| 亚洲黄色在线看| 亚洲精品久久嫩草网站秘色 | 亚洲一卡久久| 欧美一区二区三区久久精品茉莉花| 性欧美在线看片a免费观看| 欧美在线视频全部完| 蜜臀av一级做a爰片久久| 欧美激情在线| 国产伦精品一区二区三| 激情小说另类小说亚洲欧美| 亚洲人成人一区二区三区|