亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rtp.c

?? 網(wǎng)絡(luò)MPEG4IP流媒體開發(fā)源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************************* COPYRIGHT AND WARRANTY INFORMATION** Copyright 2001, International Telecommunications Union, Geneva** DISCLAIMER OF WARRANTY** These software programs are available to the user without any* license fee or royalty on an "as is" basis. The ITU disclaims* any and all warranties, whether express, implied, or* statutory, including any implied warranties of merchantability* or of fitness for a particular purpose.  In no event shall the* contributor or the ITU be liable for any incidental, punitive, or* consequential damages of any kind whatsoever arising from the* use of these programs.** This disclaimer of warranty extends to the user of these programs* and user's customers, employees, agents, transferees, successors,* and assigns.** The ITU does not represent or warrant that the programs furnished* hereunder are free of infringement of any third-party patents.* Commercial implementations of ITU-T Recommendations, including* shareware, may be subject to royalty fees to patent holders.* Information regarding the ITU-T patent policy is available from* the ITU Web site at http://www.itu.int.** THIS IS NOT A GRANT OF PATENT RIGHTS - SEE THE ITU-T PATENT POLICY.*************************************************************************//*! ***************************************************************************** * * \file rtp.c * * \brief *    Functions to handle RTP headers and packets per RFC1889 and RTP NAL spec *    Functions support little endian systems only (Intel, not Motorola/Sparc) * * \date *    30 September 2001 * * \author *    Stephan Wenger   stewe@cs.tu-berlin.de *****************************************************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <memory.h>#include "rtp.h"#include "elements.h"#include "defines.h"#include "global.h"// A little trick to avoid those horrible #if TRACE all over the source code#if TRACE#define SYMTRACESTRING(s) strncpy(sym.tracestring,s,TRACESTRING_SIZE)#else#define SYMTRACESTRING(s) // to nothing#endifint CurrentRTPTimestamp = 0;      //! The RTP timestamp of the current packet,                                  //! incremented with all P and I framesint CurrentRTPSequenceNumber = 0; //! The RTP sequence number of the current packet                                  //! incremented by one for each sent packet/*! ***************************************************************************** * * \brief  *    ComposeRTPpacket composes the complete RTP packet using the various *    structure members of the RTPpacket_t structure * * \return *    0 in case of success *    negative error code in case of failure * * \para Parameters *    Caller is responsible to allocate enough memory for the generated packet *    in parameter->packet. Typically a malloc of 12+paylen bytes is sufficient * * \para Side effects *    none * * \para Other Notes *    Function contains assert() tests for debug purposes (consistency checks *    for RTP header fields * * \date *    30 Spetember 2001 * * \author *    Stephan Wenger   stewe@cs.tu-berlin.de *****************************************************************************/int ComposeRTPPacket (RTPpacket_t *p){  // Consistency checks through assert, only used for debug purposes  assert (p->v == 2);  assert (p->p == 0);  assert (p->x == 0);  assert (p->cc == 0);    // mixer designers need to change this one  assert (p->m == 0 || p->m == 1);  assert (p->pt < 128);  assert (p->seq < 65536);  assert (p->payload != NULL);  assert (p->paylen < 65536 - 40);  // 2**16 -40 for IP/UDP/RTP header  assert (p->packet != NULL);  // Compose RTP header, little endian  p->packet[0] = (   (p->v)                  |  (p->p << 2)                  |  (p->x << 3)                  |  (p->cc << 4) );  p->packet[1] = (   (p->m)                  |  (p->pt << 1) );  p->packet[2] = p->seq & 0xff;  p->packet[3] = (p->seq >> 8) & 0xff;  memcpy (&p->packet[4], &p->timestamp, 4);  // change to shifts for unified byte sex  memcpy (&p->packet[8], &p->ssrc, 4);// change to shifts for unified byte sex  // Copy payload   memcpy (&p->packet[12], p->payload, p->paylen);  p->packlen = p->paylen+12;  return 0;}/*! ***************************************************************************** * * \brief  *    WriteRTPPacket writes the supplied RTP packet to the output file * * \return *    0 in case of access *    <0 in case of write failure (typically fatal) * * \para Parameters *    p: the RTP packet to be written (after ComposeRTPPacket() ) *    f: output file * * \para Side effects *    none * * \date *    October 23, 2001 * * \author *    Stephan Wenger   stewe@cs.tu-berlin.de *****************************************************************************/int WriteRTPPacket (RTPpacket_t *p, FILE *f){  int intime = -1;  assert (f != NULL);  assert (p != NULL);  if (1 != fwrite (&p->packlen, 4, 1, f))    return -1;  if (1 != fwrite (&intime, 4, 1, f))    return -1;  if (1 != fwrite (p->packet, p->packlen, 1, f))    return -1;  return 0;}/*! ***************************************************************************** * * \brief  *    ComposeHeaderPacketPayload generates the payload for a header packet *    using the inp-> structure contents.  The header packet contains  *    definitions for a single parameter set 0, which is used for all  *    slices of the picture * * \return *    len of the genberated payload in bytes *    <0 in case of failure (typically fatal) * * \para Parameters *    p: the payload of the RTP packet to be written * * \para Side effects *    none * * \note *    This function should be revisited and checked in case of additional *    bit stream parameters that affect the picture header (or higher *    entitries).  Typical examples are more entropy coding schemes, other *    motion vector resolutiuon, and optional elements * * \date *    October 23, 2001 * * \author *    Stephan Wenger   stewe@cs.tu-berlin.de *****************************************************************************/int ComposeHeaderPacketPayload (byte *payload){  int slen=0;  int multpred;  assert (img->width%16 == 0);  assert (img->height%16 == 0);#ifdef _ADDITIONAL_REFERENCE_FRAME_  if (input->no_multpred <= 1 && input->add_ref_frame == 0)#else  if (input->no_multpred <= 1)#endif    multpred=FALSE;  else    multpred=TRUE;               // multiple reference frames in motion search    slen = snprintf (payload, MAXRTPPAYLOADLEN,              "a=H26L (0) MaxPicID %d\            \na=H26L (0) UseMultpred %d\            \na=H26L (0) BufCycle %d\            \na=H26L (0) PixAspectRatioX 1\            \na=H26L (0) PixAspectRatioY 1\            \na=H26L (0) DisplayWindowOffsetTop 0\            \na=H26L (0) DisplayWindowOffsetBottom 0\            \na=H26L (0) DisplayWindowOffsetRight 0\            \na=H26L (0) DisplayWindowOffsetLeft 0\            \na=H26L (0) XSizeMB %d\            \na=H26L (0) YSizeMB %d\            \na=H26L (0) EntropyCoding %s\            \na=H26L (0) MotionResolution %s\            \na=H26L (0) PartitioningType %s\            \na=H26L (0) IntraPredictionType %s\            \na=H26L (0) HRCParameters 0\            \            \na=H26L (-1) FramesToBeEncoded %d\            \na=H26L (-1) FrameSkip %d\            \na=H26L (-1) SequenceFileName %s\            %c%c",            256,            multpred==TRUE?1:0,            input->no_multpred,            input->img_width/16,            input->img_height/16,            input->symbol_mode==UVLC?"UVLC":"CABAC",            input->mv_res==0?"quater":"eigth",            input->partition_mode==0?"one":"three",            input->UseConstrainedIntraPred==0?"InterPredicted":"NotInterPredicted",            input->no_frames,            input->jumpd,            input->infile,            4,     // Unix Control D EOF symbol            26);  // MS-DOS/Windows Control Z EOF Symbol  return slen;}/*! ***************************************************************************** * * \brief  *    void RTPSequenceHeader (FILE *out) write the RTP Sequence header in the *       form of a header packet into the outfile.  It is assumed that the *       input-> structure is already filled (config file is parsed) * * \return *    length of sequence header * * \para Parameters *    out: fiel pointer of the output file * * \para Side effects *    header written, statistics are updated, RTP sequence number updated * * \para Note *    This function uses alloca() to reserve memry on the stack -- no freeing and *    no return value check necessary, error lead to stack overflows *

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区精品字幕| 色综合久久久久综合体桃花网| 亚洲美女一区二区三区| 国产日产欧产精品推荐色| 国产喂奶挤奶一区二区三区| 亚洲精品在线免费播放| 国产精品拍天天在线| 成人欧美一区二区三区| 三级一区在线视频先锋| 国产中文一区二区三区| av网站一区二区三区| 欧美午夜精品久久久| 精品少妇一区二区三区在线视频| 欧美tickle裸体挠脚心vk| 亚洲欧洲99久久| 九九久久精品视频| 97se亚洲国产综合自在线| 色婷婷亚洲综合| 国产精品毛片无遮挡高清| 免费人成精品欧美精品| 色先锋资源久久综合| 日韩三级.com| 亚洲中国最大av网站| 不卡视频在线观看| 久久网站最新地址| 久久国产尿小便嘘嘘尿| 色婷婷精品大在线视频| 亚洲国产精品精华液ab| 久久国产福利国产秒拍| 欧美老肥妇做.爰bbww视频| 亚洲动漫第一页| 欧美日韩日日摸| 午夜精品久久久久久久久| 日本大香伊一区二区三区| 亚洲同性gay激情无套| 99精品视频在线免费观看| 国产精品福利一区二区三区| 99国产精品一区| 亚洲一区二区三区四区不卡| 欧美午夜精品理论片a级按摩| 天天做天天摸天天爽国产一区| 日韩视频一区二区三区在线播放| 麻豆一区二区在线| 国产精品每日更新| 7777精品伊人久久久大香线蕉| 日韩**一区毛片| 自拍偷在线精品自拍偷无码专区| 色婷婷av一区二区三区大白胸| 香蕉成人啪国产精品视频综合网| 欧美成人一区二区三区| 91成人免费网站| 91小视频在线| 久久99精品网久久| 激情综合色综合久久| 亚洲午夜影视影院在线观看| 国产精品国产自产拍高清av王其 | 国产精品久久久久永久免费观看 | 日韩免费视频一区二区| 欧美在线制服丝袜| 欧美日韩国产在线播放网站| 色婷婷一区二区| 欧美精品精品一区| 久久久久国产一区二区三区四区| 欧美军同video69gay| 欧美videos中文字幕| 欧美精品一区视频| 欧美激情一区不卡| 亚洲少妇最新在线视频| 亚洲精品午夜久久久| 麻豆国产一区二区| 国产精品77777| 九九久久精品视频| 国产福利视频一区二区三区| 国产成人免费高清| 色国产精品一区在线观看| 国产91丝袜在线播放九色| 高清成人在线观看| www.色综合.com| 欧美另类z0zxhd电影| 精品免费一区二区三区| 国产精品久久久久久久久动漫| 亚洲欧美日韩小说| 麻豆freexxxx性91精品| 成人黄页在线观看| 欧美精品九九99久久| 精品日韩av一区二区| 中文字幕一区二区三区不卡 | 亚洲欧美激情小说另类| 亚洲福利电影网| 精品一区免费av| 在线观看亚洲成人| 中文子幕无线码一区tr| 亚洲成人资源网| 91视频观看免费| 国产女人18水真多18精品一级做| 性做久久久久久久免费看| 99综合影院在线| 欧美国产精品v| 国产大陆a不卡| 国产日韩欧美一区二区三区乱码 | 激情五月激情综合网| 欧美午夜一区二区三区免费大片| 欧美激情综合五月色丁香| 狠狠久久亚洲欧美| 中文字幕av在线一区二区三区| 国产老女人精品毛片久久| 日韩一区二区在线观看| 日本欧美肥老太交大片| 精品欧美一区二区久久| 国产一区二区三区观看| 91精品国产免费| 麻豆成人综合网| xnxx国产精品| 成人av午夜电影| 亚洲成人综合在线| 日韩视频免费观看高清完整版在线观看 | 91国偷自产一区二区开放时间 | 久久婷婷综合激情| 国产.欧美.日韩| 国产精品网站在线| 色婷婷久久久久swag精品| 亚洲尤物在线视频观看| 久久这里都是精品| 欧美在线三级电影| 国产精品夜夜爽| 婷婷一区二区三区| 综合中文字幕亚洲| 在线91免费看| 一本高清dvd不卡在线观看| **网站欧美大片在线观看| 日本道在线观看一区二区| 亚洲最新在线观看| 99久久精品99国产精品| 亚洲夂夂婷婷色拍ww47| 欧美一区二区三区小说| 成人免费看黄yyy456| 亚洲愉拍自拍另类高清精品| 日韩亚洲欧美一区| 成人a区在线观看| 激情成人午夜视频| 国产精品剧情在线亚洲| 国产丝袜美腿一区二区三区| 麻豆国产精品一区二区三区| 国产欧美一区二区三区在线看蜜臀| 日本精品视频一区二区三区| 精品亚洲成a人| 日本视频一区二区三区| 亚洲天堂免费在线观看视频| 国产精品久久久久久久久免费相片 | 亚洲精选视频免费看| 欧美视频在线观看一区二区| 成人av电影免费在线播放| 久久99国产精品尤物| 国产原创一区二区三区| 美国十次综合导航| 六月婷婷色综合| 成人性生交大片免费看在线播放| 毛片不卡一区二区| 国产精品一区二区你懂的| 国产成+人+日韩+欧美+亚洲| 国产成都精品91一区二区三| 国产aⅴ综合色| 99riav久久精品riav| av男人天堂一区| 久久精品久久综合| 91丨国产丨九色丨pron| 欧美日韩一二区| 国产欧美一区二区精品性| 一区二区三区精品在线观看| 一区二区在线观看不卡| 三级欧美在线一区| 免费在线观看一区| 成人性色生活片免费看爆迷你毛片| 色屁屁一区二区| 日韩午夜激情视频| 日韩一级视频免费观看在线| 国产精品不卡一区二区三区| 免费成人在线影院| 国产91丝袜在线18| 欧美一区二区精品| 亚洲女同ⅹxx女同tv| 国产精品综合网| 久久午夜电影网| 精品一区中文字幕| 日韩欧美一区在线| 久久色在线视频| 国产在线视频精品一区| 欧美一区二区三区免费观看视频| 亚洲精品国产成人久久av盗摄| 精品一区二区精品| 久久久久久久久蜜桃| 国产精品白丝av| 日本一区二区不卡视频| 国产成人在线观看免费网站| 久久婷婷一区二区三区| 国产成人丝袜美腿| 国产精品福利一区二区| 国产麻豆精品久久一二三| 精品欧美一区二区三区精品久久| 日韩主播视频在线|