GstRtp-1.0.gir 205 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560
  1. <?xml version="1.0"?>
  2. <!-- This file was automatically generated from C sources - DO NOT EDIT!
  3. To affect the contents of this file, edit the original C definitions,
  4. and/or use gtk-doc annotations. -->
  5. <repository version="1.2"
  6. xmlns="http://www.gtk.org/introspection/core/1.0"
  7. xmlns:c="http://www.gtk.org/introspection/c/1.0"
  8. xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  9. <include name="Gst" version="1.0"/>
  10. <include name="GstBase" version="1.0"/>
  11. <package name="gstreamer-rtp-1.0"/>
  12. <c:include name="gst/rtp/rtp.h"/>
  13. <namespace name="GstRtp"
  14. version="1.0"
  15. shared-library="libgstrtp-1.0.so.0"
  16. c:identifier-prefixes="Gst"
  17. c:symbol-prefixes="gst">
  18. <record name="RTCPBuffer" c:type="GstRTCPBuffer">
  19. <doc xml:space="preserve">Note: The API in this module is not yet declared stable.
  20. &lt;refsect2&gt;
  21. &lt;para&gt;
  22. The GstRTPCBuffer helper functions makes it easy to parse and create regular
  23. #GstBuffer objects that contain compound RTCP packets. These buffers are typically
  24. of 'application/x-rtcp' #GstCaps.
  25. &lt;/para&gt;
  26. &lt;para&gt;
  27. An RTCP buffer consists of 1 or more #GstRTCPPacket structures that you can
  28. retrieve with gst_rtcp_buffer_get_first_packet(). #GstRTCPPacket acts as a pointer
  29. into the RTCP buffer; you can move to the next packet with
  30. gst_rtcp_packet_move_to_next().
  31. &lt;/para&gt;
  32. &lt;/refsect2&gt;</doc>
  33. <field name="buffer" writable="1">
  34. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  35. </field>
  36. <field name="map" writable="1">
  37. <type name="Gst.MapInfo" c:type="GstMapInfo"/>
  38. </field>
  39. <method name="add_packet" c:identifier="gst_rtcp_buffer_add_packet">
  40. <doc xml:space="preserve">Add a new packet of @type to @rtcp. @packet will point to the newly created
  41. packet.</doc>
  42. <return-value transfer-ownership="none">
  43. <doc xml:space="preserve">%TRUE if the packet could be created. This function returns %FALSE
  44. if the max mtu is exceeded for the buffer.</doc>
  45. <type name="gboolean" c:type="gboolean"/>
  46. </return-value>
  47. <parameters>
  48. <instance-parameter name="rtcp" transfer-ownership="none">
  49. <doc xml:space="preserve">a valid RTCP buffer</doc>
  50. <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
  51. </instance-parameter>
  52. <parameter name="type" transfer-ownership="none">
  53. <doc xml:space="preserve">the #GstRTCPType of the new packet</doc>
  54. <type name="RTCPType" c:type="GstRTCPType"/>
  55. </parameter>
  56. <parameter name="packet" transfer-ownership="none">
  57. <doc xml:space="preserve">pointer to new packet</doc>
  58. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  59. </parameter>
  60. </parameters>
  61. </method>
  62. <method name="get_first_packet"
  63. c:identifier="gst_rtcp_buffer_get_first_packet">
  64. <doc xml:space="preserve">Initialize a new #GstRTCPPacket pointer that points to the first packet in
  65. @rtcp.</doc>
  66. <return-value transfer-ownership="none">
  67. <doc xml:space="preserve">TRUE if the packet existed in @rtcp.</doc>
  68. <type name="gboolean" c:type="gboolean"/>
  69. </return-value>
  70. <parameters>
  71. <instance-parameter name="rtcp" transfer-ownership="none">
  72. <doc xml:space="preserve">a valid RTCP buffer</doc>
  73. <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
  74. </instance-parameter>
  75. <parameter name="packet" transfer-ownership="none">
  76. <doc xml:space="preserve">a #GstRTCPPacket</doc>
  77. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  78. </parameter>
  79. </parameters>
  80. </method>
  81. <method name="get_packet_count"
  82. c:identifier="gst_rtcp_buffer_get_packet_count">
  83. <doc xml:space="preserve">Get the number of RTCP packets in @rtcp.</doc>
  84. <return-value transfer-ownership="none">
  85. <doc xml:space="preserve">the number of RTCP packets in @rtcp.</doc>
  86. <type name="guint" c:type="guint"/>
  87. </return-value>
  88. <parameters>
  89. <instance-parameter name="rtcp" transfer-ownership="none">
  90. <doc xml:space="preserve">a valid RTCP buffer</doc>
  91. <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
  92. </instance-parameter>
  93. </parameters>
  94. </method>
  95. <method name="unmap" c:identifier="gst_rtcp_buffer_unmap">
  96. <doc xml:space="preserve">Finish @rtcp after being constructed. This function is usually called
  97. after gst_rtcp_buffer_map() and after adding the RTCP items to the new buffer.
  98. The function adjusts the size of @rtcp with the total length of all the
  99. added packets.</doc>
  100. <return-value transfer-ownership="none">
  101. <type name="gboolean" c:type="gboolean"/>
  102. </return-value>
  103. <parameters>
  104. <instance-parameter name="rtcp" transfer-ownership="none">
  105. <doc xml:space="preserve">a buffer with an RTCP packet</doc>
  106. <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
  107. </instance-parameter>
  108. </parameters>
  109. </method>
  110. <function name="map" c:identifier="gst_rtcp_buffer_map">
  111. <doc xml:space="preserve">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
  112. buffer state is stored in @rtcp.</doc>
  113. <return-value transfer-ownership="none">
  114. <type name="gboolean" c:type="gboolean"/>
  115. </return-value>
  116. <parameters>
  117. <parameter name="buffer" transfer-ownership="none">
  118. <doc xml:space="preserve">a buffer with an RTCP packet</doc>
  119. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  120. </parameter>
  121. <parameter name="flags" transfer-ownership="none">
  122. <doc xml:space="preserve">flags for the mapping</doc>
  123. <type name="Gst.MapFlags" c:type="GstMapFlags"/>
  124. </parameter>
  125. <parameter name="rtcp" transfer-ownership="none">
  126. <doc xml:space="preserve">resulting #GstRTCPBuffer</doc>
  127. <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
  128. </parameter>
  129. </parameters>
  130. </function>
  131. <function name="new" c:identifier="gst_rtcp_buffer_new">
  132. <doc xml:space="preserve">Create a new buffer for constructing RTCP packets. The packet will have a
  133. maximum size of @mtu.</doc>
  134. <return-value transfer-ownership="full">
  135. <doc xml:space="preserve">A newly allocated buffer.</doc>
  136. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  137. </return-value>
  138. <parameters>
  139. <parameter name="mtu" transfer-ownership="none">
  140. <doc xml:space="preserve">the maximum mtu size.</doc>
  141. <type name="guint" c:type="guint"/>
  142. </parameter>
  143. </parameters>
  144. </function>
  145. <function name="new_copy_data"
  146. c:identifier="gst_rtcp_buffer_new_copy_data">
  147. <doc xml:space="preserve">Create a new buffer and set the data to a copy of @len
  148. bytes of @data and the size to @len. The data will be freed when the buffer
  149. is freed.</doc>
  150. <return-value transfer-ownership="full">
  151. <doc xml:space="preserve">A newly allocated buffer with a copy of @data and of size @len.</doc>
  152. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  153. </return-value>
  154. <parameters>
  155. <parameter name="data" transfer-ownership="none">
  156. <doc xml:space="preserve">data for the new buffer</doc>
  157. <array length="1" zero-terminated="0" c:type="gpointer">
  158. <type name="guint8"/>
  159. </array>
  160. </parameter>
  161. <parameter name="len" transfer-ownership="none">
  162. <doc xml:space="preserve">the length of data</doc>
  163. <type name="guint" c:type="guint"/>
  164. </parameter>
  165. </parameters>
  166. </function>
  167. <function name="new_take_data"
  168. c:identifier="gst_rtcp_buffer_new_take_data">
  169. <doc xml:space="preserve">Create a new buffer and set the data and size of the buffer to @data and @len
  170. respectively. @data will be freed when the buffer is unreffed, so this
  171. function transfers ownership of @data to the new buffer.</doc>
  172. <return-value transfer-ownership="full">
  173. <doc xml:space="preserve">A newly allocated buffer with @data and of size @len.</doc>
  174. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  175. </return-value>
  176. <parameters>
  177. <parameter name="data" transfer-ownership="none">
  178. <doc xml:space="preserve">data for the new buffer</doc>
  179. <array length="1" zero-terminated="0" c:type="gpointer">
  180. <type name="guint8"/>
  181. </array>
  182. </parameter>
  183. <parameter name="len" transfer-ownership="none">
  184. <doc xml:space="preserve">the length of data</doc>
  185. <type name="guint" c:type="guint"/>
  186. </parameter>
  187. </parameters>
  188. </function>
  189. <function name="validate" c:identifier="gst_rtcp_buffer_validate">
  190. <doc xml:space="preserve">Check if the data pointed to by @buffer is a valid RTCP packet using
  191. gst_rtcp_buffer_validate_data().</doc>
  192. <return-value transfer-ownership="none">
  193. <doc xml:space="preserve">TRUE if @buffer is a valid RTCP packet.</doc>
  194. <type name="gboolean" c:type="gboolean"/>
  195. </return-value>
  196. <parameters>
  197. <parameter name="buffer" transfer-ownership="none">
  198. <doc xml:space="preserve">the buffer to validate</doc>
  199. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  200. </parameter>
  201. </parameters>
  202. </function>
  203. <function name="validate_data"
  204. c:identifier="gst_rtcp_buffer_validate_data">
  205. <doc xml:space="preserve">Check if the @data and @size point to the data of a valid compound,
  206. non-reduced size RTCP packet.
  207. Use this function to validate a packet before using the other functions in
  208. this module.</doc>
  209. <return-value transfer-ownership="none">
  210. <doc xml:space="preserve">TRUE if the data points to a valid RTCP packet.</doc>
  211. <type name="gboolean" c:type="gboolean"/>
  212. </return-value>
  213. <parameters>
  214. <parameter name="data" transfer-ownership="none">
  215. <doc xml:space="preserve">the data to validate</doc>
  216. <array length="1" zero-terminated="0" c:type="guint8*">
  217. <type name="guint8" c:type="guint8"/>
  218. </array>
  219. </parameter>
  220. <parameter name="len" transfer-ownership="none">
  221. <doc xml:space="preserve">the length of @data to validate</doc>
  222. <type name="guint" c:type="guint"/>
  223. </parameter>
  224. </parameters>
  225. </function>
  226. <function name="validate_data_reduced"
  227. c:identifier="gst_rtcp_buffer_validate_data_reduced"
  228. version="1.6">
  229. <doc xml:space="preserve">Check if the @data and @size point to the data of a valid RTCP packet.
  230. Use this function to validate a packet before using the other functions in
  231. this module.
  232. This function is updated to support reduced size rtcp packets according to
  233. RFC 5506 and will validate full compound RTCP packets as well as reduced
  234. size RTCP packets.</doc>
  235. <return-value transfer-ownership="none">
  236. <doc xml:space="preserve">TRUE if the data points to a valid RTCP packet.</doc>
  237. <type name="gboolean" c:type="gboolean"/>
  238. </return-value>
  239. <parameters>
  240. <parameter name="data" transfer-ownership="none">
  241. <doc xml:space="preserve">the data to validate</doc>
  242. <array length="1" zero-terminated="0" c:type="guint8*">
  243. <type name="guint8" c:type="guint8"/>
  244. </array>
  245. </parameter>
  246. <parameter name="len" transfer-ownership="none">
  247. <doc xml:space="preserve">the length of @data to validate</doc>
  248. <type name="guint" c:type="guint"/>
  249. </parameter>
  250. </parameters>
  251. </function>
  252. <function name="validate_reduced"
  253. c:identifier="gst_rtcp_buffer_validate_reduced"
  254. version="1.6">
  255. <doc xml:space="preserve">Check if the data pointed to by @buffer is a valid RTCP packet using
  256. gst_rtcp_buffer_validate_reduced().</doc>
  257. <return-value transfer-ownership="none">
  258. <doc xml:space="preserve">TRUE if @buffer is a valid RTCP packet.</doc>
  259. <type name="gboolean" c:type="gboolean"/>
  260. </return-value>
  261. <parameters>
  262. <parameter name="buffer" transfer-ownership="none">
  263. <doc xml:space="preserve">the buffer to validate</doc>
  264. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  265. </parameter>
  266. </parameters>
  267. </function>
  268. </record>
  269. <enumeration name="RTCPFBType"
  270. glib:type-name="GstRTCPFBType"
  271. glib:get-type="gst_rtcpfb_type_get_type"
  272. c:type="GstRTCPFBType">
  273. <doc xml:space="preserve">Different types of feedback messages.</doc>
  274. <member name="fb_type_invalid"
  275. value="0"
  276. c:identifier="GST_RTCP_FB_TYPE_INVALID"
  277. glib:nick="fb-type-invalid">
  278. <doc xml:space="preserve">Invalid type</doc>
  279. </member>
  280. <member name="rtpfb_type_nack"
  281. value="1"
  282. c:identifier="GST_RTCP_RTPFB_TYPE_NACK"
  283. glib:nick="rtpfb-type-nack">
  284. <doc xml:space="preserve">Generic NACK</doc>
  285. </member>
  286. <member name="rtpfb_type_tmmbr"
  287. value="3"
  288. c:identifier="GST_RTCP_RTPFB_TYPE_TMMBR"
  289. glib:nick="rtpfb-type-tmmbr">
  290. <doc xml:space="preserve">Temporary Maximum Media Stream Bit Rate Request</doc>
  291. </member>
  292. <member name="rtpfb_type_tmmbn"
  293. value="4"
  294. c:identifier="GST_RTCP_RTPFB_TYPE_TMMBN"
  295. glib:nick="rtpfb-type-tmmbn">
  296. <doc xml:space="preserve">Temporary Maximum Media Stream Bit Rate
  297. Notification</doc>
  298. </member>
  299. <member name="rtpfb_type_rtcp_sr_req"
  300. value="5"
  301. c:identifier="GST_RTCP_RTPFB_TYPE_RTCP_SR_REQ"
  302. glib:nick="rtpfb-type-rtcp-sr-req">
  303. <doc xml:space="preserve">Request an SR packet for early
  304. synchronization</doc>
  305. </member>
  306. <member name="psfb_type_pli"
  307. value="1"
  308. c:identifier="GST_RTCP_PSFB_TYPE_PLI"
  309. glib:nick="psfb-type-pli">
  310. <doc xml:space="preserve">Picture Loss Indication</doc>
  311. </member>
  312. <member name="psfb_type_sli"
  313. value="2"
  314. c:identifier="GST_RTCP_PSFB_TYPE_SLI"
  315. glib:nick="psfb-type-sli">
  316. <doc xml:space="preserve">Slice Loss Indication</doc>
  317. </member>
  318. <member name="psfb_type_rpsi"
  319. value="3"
  320. c:identifier="GST_RTCP_PSFB_TYPE_RPSI"
  321. glib:nick="psfb-type-rpsi">
  322. <doc xml:space="preserve">Reference Picture Selection Indication</doc>
  323. </member>
  324. <member name="psfb_type_afb"
  325. value="15"
  326. c:identifier="GST_RTCP_PSFB_TYPE_AFB"
  327. glib:nick="psfb-type-afb">
  328. <doc xml:space="preserve">Application layer Feedback</doc>
  329. </member>
  330. <member name="psfb_type_fir"
  331. value="4"
  332. c:identifier="GST_RTCP_PSFB_TYPE_FIR"
  333. glib:nick="psfb-type-fir">
  334. <doc xml:space="preserve">Full Intra Request Command</doc>
  335. </member>
  336. <member name="psfb_type_tstr"
  337. value="5"
  338. c:identifier="GST_RTCP_PSFB_TYPE_TSTR"
  339. glib:nick="psfb-type-tstr">
  340. <doc xml:space="preserve">Temporal-Spatial Trade-off Request</doc>
  341. </member>
  342. <member name="psfb_type_tstn"
  343. value="6"
  344. c:identifier="GST_RTCP_PSFB_TYPE_TSTN"
  345. glib:nick="psfb-type-tstn">
  346. <doc xml:space="preserve">Temporal-Spatial Trade-off Notification</doc>
  347. </member>
  348. <member name="psfb_type_vbcn"
  349. value="7"
  350. c:identifier="GST_RTCP_PSFB_TYPE_VBCN"
  351. glib:nick="psfb-type-vbcn">
  352. <doc xml:space="preserve">Video Back Channel Message</doc>
  353. </member>
  354. </enumeration>
  355. <record name="RTCPPacket" c:type="GstRTCPPacket">
  356. <doc xml:space="preserve">Data structure that points to a packet at @offset in @buffer.
  357. The size of the structure is made public to allow stack allocations.</doc>
  358. <field name="rtcp" writable="1">
  359. <doc xml:space="preserve">pointer to RTCP buffer</doc>
  360. <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
  361. </field>
  362. <field name="offset" writable="1">
  363. <doc xml:space="preserve">offset of packet in buffer data</doc>
  364. <type name="guint" c:type="guint"/>
  365. </field>
  366. <field name="padding" readable="0" private="1">
  367. <type name="gboolean" c:type="gboolean"/>
  368. </field>
  369. <field name="count" readable="0" private="1">
  370. <type name="guint8" c:type="guint8"/>
  371. </field>
  372. <field name="type" readable="0" private="1">
  373. <type name="RTCPType" c:type="GstRTCPType"/>
  374. </field>
  375. <field name="length" readable="0" private="1">
  376. <type name="guint16" c:type="guint16"/>
  377. </field>
  378. <field name="item_offset" readable="0" private="1">
  379. <type name="guint" c:type="guint"/>
  380. </field>
  381. <field name="item_count" readable="0" private="1">
  382. <type name="guint" c:type="guint"/>
  383. </field>
  384. <field name="entry_offset" readable="0" private="1">
  385. <type name="guint" c:type="guint"/>
  386. </field>
  387. <method name="add_rb" c:identifier="gst_rtcp_packet_add_rb">
  388. <doc xml:space="preserve">Add a new report block to @packet with the given values.</doc>
  389. <return-value transfer-ownership="none">
  390. <doc xml:space="preserve">%TRUE if the packet was created. This function can return %FALSE if
  391. the max MTU is exceeded or the number of report blocks is greater than
  392. #GST_RTCP_MAX_RB_COUNT.</doc>
  393. <type name="gboolean" c:type="gboolean"/>
  394. </return-value>
  395. <parameters>
  396. <instance-parameter name="packet" transfer-ownership="none">
  397. <doc xml:space="preserve">a valid SR or RR #GstRTCPPacket</doc>
  398. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  399. </instance-parameter>
  400. <parameter name="ssrc" transfer-ownership="none">
  401. <doc xml:space="preserve">data source being reported</doc>
  402. <type name="guint32" c:type="guint32"/>
  403. </parameter>
  404. <parameter name="fractionlost" transfer-ownership="none">
  405. <doc xml:space="preserve">fraction lost since last SR/RR</doc>
  406. <type name="guint8" c:type="guint8"/>
  407. </parameter>
  408. <parameter name="packetslost" transfer-ownership="none">
  409. <doc xml:space="preserve">the cumululative number of packets lost</doc>
  410. <type name="gint32" c:type="gint32"/>
  411. </parameter>
  412. <parameter name="exthighestseq" transfer-ownership="none">
  413. <doc xml:space="preserve">the extended last sequence number received</doc>
  414. <type name="guint32" c:type="guint32"/>
  415. </parameter>
  416. <parameter name="jitter" transfer-ownership="none">
  417. <doc xml:space="preserve">the interarrival jitter</doc>
  418. <type name="guint32" c:type="guint32"/>
  419. </parameter>
  420. <parameter name="lsr" transfer-ownership="none">
  421. <doc xml:space="preserve">the last SR packet from this source</doc>
  422. <type name="guint32" c:type="guint32"/>
  423. </parameter>
  424. <parameter name="dlsr" transfer-ownership="none">
  425. <doc xml:space="preserve">the delay since last SR packet</doc>
  426. <type name="guint32" c:type="guint32"/>
  427. </parameter>
  428. </parameters>
  429. </method>
  430. <method name="bye_add_ssrc" c:identifier="gst_rtcp_packet_bye_add_ssrc">
  431. <doc xml:space="preserve">Add @ssrc to the BYE @packet.</doc>
  432. <return-value transfer-ownership="none">
  433. <doc xml:space="preserve">%TRUE if the ssrc was added. This function can return %FALSE if
  434. the max MTU is exceeded or the number of sources blocks is greater than
  435. #GST_RTCP_MAX_BYE_SSRC_COUNT.</doc>
  436. <type name="gboolean" c:type="gboolean"/>
  437. </return-value>
  438. <parameters>
  439. <instance-parameter name="packet" transfer-ownership="none">
  440. <doc xml:space="preserve">a valid BYE #GstRTCPPacket</doc>
  441. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  442. </instance-parameter>
  443. <parameter name="ssrc" transfer-ownership="none">
  444. <doc xml:space="preserve">an SSRC to add</doc>
  445. <type name="guint32" c:type="guint32"/>
  446. </parameter>
  447. </parameters>
  448. </method>
  449. <method name="bye_add_ssrcs"
  450. c:identifier="gst_rtcp_packet_bye_add_ssrcs">
  451. <doc xml:space="preserve">Adds @len SSRCs in @ssrc to BYE @packet.</doc>
  452. <return-value transfer-ownership="none">
  453. <doc xml:space="preserve">%TRUE if the all the SSRCs were added. This function can return %FALSE if
  454. the max MTU is exceeded or the number of sources blocks is greater than
  455. #GST_RTCP_MAX_BYE_SSRC_COUNT.</doc>
  456. <type name="gboolean" c:type="gboolean"/>
  457. </return-value>
  458. <parameters>
  459. <instance-parameter name="packet" transfer-ownership="none">
  460. <doc xml:space="preserve">a valid BYE #GstRTCPPacket</doc>
  461. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  462. </instance-parameter>
  463. <parameter name="ssrc" transfer-ownership="none">
  464. <doc xml:space="preserve">an array of SSRCs to add</doc>
  465. <type name="guint32" c:type="guint32*"/>
  466. </parameter>
  467. <parameter name="len" transfer-ownership="none">
  468. <doc xml:space="preserve">number of elements in @ssrc</doc>
  469. <type name="guint" c:type="guint"/>
  470. </parameter>
  471. </parameters>
  472. </method>
  473. <method name="bye_get_nth_ssrc"
  474. c:identifier="gst_rtcp_packet_bye_get_nth_ssrc">
  475. <doc xml:space="preserve">Get the @nth SSRC of the BYE @packet.</doc>
  476. <return-value transfer-ownership="none">
  477. <doc xml:space="preserve">The @nth SSRC of @packet.</doc>
  478. <type name="guint32" c:type="guint32"/>
  479. </return-value>
  480. <parameters>
  481. <instance-parameter name="packet" transfer-ownership="none">
  482. <doc xml:space="preserve">a valid BYE #GstRTCPPacket</doc>
  483. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  484. </instance-parameter>
  485. <parameter name="nth" transfer-ownership="none">
  486. <doc xml:space="preserve">the nth SSRC to get</doc>
  487. <type name="guint" c:type="guint"/>
  488. </parameter>
  489. </parameters>
  490. </method>
  491. <method name="bye_get_reason"
  492. c:identifier="gst_rtcp_packet_bye_get_reason">
  493. <doc xml:space="preserve">Get the reason in @packet.</doc>
  494. <return-value transfer-ownership="full">
  495. <doc xml:space="preserve">The reason for the BYE @packet or NULL if the packet did not contain
  496. a reason string. The string must be freed with g_free() after usage.</doc>
  497. <type name="utf8" c:type="gchar*"/>
  498. </return-value>
  499. <parameters>
  500. <instance-parameter name="packet" transfer-ownership="none">
  501. <doc xml:space="preserve">a valid BYE #GstRTCPPacket</doc>
  502. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  503. </instance-parameter>
  504. </parameters>
  505. </method>
  506. <method name="bye_get_reason_len"
  507. c:identifier="gst_rtcp_packet_bye_get_reason_len">
  508. <doc xml:space="preserve">Get the length of the reason string.</doc>
  509. <return-value transfer-ownership="none">
  510. <doc xml:space="preserve">The length of the reason string or 0 when there is no reason string
  511. present.</doc>
  512. <type name="guint8" c:type="guint8"/>
  513. </return-value>
  514. <parameters>
  515. <instance-parameter name="packet" transfer-ownership="none">
  516. <doc xml:space="preserve">a valid BYE #GstRTCPPacket</doc>
  517. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  518. </instance-parameter>
  519. </parameters>
  520. </method>
  521. <method name="bye_get_ssrc_count"
  522. c:identifier="gst_rtcp_packet_bye_get_ssrc_count">
  523. <doc xml:space="preserve">Get the number of SSRC fields in @packet.</doc>
  524. <return-value transfer-ownership="none">
  525. <doc xml:space="preserve">The number of SSRC fields in @packet.</doc>
  526. <type name="guint" c:type="guint"/>
  527. </return-value>
  528. <parameters>
  529. <instance-parameter name="packet" transfer-ownership="none">
  530. <doc xml:space="preserve">a valid BYE #GstRTCPPacket</doc>
  531. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  532. </instance-parameter>
  533. </parameters>
  534. </method>
  535. <method name="bye_set_reason"
  536. c:identifier="gst_rtcp_packet_bye_set_reason">
  537. <doc xml:space="preserve">Set the reason string to @reason in @packet.</doc>
  538. <return-value transfer-ownership="none">
  539. <doc xml:space="preserve">TRUE if the string could be set.</doc>
  540. <type name="gboolean" c:type="gboolean"/>
  541. </return-value>
  542. <parameters>
  543. <instance-parameter name="packet" transfer-ownership="none">
  544. <doc xml:space="preserve">a valid BYE #GstRTCPPacket</doc>
  545. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  546. </instance-parameter>
  547. <parameter name="reason" transfer-ownership="none">
  548. <doc xml:space="preserve">a reason string</doc>
  549. <type name="utf8" c:type="const gchar*"/>
  550. </parameter>
  551. </parameters>
  552. </method>
  553. <method name="fb_get_fci" c:identifier="gst_rtcp_packet_fb_get_fci">
  554. <doc xml:space="preserve">Get the Feedback Control Information attached to a RTPFB or PSFB @packet.</doc>
  555. <return-value transfer-ownership="none">
  556. <doc xml:space="preserve">a pointer to the FCI</doc>
  557. <type name="guint8" c:type="guint8*"/>
  558. </return-value>
  559. <parameters>
  560. <instance-parameter name="packet" transfer-ownership="none">
  561. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  562. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  563. </instance-parameter>
  564. </parameters>
  565. </method>
  566. <method name="fb_get_fci_length"
  567. c:identifier="gst_rtcp_packet_fb_get_fci_length">
  568. <doc xml:space="preserve">Get the length of the Feedback Control Information attached to a
  569. RTPFB or PSFB @packet.</doc>
  570. <return-value transfer-ownership="none">
  571. <doc xml:space="preserve">The length of the FCI in 32-bit words.</doc>
  572. <type name="guint16" c:type="guint16"/>
  573. </return-value>
  574. <parameters>
  575. <instance-parameter name="packet" transfer-ownership="none">
  576. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  577. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  578. </instance-parameter>
  579. </parameters>
  580. </method>
  581. <method name="fb_get_media_ssrc"
  582. c:identifier="gst_rtcp_packet_fb_get_media_ssrc">
  583. <doc xml:space="preserve">Get the media SSRC field of the RTPFB or PSFB @packet.</doc>
  584. <return-value transfer-ownership="none">
  585. <doc xml:space="preserve">the media SSRC.</doc>
  586. <type name="guint32" c:type="guint32"/>
  587. </return-value>
  588. <parameters>
  589. <instance-parameter name="packet" transfer-ownership="none">
  590. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  591. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  592. </instance-parameter>
  593. </parameters>
  594. </method>
  595. <method name="fb_get_sender_ssrc"
  596. c:identifier="gst_rtcp_packet_fb_get_sender_ssrc">
  597. <doc xml:space="preserve">Get the sender SSRC field of the RTPFB or PSFB @packet.</doc>
  598. <return-value transfer-ownership="none">
  599. <doc xml:space="preserve">the sender SSRC.</doc>
  600. <type name="guint32" c:type="guint32"/>
  601. </return-value>
  602. <parameters>
  603. <instance-parameter name="packet" transfer-ownership="none">
  604. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  605. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  606. </instance-parameter>
  607. </parameters>
  608. </method>
  609. <method name="fb_get_type" c:identifier="gst_rtcp_packet_fb_get_type">
  610. <doc xml:space="preserve">Get the feedback message type of the FB @packet.</doc>
  611. <return-value transfer-ownership="none">
  612. <doc xml:space="preserve">The feedback message type.</doc>
  613. <type name="RTCPFBType" c:type="GstRTCPFBType"/>
  614. </return-value>
  615. <parameters>
  616. <instance-parameter name="packet" transfer-ownership="none">
  617. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  618. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  619. </instance-parameter>
  620. </parameters>
  621. </method>
  622. <method name="fb_set_fci_length"
  623. c:identifier="gst_rtcp_packet_fb_set_fci_length">
  624. <doc xml:space="preserve">Set the length of the Feedback Control Information attached to a
  625. RTPFB or PSFB @packet.</doc>
  626. <return-value transfer-ownership="none">
  627. <doc xml:space="preserve">%TRUE if there was enough space in the packet to add this much FCI</doc>
  628. <type name="gboolean" c:type="gboolean"/>
  629. </return-value>
  630. <parameters>
  631. <instance-parameter name="packet" transfer-ownership="none">
  632. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  633. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  634. </instance-parameter>
  635. <parameter name="wordlen" transfer-ownership="none">
  636. <doc xml:space="preserve">Length of the FCI in 32-bit words</doc>
  637. <type name="guint16" c:type="guint16"/>
  638. </parameter>
  639. </parameters>
  640. </method>
  641. <method name="fb_set_media_ssrc"
  642. c:identifier="gst_rtcp_packet_fb_set_media_ssrc">
  643. <doc xml:space="preserve">Set the media SSRC field of the RTPFB or PSFB @packet.</doc>
  644. <return-value transfer-ownership="none">
  645. <type name="none" c:type="void"/>
  646. </return-value>
  647. <parameters>
  648. <instance-parameter name="packet" transfer-ownership="none">
  649. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  650. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  651. </instance-parameter>
  652. <parameter name="ssrc" transfer-ownership="none">
  653. <doc xml:space="preserve">a media SSRC</doc>
  654. <type name="guint32" c:type="guint32"/>
  655. </parameter>
  656. </parameters>
  657. </method>
  658. <method name="fb_set_sender_ssrc"
  659. c:identifier="gst_rtcp_packet_fb_set_sender_ssrc">
  660. <doc xml:space="preserve">Set the sender SSRC field of the RTPFB or PSFB @packet.</doc>
  661. <return-value transfer-ownership="none">
  662. <type name="none" c:type="void"/>
  663. </return-value>
  664. <parameters>
  665. <instance-parameter name="packet" transfer-ownership="none">
  666. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  667. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  668. </instance-parameter>
  669. <parameter name="ssrc" transfer-ownership="none">
  670. <doc xml:space="preserve">a sender SSRC</doc>
  671. <type name="guint32" c:type="guint32"/>
  672. </parameter>
  673. </parameters>
  674. </method>
  675. <method name="fb_set_type" c:identifier="gst_rtcp_packet_fb_set_type">
  676. <doc xml:space="preserve">Set the feedback message type of the FB @packet.</doc>
  677. <return-value transfer-ownership="none">
  678. <type name="none" c:type="void"/>
  679. </return-value>
  680. <parameters>
  681. <instance-parameter name="packet" transfer-ownership="none">
  682. <doc xml:space="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
  683. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  684. </instance-parameter>
  685. <parameter name="type" transfer-ownership="none">
  686. <doc xml:space="preserve">the #GstRTCPFBType to set</doc>
  687. <type name="RTCPFBType" c:type="GstRTCPFBType"/>
  688. </parameter>
  689. </parameters>
  690. </method>
  691. <method name="get_count" c:identifier="gst_rtcp_packet_get_count">
  692. <doc xml:space="preserve">Get the count field in @packet.</doc>
  693. <return-value transfer-ownership="none">
  694. <doc xml:space="preserve">The count field in @packet or -1 if @packet does not point to a
  695. valid packet.</doc>
  696. <type name="guint8" c:type="guint8"/>
  697. </return-value>
  698. <parameters>
  699. <instance-parameter name="packet" transfer-ownership="none">
  700. <doc xml:space="preserve">a valid #GstRTCPPacket</doc>
  701. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  702. </instance-parameter>
  703. </parameters>
  704. </method>
  705. <method name="get_length" c:identifier="gst_rtcp_packet_get_length">
  706. <doc xml:space="preserve">Get the length field of @packet. This is the length of the packet in
  707. 32-bit words minus one.</doc>
  708. <return-value transfer-ownership="none">
  709. <doc xml:space="preserve">The length field of @packet.</doc>
  710. <type name="guint16" c:type="guint16"/>
  711. </return-value>
  712. <parameters>
  713. <instance-parameter name="packet" transfer-ownership="none">
  714. <doc xml:space="preserve">a valid #GstRTCPPacket</doc>
  715. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  716. </instance-parameter>
  717. </parameters>
  718. </method>
  719. <method name="get_padding" c:identifier="gst_rtcp_packet_get_padding">
  720. <doc xml:space="preserve">Get the packet padding of the packet pointed to by @packet.</doc>
  721. <return-value transfer-ownership="none">
  722. <doc xml:space="preserve">If the packet has the padding bit set.</doc>
  723. <type name="gboolean" c:type="gboolean"/>
  724. </return-value>
  725. <parameters>
  726. <instance-parameter name="packet" transfer-ownership="none">
  727. <doc xml:space="preserve">a valid #GstRTCPPacket</doc>
  728. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  729. </instance-parameter>
  730. </parameters>
  731. </method>
  732. <method name="get_rb" c:identifier="gst_rtcp_packet_get_rb">
  733. <doc xml:space="preserve">Parse the values of the @nth report block in @packet and store the result in
  734. the values.</doc>
  735. <return-value transfer-ownership="none">
  736. <type name="none" c:type="void"/>
  737. </return-value>
  738. <parameters>
  739. <instance-parameter name="packet" transfer-ownership="none">
  740. <doc xml:space="preserve">a valid SR or RR #GstRTCPPacket</doc>
  741. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  742. </instance-parameter>
  743. <parameter name="nth" transfer-ownership="none">
  744. <doc xml:space="preserve">the nth report block in @packet</doc>
  745. <type name="guint" c:type="guint"/>
  746. </parameter>
  747. <parameter name="ssrc" transfer-ownership="none">
  748. <doc xml:space="preserve">result for data source being reported</doc>
  749. <type name="guint32" c:type="guint32*"/>
  750. </parameter>
  751. <parameter name="fractionlost" transfer-ownership="none">
  752. <doc xml:space="preserve">result for fraction lost since last SR/RR</doc>
  753. <type name="guint8" c:type="guint8*"/>
  754. </parameter>
  755. <parameter name="packetslost" transfer-ownership="none">
  756. <doc xml:space="preserve">result for the cumululative number of packets lost</doc>
  757. <type name="gint32" c:type="gint32*"/>
  758. </parameter>
  759. <parameter name="exthighestseq" transfer-ownership="none">
  760. <doc xml:space="preserve">result for the extended last sequence number received</doc>
  761. <type name="guint32" c:type="guint32*"/>
  762. </parameter>
  763. <parameter name="jitter" transfer-ownership="none">
  764. <doc xml:space="preserve">result for the interarrival jitter</doc>
  765. <type name="guint32" c:type="guint32*"/>
  766. </parameter>
  767. <parameter name="lsr" transfer-ownership="none">
  768. <doc xml:space="preserve">result for the last SR packet from this source</doc>
  769. <type name="guint32" c:type="guint32*"/>
  770. </parameter>
  771. <parameter name="dlsr" transfer-ownership="none">
  772. <doc xml:space="preserve">result for the delay since last SR packet</doc>
  773. <type name="guint32" c:type="guint32*"/>
  774. </parameter>
  775. </parameters>
  776. </method>
  777. <method name="get_rb_count" c:identifier="gst_rtcp_packet_get_rb_count">
  778. <doc xml:space="preserve">Get the number of report blocks in @packet.</doc>
  779. <return-value transfer-ownership="none">
  780. <doc xml:space="preserve">The number of report blocks in @packet.</doc>
  781. <type name="guint" c:type="guint"/>
  782. </return-value>
  783. <parameters>
  784. <instance-parameter name="packet" transfer-ownership="none">
  785. <doc xml:space="preserve">a valid SR or RR #GstRTCPPacket</doc>
  786. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  787. </instance-parameter>
  788. </parameters>
  789. </method>
  790. <method name="get_type" c:identifier="gst_rtcp_packet_get_type">
  791. <doc xml:space="preserve">Get the packet type of the packet pointed to by @packet.</doc>
  792. <return-value transfer-ownership="none">
  793. <doc xml:space="preserve">The packet type or GST_RTCP_TYPE_INVALID when @packet is not
  794. pointing to a valid packet.</doc>
  795. <type name="RTCPType" c:type="GstRTCPType"/>
  796. </return-value>
  797. <parameters>
  798. <instance-parameter name="packet" transfer-ownership="none">
  799. <doc xml:space="preserve">a valid #GstRTCPPacket</doc>
  800. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  801. </instance-parameter>
  802. </parameters>
  803. </method>
  804. <method name="move_to_next" c:identifier="gst_rtcp_packet_move_to_next">
  805. <doc xml:space="preserve">Move the packet pointer @packet to the next packet in the payload.
  806. Use gst_rtcp_buffer_get_first_packet() to initialize @packet.</doc>
  807. <return-value transfer-ownership="none">
  808. <doc xml:space="preserve">TRUE if @packet is pointing to a valid packet after calling this
  809. function.</doc>
  810. <type name="gboolean" c:type="gboolean"/>
  811. </return-value>
  812. <parameters>
  813. <instance-parameter name="packet" transfer-ownership="none">
  814. <doc xml:space="preserve">a #GstRTCPPacket</doc>
  815. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  816. </instance-parameter>
  817. </parameters>
  818. </method>
  819. <method name="remove" c:identifier="gst_rtcp_packet_remove">
  820. <doc xml:space="preserve">Removes the packet pointed to by @packet and moves pointer to the next one</doc>
  821. <return-value transfer-ownership="none">
  822. <doc xml:space="preserve">TRUE if @packet is pointing to a valid packet after calling this
  823. function.</doc>
  824. <type name="gboolean" c:type="gboolean"/>
  825. </return-value>
  826. <parameters>
  827. <instance-parameter name="packet" transfer-ownership="none">
  828. <doc xml:space="preserve">a #GstRTCPPacket</doc>
  829. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  830. </instance-parameter>
  831. </parameters>
  832. </method>
  833. <method name="rr_get_ssrc" c:identifier="gst_rtcp_packet_rr_get_ssrc">
  834. <doc xml:space="preserve">Get the ssrc field of the RR @packet.</doc>
  835. <return-value transfer-ownership="none">
  836. <doc xml:space="preserve">the ssrc.</doc>
  837. <type name="guint32" c:type="guint32"/>
  838. </return-value>
  839. <parameters>
  840. <instance-parameter name="packet" transfer-ownership="none">
  841. <doc xml:space="preserve">a valid RR #GstRTCPPacket</doc>
  842. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  843. </instance-parameter>
  844. </parameters>
  845. </method>
  846. <method name="rr_set_ssrc" c:identifier="gst_rtcp_packet_rr_set_ssrc">
  847. <doc xml:space="preserve">Set the ssrc field of the RR @packet.</doc>
  848. <return-value transfer-ownership="none">
  849. <type name="none" c:type="void"/>
  850. </return-value>
  851. <parameters>
  852. <instance-parameter name="packet" transfer-ownership="none">
  853. <doc xml:space="preserve">a valid RR #GstRTCPPacket</doc>
  854. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  855. </instance-parameter>
  856. <parameter name="ssrc" transfer-ownership="none">
  857. <doc xml:space="preserve">the SSRC to set</doc>
  858. <type name="guint32" c:type="guint32"/>
  859. </parameter>
  860. </parameters>
  861. </method>
  862. <method name="sdes_add_entry"
  863. c:identifier="gst_rtcp_packet_sdes_add_entry">
  864. <doc xml:space="preserve">Add a new SDES entry to the current item in @packet.</doc>
  865. <return-value transfer-ownership="none">
  866. <doc xml:space="preserve">%TRUE if the item could be added, %FALSE if the MTU has been
  867. reached.</doc>
  868. <type name="gboolean" c:type="gboolean"/>
  869. </return-value>
  870. <parameters>
  871. <instance-parameter name="packet" transfer-ownership="none">
  872. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  873. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  874. </instance-parameter>
  875. <parameter name="type" transfer-ownership="none">
  876. <doc xml:space="preserve">the #GstRTCPSDESType of the SDES entry</doc>
  877. <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
  878. </parameter>
  879. <parameter name="len" transfer-ownership="none">
  880. <doc xml:space="preserve">the data length</doc>
  881. <type name="guint8" c:type="guint8"/>
  882. </parameter>
  883. <parameter name="data" transfer-ownership="none">
  884. <doc xml:space="preserve">the data</doc>
  885. <array length="1" zero-terminated="0" c:type="guint8*">
  886. <type name="guint8" c:type="guint8"/>
  887. </array>
  888. </parameter>
  889. </parameters>
  890. </method>
  891. <method name="sdes_add_item"
  892. c:identifier="gst_rtcp_packet_sdes_add_item">
  893. <doc xml:space="preserve">Add a new SDES item for @ssrc to @packet.</doc>
  894. <return-value transfer-ownership="none">
  895. <doc xml:space="preserve">%TRUE if the item could be added, %FALSE if the maximum amount of
  896. items has been exceeded for the SDES packet or the MTU has been reached.</doc>
  897. <type name="gboolean" c:type="gboolean"/>
  898. </return-value>
  899. <parameters>
  900. <instance-parameter name="packet" transfer-ownership="none">
  901. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  902. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  903. </instance-parameter>
  904. <parameter name="ssrc" transfer-ownership="none">
  905. <doc xml:space="preserve">the SSRC of the new item to add</doc>
  906. <type name="guint32" c:type="guint32"/>
  907. </parameter>
  908. </parameters>
  909. </method>
  910. <method name="sdes_copy_entry"
  911. c:identifier="gst_rtcp_packet_sdes_copy_entry">
  912. <doc xml:space="preserve">This function is like gst_rtcp_packet_sdes_get_entry() but it returns a
  913. null-terminated copy of the data instead. use g_free() after usage.</doc>
  914. <return-value transfer-ownership="none">
  915. <doc xml:space="preserve">%TRUE if there was valid data.</doc>
  916. <type name="gboolean" c:type="gboolean"/>
  917. </return-value>
  918. <parameters>
  919. <instance-parameter name="packet" transfer-ownership="none">
  920. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  921. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  922. </instance-parameter>
  923. <parameter name="type" transfer-ownership="none">
  924. <doc xml:space="preserve">result of the entry type</doc>
  925. <type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
  926. </parameter>
  927. <parameter name="len"
  928. direction="out"
  929. caller-allocates="0"
  930. transfer-ownership="full">
  931. <doc xml:space="preserve">result length of the entry data</doc>
  932. <type name="guint8" c:type="guint8*"/>
  933. </parameter>
  934. <parameter name="data"
  935. direction="out"
  936. caller-allocates="0"
  937. transfer-ownership="full">
  938. <doc xml:space="preserve">result entry data</doc>
  939. <array length="1" zero-terminated="0" c:type="guint8**">
  940. <type name="guint8" c:type="guint8*"/>
  941. </array>
  942. </parameter>
  943. </parameters>
  944. </method>
  945. <method name="sdes_first_entry"
  946. c:identifier="gst_rtcp_packet_sdes_first_entry">
  947. <doc xml:space="preserve">Move to the first SDES entry in the current item.</doc>
  948. <return-value transfer-ownership="none">
  949. <doc xml:space="preserve">%TRUE if there was a first entry.</doc>
  950. <type name="gboolean" c:type="gboolean"/>
  951. </return-value>
  952. <parameters>
  953. <instance-parameter name="packet" transfer-ownership="none">
  954. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  955. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  956. </instance-parameter>
  957. </parameters>
  958. </method>
  959. <method name="sdes_first_item"
  960. c:identifier="gst_rtcp_packet_sdes_first_item">
  961. <doc xml:space="preserve">Move to the first SDES item in @packet.</doc>
  962. <return-value transfer-ownership="none">
  963. <doc xml:space="preserve">TRUE if there was a first item.</doc>
  964. <type name="gboolean" c:type="gboolean"/>
  965. </return-value>
  966. <parameters>
  967. <instance-parameter name="packet" transfer-ownership="none">
  968. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  969. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  970. </instance-parameter>
  971. </parameters>
  972. </method>
  973. <method name="sdes_get_entry"
  974. c:identifier="gst_rtcp_packet_sdes_get_entry">
  975. <doc xml:space="preserve">Get the data of the current SDES item entry. @type (when not NULL) will
  976. contain the type of the entry. @data (when not NULL) will point to @len
  977. bytes.
  978. When @type refers to a text item, @data will point to a UTF8 string. Note
  979. that this UTF8 string is NOT null-terminated. Use
  980. gst_rtcp_packet_sdes_copy_entry() to get a null-terminated copy of the entry.</doc>
  981. <return-value transfer-ownership="none">
  982. <doc xml:space="preserve">%TRUE if there was valid data.</doc>
  983. <type name="gboolean" c:type="gboolean"/>
  984. </return-value>
  985. <parameters>
  986. <instance-parameter name="packet" transfer-ownership="none">
  987. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  988. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  989. </instance-parameter>
  990. <parameter name="type" transfer-ownership="none">
  991. <doc xml:space="preserve">result of the entry type</doc>
  992. <type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
  993. </parameter>
  994. <parameter name="len"
  995. direction="out"
  996. caller-allocates="0"
  997. transfer-ownership="full">
  998. <doc xml:space="preserve">result length of the entry data</doc>
  999. <type name="guint8" c:type="guint8*"/>
  1000. </parameter>
  1001. <parameter name="data"
  1002. direction="out"
  1003. caller-allocates="0"
  1004. transfer-ownership="none">
  1005. <doc xml:space="preserve">result entry data</doc>
  1006. <array length="1" zero-terminated="0" c:type="guint8**">
  1007. <type name="guint8" c:type="guint8*"/>
  1008. </array>
  1009. </parameter>
  1010. </parameters>
  1011. </method>
  1012. <method name="sdes_get_item_count"
  1013. c:identifier="gst_rtcp_packet_sdes_get_item_count">
  1014. <doc xml:space="preserve">Get the number of items in the SDES packet @packet.</doc>
  1015. <return-value transfer-ownership="none">
  1016. <doc xml:space="preserve">The number of items in @packet.</doc>
  1017. <type name="guint" c:type="guint"/>
  1018. </return-value>
  1019. <parameters>
  1020. <instance-parameter name="packet" transfer-ownership="none">
  1021. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  1022. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  1023. </instance-parameter>
  1024. </parameters>
  1025. </method>
  1026. <method name="sdes_get_ssrc"
  1027. c:identifier="gst_rtcp_packet_sdes_get_ssrc">
  1028. <doc xml:space="preserve">Get the SSRC of the current SDES item.</doc>
  1029. <return-value transfer-ownership="none">
  1030. <doc xml:space="preserve">the SSRC of the current item.</doc>
  1031. <type name="guint32" c:type="guint32"/>
  1032. </return-value>
  1033. <parameters>
  1034. <instance-parameter name="packet" transfer-ownership="none">
  1035. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  1036. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  1037. </instance-parameter>
  1038. </parameters>
  1039. </method>
  1040. <method name="sdes_next_entry"
  1041. c:identifier="gst_rtcp_packet_sdes_next_entry">
  1042. <doc xml:space="preserve">Move to the next SDES entry in the current item.</doc>
  1043. <return-value transfer-ownership="none">
  1044. <doc xml:space="preserve">%TRUE if there was a next entry.</doc>
  1045. <type name="gboolean" c:type="gboolean"/>
  1046. </return-value>
  1047. <parameters>
  1048. <instance-parameter name="packet" transfer-ownership="none">
  1049. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  1050. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  1051. </instance-parameter>
  1052. </parameters>
  1053. </method>
  1054. <method name="sdes_next_item"
  1055. c:identifier="gst_rtcp_packet_sdes_next_item">
  1056. <doc xml:space="preserve">Move to the next SDES item in @packet.</doc>
  1057. <return-value transfer-ownership="none">
  1058. <doc xml:space="preserve">TRUE if there was a next item.</doc>
  1059. <type name="gboolean" c:type="gboolean"/>
  1060. </return-value>
  1061. <parameters>
  1062. <instance-parameter name="packet" transfer-ownership="none">
  1063. <doc xml:space="preserve">a valid SDES #GstRTCPPacket</doc>
  1064. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  1065. </instance-parameter>
  1066. </parameters>
  1067. </method>
  1068. <method name="set_rb" c:identifier="gst_rtcp_packet_set_rb">
  1069. <doc xml:space="preserve">Set the @nth new report block in @packet with the given values.
  1070. Note: Not implemented.</doc>
  1071. <return-value transfer-ownership="none">
  1072. <type name="none" c:type="void"/>
  1073. </return-value>
  1074. <parameters>
  1075. <instance-parameter name="packet" transfer-ownership="none">
  1076. <doc xml:space="preserve">a valid SR or RR #GstRTCPPacket</doc>
  1077. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  1078. </instance-parameter>
  1079. <parameter name="nth" transfer-ownership="none">
  1080. <doc xml:space="preserve">the nth report block to set</doc>
  1081. <type name="guint" c:type="guint"/>
  1082. </parameter>
  1083. <parameter name="ssrc" transfer-ownership="none">
  1084. <doc xml:space="preserve">data source being reported</doc>
  1085. <type name="guint32" c:type="guint32"/>
  1086. </parameter>
  1087. <parameter name="fractionlost" transfer-ownership="none">
  1088. <doc xml:space="preserve">fraction lost since last SR/RR</doc>
  1089. <type name="guint8" c:type="guint8"/>
  1090. </parameter>
  1091. <parameter name="packetslost" transfer-ownership="none">
  1092. <doc xml:space="preserve">the cumululative number of packets lost</doc>
  1093. <type name="gint32" c:type="gint32"/>
  1094. </parameter>
  1095. <parameter name="exthighestseq" transfer-ownership="none">
  1096. <doc xml:space="preserve">the extended last sequence number received</doc>
  1097. <type name="guint32" c:type="guint32"/>
  1098. </parameter>
  1099. <parameter name="jitter" transfer-ownership="none">
  1100. <doc xml:space="preserve">the interarrival jitter</doc>
  1101. <type name="guint32" c:type="guint32"/>
  1102. </parameter>
  1103. <parameter name="lsr" transfer-ownership="none">
  1104. <doc xml:space="preserve">the last SR packet from this source</doc>
  1105. <type name="guint32" c:type="guint32"/>
  1106. </parameter>
  1107. <parameter name="dlsr" transfer-ownership="none">
  1108. <doc xml:space="preserve">the delay since last SR packet</doc>
  1109. <type name="guint32" c:type="guint32"/>
  1110. </parameter>
  1111. </parameters>
  1112. </method>
  1113. <method name="sr_get_sender_info"
  1114. c:identifier="gst_rtcp_packet_sr_get_sender_info">
  1115. <doc xml:space="preserve">Parse the SR sender info and store the values.</doc>
  1116. <return-value transfer-ownership="none">
  1117. <type name="none" c:type="void"/>
  1118. </return-value>
  1119. <parameters>
  1120. <instance-parameter name="packet" transfer-ownership="none">
  1121. <doc xml:space="preserve">a valid SR #GstRTCPPacket</doc>
  1122. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  1123. </instance-parameter>
  1124. <parameter name="ssrc" transfer-ownership="none">
  1125. <doc xml:space="preserve">result SSRC</doc>
  1126. <type name="guint32" c:type="guint32*"/>
  1127. </parameter>
  1128. <parameter name="ntptime" transfer-ownership="none">
  1129. <doc xml:space="preserve">result NTP time</doc>
  1130. <type name="guint64" c:type="guint64*"/>
  1131. </parameter>
  1132. <parameter name="rtptime" transfer-ownership="none">
  1133. <doc xml:space="preserve">result RTP time</doc>
  1134. <type name="guint32" c:type="guint32*"/>
  1135. </parameter>
  1136. <parameter name="packet_count" transfer-ownership="none">
  1137. <doc xml:space="preserve">result packet count</doc>
  1138. <type name="guint32" c:type="guint32*"/>
  1139. </parameter>
  1140. <parameter name="octet_count" transfer-ownership="none">
  1141. <doc xml:space="preserve">result octet count</doc>
  1142. <type name="guint32" c:type="guint32*"/>
  1143. </parameter>
  1144. </parameters>
  1145. </method>
  1146. <method name="sr_set_sender_info"
  1147. c:identifier="gst_rtcp_packet_sr_set_sender_info">
  1148. <doc xml:space="preserve">Set the given values in the SR packet @packet.</doc>
  1149. <return-value transfer-ownership="none">
  1150. <type name="none" c:type="void"/>
  1151. </return-value>
  1152. <parameters>
  1153. <instance-parameter name="packet" transfer-ownership="none">
  1154. <doc xml:space="preserve">a valid SR #GstRTCPPacket</doc>
  1155. <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
  1156. </instance-parameter>
  1157. <parameter name="ssrc" transfer-ownership="none">
  1158. <doc xml:space="preserve">the SSRC</doc>
  1159. <type name="guint32" c:type="guint32"/>
  1160. </parameter>
  1161. <parameter name="ntptime" transfer-ownership="none">
  1162. <doc xml:space="preserve">the NTP time</doc>
  1163. <type name="guint64" c:type="guint64"/>
  1164. </parameter>
  1165. <parameter name="rtptime" transfer-ownership="none">
  1166. <doc xml:space="preserve">the RTP time</doc>
  1167. <type name="guint32" c:type="guint32"/>
  1168. </parameter>
  1169. <parameter name="packet_count" transfer-ownership="none">
  1170. <doc xml:space="preserve">the packet count</doc>
  1171. <type name="guint32" c:type="guint32"/>
  1172. </parameter>
  1173. <parameter name="octet_count" transfer-ownership="none">
  1174. <doc xml:space="preserve">the octet count</doc>
  1175. <type name="guint32" c:type="guint32"/>
  1176. </parameter>
  1177. </parameters>
  1178. </method>
  1179. </record>
  1180. <enumeration name="RTCPSDESType"
  1181. glib:type-name="GstRTCPSDESType"
  1182. glib:get-type="gst_rtcpsdes_type_get_type"
  1183. c:type="GstRTCPSDESType">
  1184. <doc xml:space="preserve">Different types of SDES content.</doc>
  1185. <member name="invalid"
  1186. value="-1"
  1187. c:identifier="GST_RTCP_SDES_INVALID"
  1188. glib:nick="invalid">
  1189. <doc xml:space="preserve">Invalid SDES entry</doc>
  1190. </member>
  1191. <member name="end"
  1192. value="0"
  1193. c:identifier="GST_RTCP_SDES_END"
  1194. glib:nick="end">
  1195. <doc xml:space="preserve">End of SDES list</doc>
  1196. </member>
  1197. <member name="cname"
  1198. value="1"
  1199. c:identifier="GST_RTCP_SDES_CNAME"
  1200. glib:nick="cname">
  1201. <doc xml:space="preserve">Canonical name</doc>
  1202. </member>
  1203. <member name="name"
  1204. value="2"
  1205. c:identifier="GST_RTCP_SDES_NAME"
  1206. glib:nick="name">
  1207. <doc xml:space="preserve">User name</doc>
  1208. </member>
  1209. <member name="email"
  1210. value="3"
  1211. c:identifier="GST_RTCP_SDES_EMAIL"
  1212. glib:nick="email">
  1213. <doc xml:space="preserve">User's electronic mail address</doc>
  1214. </member>
  1215. <member name="phone"
  1216. value="4"
  1217. c:identifier="GST_RTCP_SDES_PHONE"
  1218. glib:nick="phone">
  1219. <doc xml:space="preserve">User's phone number</doc>
  1220. </member>
  1221. <member name="loc"
  1222. value="5"
  1223. c:identifier="GST_RTCP_SDES_LOC"
  1224. glib:nick="loc">
  1225. <doc xml:space="preserve">Geographic user location</doc>
  1226. </member>
  1227. <member name="tool"
  1228. value="6"
  1229. c:identifier="GST_RTCP_SDES_TOOL"
  1230. glib:nick="tool">
  1231. <doc xml:space="preserve">Name of application or tool</doc>
  1232. </member>
  1233. <member name="note"
  1234. value="7"
  1235. c:identifier="GST_RTCP_SDES_NOTE"
  1236. glib:nick="note">
  1237. <doc xml:space="preserve">Notice about the source</doc>
  1238. </member>
  1239. <member name="priv"
  1240. value="8"
  1241. c:identifier="GST_RTCP_SDES_PRIV"
  1242. glib:nick="priv">
  1243. <doc xml:space="preserve">Private extensions</doc>
  1244. </member>
  1245. </enumeration>
  1246. <enumeration name="RTCPType"
  1247. glib:type-name="GstRTCPType"
  1248. glib:get-type="gst_rtcp_type_get_type"
  1249. c:type="GstRTCPType">
  1250. <doc xml:space="preserve">Different RTCP packet types.</doc>
  1251. <member name="invalid"
  1252. value="0"
  1253. c:identifier="GST_RTCP_TYPE_INVALID"
  1254. glib:nick="invalid">
  1255. <doc xml:space="preserve">Invalid type</doc>
  1256. </member>
  1257. <member name="sr"
  1258. value="200"
  1259. c:identifier="GST_RTCP_TYPE_SR"
  1260. glib:nick="sr">
  1261. <doc xml:space="preserve">Sender report</doc>
  1262. </member>
  1263. <member name="rr"
  1264. value="201"
  1265. c:identifier="GST_RTCP_TYPE_RR"
  1266. glib:nick="rr">
  1267. <doc xml:space="preserve">Receiver report</doc>
  1268. </member>
  1269. <member name="sdes"
  1270. value="202"
  1271. c:identifier="GST_RTCP_TYPE_SDES"
  1272. glib:nick="sdes">
  1273. <doc xml:space="preserve">Source description</doc>
  1274. </member>
  1275. <member name="bye"
  1276. value="203"
  1277. c:identifier="GST_RTCP_TYPE_BYE"
  1278. glib:nick="bye">
  1279. <doc xml:space="preserve">Goodbye</doc>
  1280. </member>
  1281. <member name="app"
  1282. value="204"
  1283. c:identifier="GST_RTCP_TYPE_APP"
  1284. glib:nick="app">
  1285. <doc xml:space="preserve">Application defined</doc>
  1286. </member>
  1287. <member name="rtpfb"
  1288. value="205"
  1289. c:identifier="GST_RTCP_TYPE_RTPFB"
  1290. glib:nick="rtpfb">
  1291. <doc xml:space="preserve">Transport layer feedback.</doc>
  1292. </member>
  1293. <member name="psfb"
  1294. value="206"
  1295. c:identifier="GST_RTCP_TYPE_PSFB"
  1296. glib:nick="psfb">
  1297. <doc xml:space="preserve">Payload-specific feedback.</doc>
  1298. </member>
  1299. </enumeration>
  1300. <constant name="RTCP_MAX_BYE_SSRC_COUNT"
  1301. value="31"
  1302. c:type="GST_RTCP_MAX_BYE_SSRC_COUNT">
  1303. <doc xml:space="preserve">The maximum amount of SSRCs in a BYE packet.</doc>
  1304. <type name="gint" c:type="gint"/>
  1305. </constant>
  1306. <constant name="RTCP_MAX_RB_COUNT"
  1307. value="31"
  1308. c:type="GST_RTCP_MAX_RB_COUNT">
  1309. <doc xml:space="preserve">The maximum amount of Receiver report blocks in RR and SR messages.</doc>
  1310. <type name="gint" c:type="gint"/>
  1311. </constant>
  1312. <constant name="RTCP_MAX_SDES" value="255" c:type="GST_RTCP_MAX_SDES">
  1313. <doc xml:space="preserve">The maximum text length for an SDES item.</doc>
  1314. <type name="gint" c:type="gint"/>
  1315. </constant>
  1316. <constant name="RTCP_MAX_SDES_ITEM_COUNT"
  1317. value="31"
  1318. c:type="GST_RTCP_MAX_SDES_ITEM_COUNT">
  1319. <doc xml:space="preserve">The maximum amount of SDES items.</doc>
  1320. <type name="gint" c:type="gint"/>
  1321. </constant>
  1322. <constant name="RTCP_REDUCED_SIZE_VALID_MASK"
  1323. value="57592"
  1324. c:type="GST_RTCP_REDUCED_SIZE_VALID_MASK">
  1325. <doc xml:space="preserve">Mask for version, padding bit and packet type pair allowing reduced size
  1326. packets, basically it accepts other types than RR and SR</doc>
  1327. <type name="gint" c:type="gint"/>
  1328. </constant>
  1329. <constant name="RTCP_VALID_MASK"
  1330. value="57598"
  1331. c:type="GST_RTCP_VALID_MASK">
  1332. <doc xml:space="preserve">Mask for version, padding bit and packet type pair</doc>
  1333. <type name="gint" c:type="gint"/>
  1334. </constant>
  1335. <constant name="RTCP_VALID_VALUE" value="0" c:type="GST_RTCP_VALID_VALUE">
  1336. <doc xml:space="preserve">Valid value for the first two bytes of an RTCP packet after applying
  1337. #GST_RTCP_VALID_MASK to them.</doc>
  1338. <type name="gint" c:type="gint"/>
  1339. </constant>
  1340. <constant name="RTCP_VERSION" value="2" c:type="GST_RTCP_VERSION">
  1341. <doc xml:space="preserve">The supported RTCP version 2.</doc>
  1342. <type name="gint" c:type="gint"/>
  1343. </constant>
  1344. <class name="RTPBaseAudioPayload"
  1345. c:symbol-prefix="rtp_base_audio_payload"
  1346. c:type="GstRTPBaseAudioPayload"
  1347. parent="RTPBasePayload"
  1348. glib:type-name="GstRTPBaseAudioPayload"
  1349. glib:get-type="gst_rtp_base_audio_payload_get_type"
  1350. glib:type-struct="RTPBaseAudioPayloadClass">
  1351. <doc xml:space="preserve">Provides a base class for audio RTP payloaders for frame or sample based
  1352. audio codecs (constant bitrate)
  1353. This class derives from GstRTPBasePayload. It can be used for payloading
  1354. audio codecs. It will only work with constant bitrate codecs. It supports
  1355. both frame based and sample based codecs. It takes care of packing up the
  1356. audio data into RTP packets and filling up the headers accordingly. The
  1357. payloading is done based on the maximum MTU (mtu) and the maximum time per
  1358. packet (max-ptime). The general idea is to divide large data buffers into
  1359. smaller RTP packets. The RTP packet size is the minimum of either the MTU,
  1360. max-ptime (if set) or available data. The RTP packet size is always larger or
  1361. equal to min-ptime (if set). If min-ptime is not set, any residual data is
  1362. sent in a last RTP packet. In the case of frame based codecs, the resulting
  1363. RTP packets always contain full frames.
  1364. &lt;refsect2&gt;
  1365. &lt;title&gt;Usage&lt;/title&gt;
  1366. &lt;para&gt;
  1367. To use this base class, your child element needs to call either
  1368. gst_rtp_base_audio_payload_set_frame_based() or
  1369. gst_rtp_base_audio_payload_set_sample_based(). This is usually done in the
  1370. element's _init() function. Then, the child element must call either
  1371. gst_rtp_base_audio_payload_set_frame_options(),
  1372. gst_rtp_base_audio_payload_set_sample_options() or
  1373. gst_rtp_base_audio_payload_set_samplebits_options. Since
  1374. GstRTPBaseAudioPayload derives from GstRTPBasePayload, the child element
  1375. must set any variables or call/override any functions required by that base
  1376. class. The child element does not need to override any other functions
  1377. specific to GstRTPBaseAudioPayload.
  1378. &lt;/para&gt;
  1379. &lt;/refsect2&gt;</doc>
  1380. <method name="flush" c:identifier="gst_rtp_base_audio_payload_flush">
  1381. <doc xml:space="preserve">Create an RTP buffer and store @payload_len bytes of the adapter as the
  1382. payload. Set the timestamp on the new buffer to @timestamp before pushing
  1383. the buffer downstream.
  1384. If @payload_len is -1, all pending bytes will be flushed. If @timestamp is
  1385. -1, the timestamp will be calculated automatically.</doc>
  1386. <return-value transfer-ownership="none">
  1387. <doc xml:space="preserve">a #GstFlowReturn</doc>
  1388. <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
  1389. </return-value>
  1390. <parameters>
  1391. <instance-parameter name="baseaudiopayload"
  1392. transfer-ownership="none">
  1393. <doc xml:space="preserve">a #GstRTPBasePayload</doc>
  1394. <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
  1395. </instance-parameter>
  1396. <parameter name="payload_len" transfer-ownership="none">
  1397. <doc xml:space="preserve">length of payload</doc>
  1398. <type name="guint" c:type="guint"/>
  1399. </parameter>
  1400. <parameter name="timestamp" transfer-ownership="none">
  1401. <doc xml:space="preserve">a #GstClockTime</doc>
  1402. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  1403. </parameter>
  1404. </parameters>
  1405. </method>
  1406. <method name="get_adapter"
  1407. c:identifier="gst_rtp_base_audio_payload_get_adapter">
  1408. <doc xml:space="preserve">Gets the internal adapter used by the depayloader.</doc>
  1409. <return-value transfer-ownership="full">
  1410. <doc xml:space="preserve">a #GstAdapter.</doc>
  1411. <type name="GstBase.Adapter" c:type="GstAdapter*"/>
  1412. </return-value>
  1413. <parameters>
  1414. <instance-parameter name="rtpbaseaudiopayload"
  1415. transfer-ownership="none">
  1416. <doc xml:space="preserve">a #GstRTPBaseAudioPayload</doc>
  1417. <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
  1418. </instance-parameter>
  1419. </parameters>
  1420. </method>
  1421. <method name="push" c:identifier="gst_rtp_base_audio_payload_push">
  1422. <doc xml:space="preserve">Create an RTP buffer and store @payload_len bytes of @data as the
  1423. payload. Set the timestamp on the new buffer to @timestamp before pushing
  1424. the buffer downstream.</doc>
  1425. <return-value transfer-ownership="none">
  1426. <doc xml:space="preserve">a #GstFlowReturn</doc>
  1427. <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
  1428. </return-value>
  1429. <parameters>
  1430. <instance-parameter name="baseaudiopayload"
  1431. transfer-ownership="none">
  1432. <doc xml:space="preserve">a #GstRTPBasePayload</doc>
  1433. <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
  1434. </instance-parameter>
  1435. <parameter name="data" transfer-ownership="none">
  1436. <doc xml:space="preserve">data to set as payload</doc>
  1437. <type name="guint8" c:type="const guint8*"/>
  1438. </parameter>
  1439. <parameter name="payload_len" transfer-ownership="none">
  1440. <doc xml:space="preserve">length of payload</doc>
  1441. <type name="guint" c:type="guint"/>
  1442. </parameter>
  1443. <parameter name="timestamp" transfer-ownership="none">
  1444. <doc xml:space="preserve">a #GstClockTime</doc>
  1445. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  1446. </parameter>
  1447. </parameters>
  1448. </method>
  1449. <method name="set_frame_based"
  1450. c:identifier="gst_rtp_base_audio_payload_set_frame_based">
  1451. <doc xml:space="preserve">Tells #GstRTPBaseAudioPayload that the child element is for a frame based
  1452. audio codec</doc>
  1453. <return-value transfer-ownership="none">
  1454. <type name="none" c:type="void"/>
  1455. </return-value>
  1456. <parameters>
  1457. <instance-parameter name="rtpbaseaudiopayload"
  1458. transfer-ownership="none">
  1459. <doc xml:space="preserve">a pointer to the element.</doc>
  1460. <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
  1461. </instance-parameter>
  1462. </parameters>
  1463. </method>
  1464. <method name="set_frame_options"
  1465. c:identifier="gst_rtp_base_audio_payload_set_frame_options">
  1466. <doc xml:space="preserve">Sets the options for frame based audio codecs.</doc>
  1467. <return-value transfer-ownership="none">
  1468. <type name="none" c:type="void"/>
  1469. </return-value>
  1470. <parameters>
  1471. <instance-parameter name="rtpbaseaudiopayload"
  1472. transfer-ownership="none">
  1473. <doc xml:space="preserve">a pointer to the element.</doc>
  1474. <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
  1475. </instance-parameter>
  1476. <parameter name="frame_duration" transfer-ownership="none">
  1477. <doc xml:space="preserve">The duraction of an audio frame in milliseconds.</doc>
  1478. <type name="gint" c:type="gint"/>
  1479. </parameter>
  1480. <parameter name="frame_size" transfer-ownership="none">
  1481. <doc xml:space="preserve">The size of an audio frame in bytes.</doc>
  1482. <type name="gint" c:type="gint"/>
  1483. </parameter>
  1484. </parameters>
  1485. </method>
  1486. <method name="set_sample_based"
  1487. c:identifier="gst_rtp_base_audio_payload_set_sample_based">
  1488. <doc xml:space="preserve">Tells #GstRTPBaseAudioPayload that the child element is for a sample based
  1489. audio codec</doc>
  1490. <return-value transfer-ownership="none">
  1491. <type name="none" c:type="void"/>
  1492. </return-value>
  1493. <parameters>
  1494. <instance-parameter name="rtpbaseaudiopayload"
  1495. transfer-ownership="none">
  1496. <doc xml:space="preserve">a pointer to the element.</doc>
  1497. <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
  1498. </instance-parameter>
  1499. </parameters>
  1500. </method>
  1501. <method name="set_sample_options"
  1502. c:identifier="gst_rtp_base_audio_payload_set_sample_options">
  1503. <doc xml:space="preserve">Sets the options for sample based audio codecs.</doc>
  1504. <return-value transfer-ownership="none">
  1505. <type name="none" c:type="void"/>
  1506. </return-value>
  1507. <parameters>
  1508. <instance-parameter name="rtpbaseaudiopayload"
  1509. transfer-ownership="none">
  1510. <doc xml:space="preserve">a pointer to the element.</doc>
  1511. <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
  1512. </instance-parameter>
  1513. <parameter name="sample_size" transfer-ownership="none">
  1514. <doc xml:space="preserve">Size per sample in bytes.</doc>
  1515. <type name="gint" c:type="gint"/>
  1516. </parameter>
  1517. </parameters>
  1518. </method>
  1519. <method name="set_samplebits_options"
  1520. c:identifier="gst_rtp_base_audio_payload_set_samplebits_options">
  1521. <doc xml:space="preserve">Sets the options for sample based audio codecs.</doc>
  1522. <return-value transfer-ownership="none">
  1523. <type name="none" c:type="void"/>
  1524. </return-value>
  1525. <parameters>
  1526. <instance-parameter name="rtpbaseaudiopayload"
  1527. transfer-ownership="none">
  1528. <doc xml:space="preserve">a pointer to the element.</doc>
  1529. <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
  1530. </instance-parameter>
  1531. <parameter name="sample_size" transfer-ownership="none">
  1532. <doc xml:space="preserve">Size per sample in bits.</doc>
  1533. <type name="gint" c:type="gint"/>
  1534. </parameter>
  1535. </parameters>
  1536. </method>
  1537. <property name="buffer-list" writable="1" transfer-ownership="none">
  1538. <type name="gboolean" c:type="gboolean"/>
  1539. </property>
  1540. <field name="payload">
  1541. <type name="RTPBasePayload" c:type="GstRTPBasePayload"/>
  1542. </field>
  1543. <field name="priv">
  1544. <type name="RTPBaseAudioPayloadPrivate"
  1545. c:type="GstRTPBaseAudioPayloadPrivate*"/>
  1546. </field>
  1547. <field name="base_ts">
  1548. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  1549. </field>
  1550. <field name="frame_size">
  1551. <type name="gint" c:type="gint"/>
  1552. </field>
  1553. <field name="frame_duration">
  1554. <type name="gint" c:type="gint"/>
  1555. </field>
  1556. <field name="sample_size">
  1557. <type name="gint" c:type="gint"/>
  1558. </field>
  1559. <field name="_gst_reserved" readable="0" private="1">
  1560. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  1561. <type name="gpointer" c:type="gpointer"/>
  1562. </array>
  1563. </field>
  1564. </class>
  1565. <record name="RTPBaseAudioPayloadClass"
  1566. c:type="GstRTPBaseAudioPayloadClass"
  1567. glib:is-gtype-struct-for="RTPBaseAudioPayload">
  1568. <doc xml:space="preserve">Base class for audio RTP payloader.</doc>
  1569. <field name="parent_class">
  1570. <doc xml:space="preserve">the parent class</doc>
  1571. <type name="RTPBasePayloadClass" c:type="GstRTPBasePayloadClass"/>
  1572. </field>
  1573. <field name="_gst_reserved" readable="0" private="1">
  1574. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  1575. <type name="gpointer" c:type="gpointer"/>
  1576. </array>
  1577. </field>
  1578. </record>
  1579. <record name="RTPBaseAudioPayloadPrivate"
  1580. c:type="GstRTPBaseAudioPayloadPrivate"
  1581. disguised="1">
  1582. </record>
  1583. <class name="RTPBaseDepayload"
  1584. c:symbol-prefix="rtp_base_depayload"
  1585. c:type="GstRTPBaseDepayload"
  1586. parent="Gst.Element"
  1587. abstract="1"
  1588. glib:type-name="GstRTPBaseDepayload"
  1589. glib:get-type="gst_rtp_base_depayload_get_type"
  1590. glib:type-struct="RTPBaseDepayloadClass">
  1591. <doc xml:space="preserve">Provides a base class for RTP depayloaders</doc>
  1592. <virtual-method name="handle_event">
  1593. <return-value transfer-ownership="none">
  1594. <type name="gboolean" c:type="gboolean"/>
  1595. </return-value>
  1596. <parameters>
  1597. <instance-parameter name="filter" transfer-ownership="none">
  1598. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1599. </instance-parameter>
  1600. <parameter name="event" transfer-ownership="none">
  1601. <type name="Gst.Event" c:type="GstEvent*"/>
  1602. </parameter>
  1603. </parameters>
  1604. </virtual-method>
  1605. <virtual-method name="packet_lost">
  1606. <return-value transfer-ownership="none">
  1607. <type name="gboolean" c:type="gboolean"/>
  1608. </return-value>
  1609. <parameters>
  1610. <instance-parameter name="filter" transfer-ownership="none">
  1611. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1612. </instance-parameter>
  1613. <parameter name="event" transfer-ownership="none">
  1614. <type name="Gst.Event" c:type="GstEvent*"/>
  1615. </parameter>
  1616. </parameters>
  1617. </virtual-method>
  1618. <virtual-method name="process">
  1619. <return-value transfer-ownership="full">
  1620. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  1621. </return-value>
  1622. <parameters>
  1623. <instance-parameter name="base" transfer-ownership="none">
  1624. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1625. </instance-parameter>
  1626. <parameter name="in" transfer-ownership="none">
  1627. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  1628. </parameter>
  1629. </parameters>
  1630. </virtual-method>
  1631. <virtual-method name="process_rtp_packet">
  1632. <return-value transfer-ownership="full">
  1633. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  1634. </return-value>
  1635. <parameters>
  1636. <instance-parameter name="base" transfer-ownership="none">
  1637. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1638. </instance-parameter>
  1639. <parameter name="rtp_buffer" transfer-ownership="none">
  1640. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  1641. </parameter>
  1642. </parameters>
  1643. </virtual-method>
  1644. <virtual-method name="set_caps">
  1645. <return-value transfer-ownership="none">
  1646. <type name="gboolean" c:type="gboolean"/>
  1647. </return-value>
  1648. <parameters>
  1649. <instance-parameter name="filter" transfer-ownership="none">
  1650. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1651. </instance-parameter>
  1652. <parameter name="caps" transfer-ownership="none">
  1653. <type name="Gst.Caps" c:type="GstCaps*"/>
  1654. </parameter>
  1655. </parameters>
  1656. </virtual-method>
  1657. <method name="push" c:identifier="gst_rtp_base_depayload_push">
  1658. <doc xml:space="preserve">Push @out_buf to the peer of @filter. This function takes ownership of
  1659. @out_buf.
  1660. This function will by default apply the last incomming timestamp on
  1661. the outgoing buffer when it didn't have a timestamp already.</doc>
  1662. <return-value transfer-ownership="none">
  1663. <doc xml:space="preserve">a #GstFlowReturn.</doc>
  1664. <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
  1665. </return-value>
  1666. <parameters>
  1667. <instance-parameter name="filter" transfer-ownership="none">
  1668. <doc xml:space="preserve">a #GstRTPBaseDepayload</doc>
  1669. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1670. </instance-parameter>
  1671. <parameter name="out_buf" transfer-ownership="none">
  1672. <doc xml:space="preserve">a #GstBuffer</doc>
  1673. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  1674. </parameter>
  1675. </parameters>
  1676. </method>
  1677. <method name="push_list" c:identifier="gst_rtp_base_depayload_push_list">
  1678. <doc xml:space="preserve">Push @out_list to the peer of @filter. This function takes ownership of
  1679. @out_list.</doc>
  1680. <return-value transfer-ownership="none">
  1681. <doc xml:space="preserve">a #GstFlowReturn.</doc>
  1682. <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
  1683. </return-value>
  1684. <parameters>
  1685. <instance-parameter name="filter" transfer-ownership="none">
  1686. <doc xml:space="preserve">a #GstRTPBaseDepayload</doc>
  1687. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1688. </instance-parameter>
  1689. <parameter name="out_list" transfer-ownership="none">
  1690. <doc xml:space="preserve">a #GstBufferList</doc>
  1691. <type name="Gst.BufferList" c:type="GstBufferList*"/>
  1692. </parameter>
  1693. </parameters>
  1694. </method>
  1695. <property name="stats" transfer-ownership="none">
  1696. <doc xml:space="preserve">Various depayloader statistics retrieved atomically (and are therefore
  1697. synchroized with each other). This property return a GstStructure named
  1698. application/x-rtp-depayload-stats containing the following fields relating to
  1699. the last processed buffer and current state of the stream being depayloaded:
  1700. &lt;variablelist&gt;
  1701. &lt;varlistentry&gt;
  1702. &lt;term&gt;clock-rate&lt;/term&gt;
  1703. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, clock-rate of the
  1704. stream&lt;/para&gt;&lt;/listitem&gt;
  1705. &lt;/varlistentry&gt;
  1706. &lt;varlistentry&gt;
  1707. &lt;term&gt;npt-start&lt;/term&gt;
  1708. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT64, time of playback start
  1709. &lt;/para&gt;&lt;/listitem&gt;
  1710. &lt;/varlistentry&gt;
  1711. &lt;varlistentry&gt;
  1712. &lt;term&gt;npt-stop&lt;/term&gt;
  1713. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT64, time of playback stop
  1714. &lt;/para&gt;&lt;/listitem&gt;
  1715. &lt;/varlistentry&gt;
  1716. &lt;varlistentry&gt;
  1717. &lt;term&gt;play-speed&lt;/term&gt;
  1718. &lt;listitem&gt;&lt;para&gt;#G_TYPE_DOUBLE, the playback speed
  1719. &lt;/para&gt;&lt;/listitem&gt;
  1720. &lt;/varlistentry&gt;
  1721. &lt;varlistentry&gt;
  1722. &lt;term&gt;play-scale&lt;/term&gt;
  1723. &lt;listitem&gt;&lt;para&gt;#G_TYPE_DOUBLE, the playback scale
  1724. &lt;/para&gt;&lt;/listitem&gt;
  1725. &lt;/varlistentry&gt;
  1726. &lt;varlistentry&gt;
  1727. &lt;term&gt;running-time-dts&lt;/term&gt;
  1728. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT64, the last running-time of the
  1729. last DTS
  1730. &lt;/para&gt;&lt;/listitem&gt;
  1731. &lt;/varlistentry&gt;
  1732. &lt;varlistentry&gt;
  1733. &lt;term&gt;running-time-pts&lt;/term&gt;
  1734. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT64, the last running-time of the
  1735. last PTS
  1736. &lt;/para&gt;&lt;/listitem&gt;
  1737. &lt;/varlistentry&gt;
  1738. &lt;varlistentry&gt;
  1739. &lt;term&gt;seqnum&lt;/term&gt;
  1740. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, the last seen seqnum
  1741. &lt;/para&gt;&lt;/listitem&gt;
  1742. &lt;/varlistentry&gt;
  1743. &lt;varlistentry&gt;
  1744. &lt;term&gt;timestamp&lt;/term&gt;
  1745. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, the last seen RTP timestamp
  1746. &lt;/para&gt;&lt;/listitem&gt;
  1747. &lt;/varlistentry&gt;
  1748. &lt;/variablelist&gt;</doc>
  1749. <type name="Gst.Structure"/>
  1750. </property>
  1751. <field name="parent">
  1752. <type name="Gst.Element" c:type="GstElement"/>
  1753. </field>
  1754. <field name="sinkpad">
  1755. <type name="Gst.Pad" c:type="GstPad*"/>
  1756. </field>
  1757. <field name="srcpad">
  1758. <type name="Gst.Pad" c:type="GstPad*"/>
  1759. </field>
  1760. <field name="clock_rate">
  1761. <type name="guint" c:type="guint"/>
  1762. </field>
  1763. <field name="segment">
  1764. <type name="Gst.Segment" c:type="GstSegment"/>
  1765. </field>
  1766. <field name="need_newsegment">
  1767. <type name="gboolean" c:type="gboolean"/>
  1768. </field>
  1769. <field name="priv" readable="0" private="1">
  1770. <type name="RTPBaseDepayloadPrivate"
  1771. c:type="GstRTPBaseDepayloadPrivate*"/>
  1772. </field>
  1773. <field name="_gst_reserved" readable="0" private="1">
  1774. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  1775. <type name="gpointer" c:type="gpointer"/>
  1776. </array>
  1777. </field>
  1778. </class>
  1779. <record name="RTPBaseDepayloadClass"
  1780. c:type="GstRTPBaseDepayloadClass"
  1781. glib:is-gtype-struct-for="RTPBaseDepayload">
  1782. <doc xml:space="preserve">Base class for audio RTP payloader.</doc>
  1783. <field name="parent_class">
  1784. <doc xml:space="preserve">the parent class</doc>
  1785. <type name="Gst.ElementClass" c:type="GstElementClass"/>
  1786. </field>
  1787. <field name="set_caps">
  1788. <callback name="set_caps">
  1789. <return-value transfer-ownership="none">
  1790. <type name="gboolean" c:type="gboolean"/>
  1791. </return-value>
  1792. <parameters>
  1793. <parameter name="filter" transfer-ownership="none">
  1794. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1795. </parameter>
  1796. <parameter name="caps" transfer-ownership="none">
  1797. <type name="Gst.Caps" c:type="GstCaps*"/>
  1798. </parameter>
  1799. </parameters>
  1800. </callback>
  1801. </field>
  1802. <field name="process">
  1803. <callback name="process">
  1804. <return-value transfer-ownership="full">
  1805. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  1806. </return-value>
  1807. <parameters>
  1808. <parameter name="base" transfer-ownership="none">
  1809. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1810. </parameter>
  1811. <parameter name="in" transfer-ownership="none">
  1812. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  1813. </parameter>
  1814. </parameters>
  1815. </callback>
  1816. </field>
  1817. <field name="packet_lost">
  1818. <callback name="packet_lost">
  1819. <return-value transfer-ownership="none">
  1820. <type name="gboolean" c:type="gboolean"/>
  1821. </return-value>
  1822. <parameters>
  1823. <parameter name="filter" transfer-ownership="none">
  1824. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1825. </parameter>
  1826. <parameter name="event" transfer-ownership="none">
  1827. <type name="Gst.Event" c:type="GstEvent*"/>
  1828. </parameter>
  1829. </parameters>
  1830. </callback>
  1831. </field>
  1832. <field name="handle_event">
  1833. <callback name="handle_event">
  1834. <return-value transfer-ownership="none">
  1835. <type name="gboolean" c:type="gboolean"/>
  1836. </return-value>
  1837. <parameters>
  1838. <parameter name="filter" transfer-ownership="none">
  1839. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1840. </parameter>
  1841. <parameter name="event" transfer-ownership="none">
  1842. <type name="Gst.Event" c:type="GstEvent*"/>
  1843. </parameter>
  1844. </parameters>
  1845. </callback>
  1846. </field>
  1847. <field name="process_rtp_packet">
  1848. <callback name="process_rtp_packet">
  1849. <return-value transfer-ownership="full">
  1850. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  1851. </return-value>
  1852. <parameters>
  1853. <parameter name="base" transfer-ownership="none">
  1854. <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
  1855. </parameter>
  1856. <parameter name="rtp_buffer" transfer-ownership="none">
  1857. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  1858. </parameter>
  1859. </parameters>
  1860. </callback>
  1861. </field>
  1862. <field name="_gst_reserved" readable="0" private="1">
  1863. <array zero-terminated="0" c:type="gpointer" fixed-size="3">
  1864. <type name="gpointer" c:type="gpointer"/>
  1865. </array>
  1866. </field>
  1867. </record>
  1868. <record name="RTPBaseDepayloadPrivate"
  1869. c:type="GstRTPBaseDepayloadPrivate"
  1870. disguised="1">
  1871. </record>
  1872. <class name="RTPBasePayload"
  1873. c:symbol-prefix="rtp_base_payload"
  1874. c:type="GstRTPBasePayload"
  1875. parent="Gst.Element"
  1876. abstract="1"
  1877. glib:type-name="GstRTPBasePayload"
  1878. glib:get-type="gst_rtp_base_payload_get_type"
  1879. glib:type-struct="RTPBasePayloadClass">
  1880. <doc xml:space="preserve">Provides a base class for RTP payloaders</doc>
  1881. <virtual-method name="get_caps">
  1882. <return-value transfer-ownership="full">
  1883. <type name="Gst.Caps" c:type="GstCaps*"/>
  1884. </return-value>
  1885. <parameters>
  1886. <instance-parameter name="payload" transfer-ownership="none">
  1887. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  1888. </instance-parameter>
  1889. <parameter name="pad" transfer-ownership="none">
  1890. <type name="Gst.Pad" c:type="GstPad*"/>
  1891. </parameter>
  1892. <parameter name="filter" transfer-ownership="none">
  1893. <type name="Gst.Caps" c:type="GstCaps*"/>
  1894. </parameter>
  1895. </parameters>
  1896. </virtual-method>
  1897. <virtual-method name="handle_buffer">
  1898. <return-value transfer-ownership="none">
  1899. <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
  1900. </return-value>
  1901. <parameters>
  1902. <instance-parameter name="payload" transfer-ownership="none">
  1903. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  1904. </instance-parameter>
  1905. <parameter name="buffer" transfer-ownership="none">
  1906. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  1907. </parameter>
  1908. </parameters>
  1909. </virtual-method>
  1910. <virtual-method name="query">
  1911. <return-value transfer-ownership="none">
  1912. <type name="gboolean" c:type="gboolean"/>
  1913. </return-value>
  1914. <parameters>
  1915. <instance-parameter name="payload" transfer-ownership="none">
  1916. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  1917. </instance-parameter>
  1918. <parameter name="pad" transfer-ownership="none">
  1919. <type name="Gst.Pad" c:type="GstPad*"/>
  1920. </parameter>
  1921. <parameter name="query" transfer-ownership="none">
  1922. <type name="Gst.Query" c:type="GstQuery*"/>
  1923. </parameter>
  1924. </parameters>
  1925. </virtual-method>
  1926. <virtual-method name="set_caps">
  1927. <return-value transfer-ownership="none">
  1928. <type name="gboolean" c:type="gboolean"/>
  1929. </return-value>
  1930. <parameters>
  1931. <instance-parameter name="payload" transfer-ownership="none">
  1932. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  1933. </instance-parameter>
  1934. <parameter name="caps" transfer-ownership="none">
  1935. <type name="Gst.Caps" c:type="GstCaps*"/>
  1936. </parameter>
  1937. </parameters>
  1938. </virtual-method>
  1939. <virtual-method name="sink_event">
  1940. <return-value transfer-ownership="none">
  1941. <type name="gboolean" c:type="gboolean"/>
  1942. </return-value>
  1943. <parameters>
  1944. <instance-parameter name="payload" transfer-ownership="none">
  1945. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  1946. </instance-parameter>
  1947. <parameter name="event" transfer-ownership="none">
  1948. <type name="Gst.Event" c:type="GstEvent*"/>
  1949. </parameter>
  1950. </parameters>
  1951. </virtual-method>
  1952. <virtual-method name="src_event">
  1953. <return-value transfer-ownership="none">
  1954. <type name="gboolean" c:type="gboolean"/>
  1955. </return-value>
  1956. <parameters>
  1957. <instance-parameter name="payload" transfer-ownership="none">
  1958. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  1959. </instance-parameter>
  1960. <parameter name="event" transfer-ownership="none">
  1961. <type name="Gst.Event" c:type="GstEvent*"/>
  1962. </parameter>
  1963. </parameters>
  1964. </virtual-method>
  1965. <method name="is_filled" c:identifier="gst_rtp_base_payload_is_filled">
  1966. <doc xml:space="preserve">Check if the packet with @size and @duration would exceed the configured
  1967. maximum size.</doc>
  1968. <return-value transfer-ownership="none">
  1969. <doc xml:space="preserve">%TRUE if the packet of @size and @duration would exceed the
  1970. configured MTU or max_ptime.</doc>
  1971. <type name="gboolean" c:type="gboolean"/>
  1972. </return-value>
  1973. <parameters>
  1974. <instance-parameter name="payload" transfer-ownership="none">
  1975. <doc xml:space="preserve">a #GstRTPBasePayload</doc>
  1976. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  1977. </instance-parameter>
  1978. <parameter name="size" transfer-ownership="none">
  1979. <doc xml:space="preserve">the size of the packet</doc>
  1980. <type name="guint" c:type="guint"/>
  1981. </parameter>
  1982. <parameter name="duration" transfer-ownership="none">
  1983. <doc xml:space="preserve">the duration of the packet</doc>
  1984. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  1985. </parameter>
  1986. </parameters>
  1987. </method>
  1988. <method name="push" c:identifier="gst_rtp_base_payload_push">
  1989. <doc xml:space="preserve">Push @buffer to the peer element of the payloader. The SSRC, payload type,
  1990. seqnum and timestamp of the RTP buffer will be updated first.
  1991. This function takes ownership of @buffer.</doc>
  1992. <return-value transfer-ownership="none">
  1993. <doc xml:space="preserve">a #GstFlowReturn.</doc>
  1994. <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
  1995. </return-value>
  1996. <parameters>
  1997. <instance-parameter name="payload" transfer-ownership="none">
  1998. <doc xml:space="preserve">a #GstRTPBasePayload</doc>
  1999. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2000. </instance-parameter>
  2001. <parameter name="buffer" transfer-ownership="none">
  2002. <doc xml:space="preserve">a #GstBuffer</doc>
  2003. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  2004. </parameter>
  2005. </parameters>
  2006. </method>
  2007. <method name="push_list" c:identifier="gst_rtp_base_payload_push_list">
  2008. <doc xml:space="preserve">Push @list to the peer element of the payloader. The SSRC, payload type,
  2009. seqnum and timestamp of the RTP buffer will be updated first.
  2010. This function takes ownership of @list.</doc>
  2011. <return-value transfer-ownership="none">
  2012. <doc xml:space="preserve">a #GstFlowReturn.</doc>
  2013. <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
  2014. </return-value>
  2015. <parameters>
  2016. <instance-parameter name="payload" transfer-ownership="none">
  2017. <doc xml:space="preserve">a #GstRTPBasePayload</doc>
  2018. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2019. </instance-parameter>
  2020. <parameter name="list" transfer-ownership="none">
  2021. <doc xml:space="preserve">a #GstBufferList</doc>
  2022. <type name="Gst.BufferList" c:type="GstBufferList*"/>
  2023. </parameter>
  2024. </parameters>
  2025. </method>
  2026. <method name="set_options"
  2027. c:identifier="gst_rtp_base_payload_set_options">
  2028. <doc xml:space="preserve">Set the rtp options of the payloader. These options will be set in the caps
  2029. of the payloader. Subclasses must call this method before calling
  2030. gst_rtp_base_payload_push() or gst_rtp_base_payload_set_outcaps().</doc>
  2031. <return-value transfer-ownership="none">
  2032. <type name="none" c:type="void"/>
  2033. </return-value>
  2034. <parameters>
  2035. <instance-parameter name="payload" transfer-ownership="none">
  2036. <doc xml:space="preserve">a #GstRTPBasePayload</doc>
  2037. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2038. </instance-parameter>
  2039. <parameter name="media" transfer-ownership="none">
  2040. <doc xml:space="preserve">the media type (typically "audio" or "video")</doc>
  2041. <type name="utf8" c:type="const gchar*"/>
  2042. </parameter>
  2043. <parameter name="dynamic" transfer-ownership="none">
  2044. <doc xml:space="preserve">if the payload type is dynamic</doc>
  2045. <type name="gboolean" c:type="gboolean"/>
  2046. </parameter>
  2047. <parameter name="encoding_name" transfer-ownership="none">
  2048. <doc xml:space="preserve">the encoding name</doc>
  2049. <type name="utf8" c:type="const gchar*"/>
  2050. </parameter>
  2051. <parameter name="clock_rate" transfer-ownership="none">
  2052. <doc xml:space="preserve">the clock rate of the media</doc>
  2053. <type name="guint32" c:type="guint32"/>
  2054. </parameter>
  2055. </parameters>
  2056. </method>
  2057. <method name="set_outcaps"
  2058. c:identifier="gst_rtp_base_payload_set_outcaps"
  2059. introspectable="0">
  2060. <doc xml:space="preserve">Configure the output caps with the optional parameters.
  2061. Variable arguments should be in the form field name, field type
  2062. (as a GType), value(s). The last variable argument should be NULL.</doc>
  2063. <return-value transfer-ownership="none">
  2064. <doc xml:space="preserve">%TRUE if the caps could be set.</doc>
  2065. <type name="gboolean" c:type="gboolean"/>
  2066. </return-value>
  2067. <parameters>
  2068. <instance-parameter name="payload" transfer-ownership="none">
  2069. <doc xml:space="preserve">a #GstRTPBasePayload</doc>
  2070. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2071. </instance-parameter>
  2072. <parameter name="fieldname" transfer-ownership="none">
  2073. <doc xml:space="preserve">the first field name or %NULL</doc>
  2074. <type name="utf8" c:type="const gchar*"/>
  2075. </parameter>
  2076. <parameter name="..." transfer-ownership="none">
  2077. <doc xml:space="preserve">field values</doc>
  2078. <varargs/>
  2079. </parameter>
  2080. </parameters>
  2081. </method>
  2082. <property name="max-ptime" writable="1" transfer-ownership="none">
  2083. <type name="gint64" c:type="gint64"/>
  2084. </property>
  2085. <property name="min-ptime" writable="1" transfer-ownership="none">
  2086. <doc xml:space="preserve">Minimum duration of the packet data in ns (can't go above MTU)</doc>
  2087. <type name="gint64" c:type="gint64"/>
  2088. </property>
  2089. <property name="mtu" writable="1" transfer-ownership="none">
  2090. <type name="guint" c:type="guint"/>
  2091. </property>
  2092. <property name="perfect-rtptime" writable="1" transfer-ownership="none">
  2093. <doc xml:space="preserve">Try to use the offset fields to generate perfect RTP timestamps. When this
  2094. option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of
  2095. each payloaded buffer. The PTSes of buffers may not necessarily increment
  2096. with the amount of data in each input buffer, consider e.g. the case where
  2097. the buffer arrives from a network which means that the PTS is unrelated to
  2098. the amount of data. Because the RTP timestamps are generated from
  2099. GST_BUFFER_PTS this can result in RTP timestamps that also don't increment
  2100. with the amount of data in the payloaded packet. To circumvent this it is
  2101. possible to set the perfect rtptime option enabled. When this option is
  2102. enabled the payloader will increment the RTP timestamps based on
  2103. GST_BUFFER_OFFSET which relates to the amount of data in each packet
  2104. rather than the GST_BUFFER_PTS of each buffer and therefore the RTP
  2105. timestamps will more closely correlate with the amount of data in each
  2106. buffer. Currently GstRTPBasePayload is limited to handling perfect RTP
  2107. timestamps for audio streams.</doc>
  2108. <type name="gboolean" c:type="gboolean"/>
  2109. </property>
  2110. <property name="pt" writable="1" transfer-ownership="none">
  2111. <type name="guint" c:type="guint"/>
  2112. </property>
  2113. <property name="ptime-multiple" writable="1" transfer-ownership="none">
  2114. <doc xml:space="preserve">Force buffers to be multiples of this duration in ns (0 disables)</doc>
  2115. <type name="gint64" c:type="gint64"/>
  2116. </property>
  2117. <property name="seqnum" transfer-ownership="none">
  2118. <type name="guint" c:type="guint"/>
  2119. </property>
  2120. <property name="seqnum-offset" writable="1" transfer-ownership="none">
  2121. <type name="gint" c:type="gint"/>
  2122. </property>
  2123. <property name="ssrc" writable="1" transfer-ownership="none">
  2124. <type name="guint" c:type="guint"/>
  2125. </property>
  2126. <property name="stats" transfer-ownership="none">
  2127. <doc xml:space="preserve">Various payloader statistics retrieved atomically (and are therefore
  2128. synchroized with each other), these can be used e.g. to generate an
  2129. RTP-Info header. This property return a GstStructure named
  2130. application/x-rtp-payload-stats containing the following fields relating to
  2131. the last processed buffer and current state of the stream being payloaded:
  2132. &lt;variablelist&gt;
  2133. &lt;varlistentry&gt;
  2134. &lt;term&gt;clock-rate&lt;/term&gt;
  2135. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, clock-rate of the
  2136. stream&lt;/para&gt;&lt;/listitem&gt;
  2137. &lt;/varlistentry&gt;
  2138. &lt;varlistentry&gt;
  2139. &lt;term&gt;running-time&lt;/term&gt;
  2140. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT64, running time
  2141. &lt;/para&gt;&lt;/listitem&gt;
  2142. &lt;/varlistentry&gt;
  2143. &lt;varlistentry&gt;
  2144. &lt;term&gt;seqnum&lt;/term&gt;
  2145. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, sequence number, same as
  2146. #GstRTPBasePayload:seqnum&lt;/para&gt;&lt;/listitem&gt;
  2147. &lt;/varlistentry&gt;
  2148. &lt;varlistentry&gt;
  2149. &lt;term&gt;timestamp&lt;/term&gt;
  2150. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, RTP timestamp, same as
  2151. #GstRTPBasePayload:timestamp&lt;/para&gt;&lt;/listitem&gt;
  2152. &lt;/varlistentry&gt;
  2153. &lt;varlistentry&gt;
  2154. &lt;term&gt;ssrc&lt;/term&gt;
  2155. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, The SSRC in use
  2156. &lt;/para&gt;&lt;/listitem&gt;
  2157. &lt;/varlistentry&gt;
  2158. &lt;varlistentry&gt;
  2159. &lt;term&gt;pt&lt;/term&gt;
  2160. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, The Payload type in use, same as
  2161. #GstRTPBasePayload:pt&lt;/para&gt;&lt;/listitem&gt;
  2162. &lt;/varlistentry&gt;
  2163. &lt;varlistentry&gt;
  2164. &lt;term&gt;seqnum-offset&lt;/term&gt;
  2165. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, The current offset added to the
  2166. seqnum&lt;/para&gt;&lt;/listitem&gt;
  2167. &lt;/varlistentry&gt;
  2168. &lt;varlistentry&gt;
  2169. &lt;term&gt;timestamp-offset&lt;/term&gt;
  2170. &lt;listitem&gt;&lt;para&gt;#G_TYPE_UINT, The current offset added to the
  2171. timestamp&lt;/para&gt;&lt;/listitem&gt;
  2172. &lt;/varlistentry&gt;
  2173. &lt;/variablelist&gt;</doc>
  2174. <type name="Gst.Structure"/>
  2175. </property>
  2176. <property name="timestamp" transfer-ownership="none">
  2177. <type name="guint" c:type="guint"/>
  2178. </property>
  2179. <property name="timestamp-offset" writable="1" transfer-ownership="none">
  2180. <type name="guint" c:type="guint"/>
  2181. </property>
  2182. <field name="element">
  2183. <type name="Gst.Element" c:type="GstElement"/>
  2184. </field>
  2185. <field name="sinkpad" readable="0" private="1">
  2186. <type name="Gst.Pad" c:type="GstPad*"/>
  2187. </field>
  2188. <field name="srcpad" readable="0" private="1">
  2189. <type name="Gst.Pad" c:type="GstPad*"/>
  2190. </field>
  2191. <field name="ts_base" readable="0" private="1">
  2192. <type name="guint32" c:type="guint32"/>
  2193. </field>
  2194. <field name="seqnum_base" readable="0" private="1">
  2195. <type name="guint16" c:type="guint16"/>
  2196. </field>
  2197. <field name="media" readable="0" private="1">
  2198. <type name="utf8" c:type="gchar*"/>
  2199. </field>
  2200. <field name="encoding_name" readable="0" private="1">
  2201. <type name="utf8" c:type="gchar*"/>
  2202. </field>
  2203. <field name="dynamic" readable="0" private="1">
  2204. <type name="gboolean" c:type="gboolean"/>
  2205. </field>
  2206. <field name="clock_rate" readable="0" private="1">
  2207. <type name="guint32" c:type="guint32"/>
  2208. </field>
  2209. <field name="ts_offset" readable="0" private="1">
  2210. <type name="gint32" c:type="gint32"/>
  2211. </field>
  2212. <field name="timestamp" readable="0" private="1">
  2213. <type name="guint32" c:type="guint32"/>
  2214. </field>
  2215. <field name="seqnum_offset" readable="0" private="1">
  2216. <type name="gint16" c:type="gint16"/>
  2217. </field>
  2218. <field name="seqnum" readable="0" private="1">
  2219. <type name="guint16" c:type="guint16"/>
  2220. </field>
  2221. <field name="max_ptime" readable="0" private="1">
  2222. <type name="gint64" c:type="gint64"/>
  2223. </field>
  2224. <field name="pt" readable="0" private="1">
  2225. <type name="guint" c:type="guint"/>
  2226. </field>
  2227. <field name="ssrc" readable="0" private="1">
  2228. <type name="guint" c:type="guint"/>
  2229. </field>
  2230. <field name="current_ssrc" readable="0" private="1">
  2231. <type name="guint" c:type="guint"/>
  2232. </field>
  2233. <field name="mtu" readable="0" private="1">
  2234. <type name="guint" c:type="guint"/>
  2235. </field>
  2236. <field name="segment" readable="0" private="1">
  2237. <type name="Gst.Segment" c:type="GstSegment"/>
  2238. </field>
  2239. <field name="min_ptime" readable="0" private="1">
  2240. <type name="guint64" c:type="guint64"/>
  2241. </field>
  2242. <field name="ptime" readable="0" private="1">
  2243. <type name="guint64" c:type="guint64"/>
  2244. </field>
  2245. <field name="ptime_multiple" readable="0" private="1">
  2246. <type name="guint64" c:type="guint64"/>
  2247. </field>
  2248. <field name="priv" readable="0" private="1">
  2249. <type name="RTPBasePayloadPrivate" c:type="GstRTPBasePayloadPrivate*"/>
  2250. </field>
  2251. <field name="_gst_reserved" readable="0" private="1">
  2252. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  2253. <type name="gpointer" c:type="gpointer"/>
  2254. </array>
  2255. </field>
  2256. </class>
  2257. <record name="RTPBasePayloadClass"
  2258. c:type="GstRTPBasePayloadClass"
  2259. glib:is-gtype-struct-for="RTPBasePayload">
  2260. <doc xml:space="preserve">Base class for audio RTP payloader.</doc>
  2261. <field name="parent_class">
  2262. <doc xml:space="preserve">the parent class</doc>
  2263. <type name="Gst.ElementClass" c:type="GstElementClass"/>
  2264. </field>
  2265. <field name="get_caps">
  2266. <callback name="get_caps">
  2267. <return-value transfer-ownership="full">
  2268. <type name="Gst.Caps" c:type="GstCaps*"/>
  2269. </return-value>
  2270. <parameters>
  2271. <parameter name="payload" transfer-ownership="none">
  2272. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2273. </parameter>
  2274. <parameter name="pad" transfer-ownership="none">
  2275. <type name="Gst.Pad" c:type="GstPad*"/>
  2276. </parameter>
  2277. <parameter name="filter" transfer-ownership="none">
  2278. <type name="Gst.Caps" c:type="GstCaps*"/>
  2279. </parameter>
  2280. </parameters>
  2281. </callback>
  2282. </field>
  2283. <field name="set_caps">
  2284. <callback name="set_caps">
  2285. <return-value transfer-ownership="none">
  2286. <type name="gboolean" c:type="gboolean"/>
  2287. </return-value>
  2288. <parameters>
  2289. <parameter name="payload" transfer-ownership="none">
  2290. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2291. </parameter>
  2292. <parameter name="caps" transfer-ownership="none">
  2293. <type name="Gst.Caps" c:type="GstCaps*"/>
  2294. </parameter>
  2295. </parameters>
  2296. </callback>
  2297. </field>
  2298. <field name="handle_buffer">
  2299. <callback name="handle_buffer">
  2300. <return-value transfer-ownership="none">
  2301. <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
  2302. </return-value>
  2303. <parameters>
  2304. <parameter name="payload" transfer-ownership="none">
  2305. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2306. </parameter>
  2307. <parameter name="buffer" transfer-ownership="none">
  2308. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  2309. </parameter>
  2310. </parameters>
  2311. </callback>
  2312. </field>
  2313. <field name="sink_event">
  2314. <callback name="sink_event">
  2315. <return-value transfer-ownership="none">
  2316. <type name="gboolean" c:type="gboolean"/>
  2317. </return-value>
  2318. <parameters>
  2319. <parameter name="payload" transfer-ownership="none">
  2320. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2321. </parameter>
  2322. <parameter name="event" transfer-ownership="none">
  2323. <type name="Gst.Event" c:type="GstEvent*"/>
  2324. </parameter>
  2325. </parameters>
  2326. </callback>
  2327. </field>
  2328. <field name="src_event">
  2329. <callback name="src_event">
  2330. <return-value transfer-ownership="none">
  2331. <type name="gboolean" c:type="gboolean"/>
  2332. </return-value>
  2333. <parameters>
  2334. <parameter name="payload" transfer-ownership="none">
  2335. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2336. </parameter>
  2337. <parameter name="event" transfer-ownership="none">
  2338. <type name="Gst.Event" c:type="GstEvent*"/>
  2339. </parameter>
  2340. </parameters>
  2341. </callback>
  2342. </field>
  2343. <field name="query">
  2344. <callback name="query">
  2345. <return-value transfer-ownership="none">
  2346. <type name="gboolean" c:type="gboolean"/>
  2347. </return-value>
  2348. <parameters>
  2349. <parameter name="payload" transfer-ownership="none">
  2350. <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
  2351. </parameter>
  2352. <parameter name="pad" transfer-ownership="none">
  2353. <type name="Gst.Pad" c:type="GstPad*"/>
  2354. </parameter>
  2355. <parameter name="query" transfer-ownership="none">
  2356. <type name="Gst.Query" c:type="GstQuery*"/>
  2357. </parameter>
  2358. </parameters>
  2359. </callback>
  2360. </field>
  2361. <field name="_gst_reserved" readable="0" private="1">
  2362. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  2363. <type name="gpointer" c:type="gpointer"/>
  2364. </array>
  2365. </field>
  2366. </record>
  2367. <record name="RTPBasePayloadPrivate"
  2368. c:type="GstRTPBasePayloadPrivate"
  2369. disguised="1">
  2370. </record>
  2371. <record name="RTPBuffer" c:type="GstRTPBuffer">
  2372. <doc xml:space="preserve">&lt;refsect2&gt;
  2373. &lt;para&gt;
  2374. The GstRTPBuffer helper functions makes it easy to parse and create regular
  2375. #GstBuffer objects that contain RTP payloads. These buffers are typically of
  2376. 'application/x-rtp' #GstCaps.
  2377. &lt;/para&gt;
  2378. &lt;/refsect2&gt;</doc>
  2379. <field name="buffer" writable="1">
  2380. <doc xml:space="preserve">pointer to RTP buffer</doc>
  2381. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  2382. </field>
  2383. <field name="state" writable="1">
  2384. <doc xml:space="preserve">internal state</doc>
  2385. <type name="guint" c:type="guint"/>
  2386. </field>
  2387. <field name="data" writable="1">
  2388. <doc xml:space="preserve">array of data</doc>
  2389. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  2390. <type name="gpointer" c:type="gpointer"/>
  2391. </array>
  2392. </field>
  2393. <field name="size" writable="1">
  2394. <doc xml:space="preserve">array of size</doc>
  2395. <array zero-terminated="0" c:type="gsize" fixed-size="4">
  2396. <type name="gsize" c:type="gsize"/>
  2397. </array>
  2398. </field>
  2399. <field name="map" writable="1">
  2400. <doc xml:space="preserve">array of #GstMapInfo</doc>
  2401. <array zero-terminated="0" c:type="GstMapInfo" fixed-size="4">
  2402. <type name="Gst.MapInfo" c:type="GstMapInfo"/>
  2403. </array>
  2404. </field>
  2405. <method name="add_extension_onebyte_header"
  2406. c:identifier="gst_rtp_buffer_add_extension_onebyte_header">
  2407. <doc xml:space="preserve">Adds a RFC 5285 header extension with a one byte header to the end of the
  2408. RTP header. If there is already a RFC 5285 header extension with a one byte
  2409. header, the new extension will be appended.
  2410. It will not work if there is already a header extension that does not follow
  2411. the mecanism described in RFC 5285 or if there is a header extension with
  2412. a two bytes header as described in RFC 5285. In that case, use
  2413. gst_rtp_buffer_add_extension_twobytes_header()</doc>
  2414. <return-value transfer-ownership="none">
  2415. <doc xml:space="preserve">%TRUE if header extension could be added</doc>
  2416. <type name="gboolean" c:type="gboolean"/>
  2417. </return-value>
  2418. <parameters>
  2419. <instance-parameter name="rtp" transfer-ownership="none">
  2420. <doc xml:space="preserve">the RTP packet</doc>
  2421. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2422. </instance-parameter>
  2423. <parameter name="id" transfer-ownership="none">
  2424. <doc xml:space="preserve">The ID of the header extension (between 1 and 14).</doc>
  2425. <type name="guint8" c:type="guint8"/>
  2426. </parameter>
  2427. <parameter name="data" transfer-ownership="none">
  2428. <doc xml:space="preserve">location for data</doc>
  2429. <array length="2" zero-terminated="0" c:type="gpointer">
  2430. <type name="guint8"/>
  2431. </array>
  2432. </parameter>
  2433. <parameter name="size" transfer-ownership="none">
  2434. <doc xml:space="preserve">the size of the data in bytes</doc>
  2435. <type name="guint" c:type="guint"/>
  2436. </parameter>
  2437. </parameters>
  2438. </method>
  2439. <method name="add_extension_twobytes_header"
  2440. c:identifier="gst_rtp_buffer_add_extension_twobytes_header">
  2441. <doc xml:space="preserve">Adds a RFC 5285 header extension with a two bytes header to the end of the
  2442. RTP header. If there is already a RFC 5285 header extension with a two bytes
  2443. header, the new extension will be appended.
  2444. It will not work if there is already a header extension that does not follow
  2445. the mecanism described in RFC 5285 or if there is a header extension with
  2446. a one byte header as described in RFC 5285. In that case, use
  2447. gst_rtp_buffer_add_extension_onebyte_header()</doc>
  2448. <return-value transfer-ownership="none">
  2449. <doc xml:space="preserve">%TRUE if header extension could be added</doc>
  2450. <type name="gboolean" c:type="gboolean"/>
  2451. </return-value>
  2452. <parameters>
  2453. <instance-parameter name="rtp" transfer-ownership="none">
  2454. <doc xml:space="preserve">the RTP packet</doc>
  2455. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2456. </instance-parameter>
  2457. <parameter name="appbits" transfer-ownership="none">
  2458. <doc xml:space="preserve">Application specific bits</doc>
  2459. <type name="guint8" c:type="guint8"/>
  2460. </parameter>
  2461. <parameter name="id" transfer-ownership="none">
  2462. <doc xml:space="preserve">The ID of the header extension</doc>
  2463. <type name="guint8" c:type="guint8"/>
  2464. </parameter>
  2465. <parameter name="data" transfer-ownership="none">
  2466. <doc xml:space="preserve">location for data</doc>
  2467. <array length="3" zero-terminated="0" c:type="gpointer">
  2468. <type name="guint8"/>
  2469. </array>
  2470. </parameter>
  2471. <parameter name="size" transfer-ownership="none">
  2472. <doc xml:space="preserve">the size of the data in bytes</doc>
  2473. <type name="guint" c:type="guint"/>
  2474. </parameter>
  2475. </parameters>
  2476. </method>
  2477. <method name="get_csrc" c:identifier="gst_rtp_buffer_get_csrc">
  2478. <doc xml:space="preserve">Get the CSRC at index @idx in @buffer.</doc>
  2479. <return-value transfer-ownership="none">
  2480. <doc xml:space="preserve">the CSRC at index @idx in host order.</doc>
  2481. <type name="guint32" c:type="guint32"/>
  2482. </return-value>
  2483. <parameters>
  2484. <instance-parameter name="rtp" transfer-ownership="none">
  2485. <doc xml:space="preserve">the RTP packet</doc>
  2486. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2487. </instance-parameter>
  2488. <parameter name="idx" transfer-ownership="none">
  2489. <doc xml:space="preserve">the index of the CSRC to get</doc>
  2490. <type name="guint8" c:type="guint8"/>
  2491. </parameter>
  2492. </parameters>
  2493. </method>
  2494. <method name="get_csrc_count"
  2495. c:identifier="gst_rtp_buffer_get_csrc_count">
  2496. <doc xml:space="preserve">Get the CSRC count of the RTP packet in @buffer.</doc>
  2497. <return-value transfer-ownership="none">
  2498. <doc xml:space="preserve">the CSRC count of @buffer.</doc>
  2499. <type name="guint8" c:type="guint8"/>
  2500. </return-value>
  2501. <parameters>
  2502. <instance-parameter name="rtp" transfer-ownership="none">
  2503. <doc xml:space="preserve">the RTP packet</doc>
  2504. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2505. </instance-parameter>
  2506. </parameters>
  2507. </method>
  2508. <method name="get_extension" c:identifier="gst_rtp_buffer_get_extension">
  2509. <doc xml:space="preserve">Check if the extension bit is set on the RTP packet in @buffer.</doc>
  2510. <return-value transfer-ownership="none">
  2511. <doc xml:space="preserve">TRUE if @buffer has the extension bit set.</doc>
  2512. <type name="gboolean" c:type="gboolean"/>
  2513. </return-value>
  2514. <parameters>
  2515. <instance-parameter name="rtp" transfer-ownership="none">
  2516. <doc xml:space="preserve">the RTP packet</doc>
  2517. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2518. </instance-parameter>
  2519. </parameters>
  2520. </method>
  2521. <method name="get_extension_bytes"
  2522. c:identifier="gst_rtp_buffer_get_extension_bytes"
  2523. shadows="get_extension_data"
  2524. version="1.2">
  2525. <doc xml:space="preserve">Similar to gst_rtp_buffer_get_extension_data, but more suitable for language
  2526. bindings usage. @bits will contain the extension 16 bits of custom data and
  2527. the extension data (not including the extension header) is placed in a new
  2528. #GBytes structure.
  2529. If @rtp did not contain an extension, this function will return %NULL, with
  2530. @bits unchanged. If there is an extension header but no extension data then
  2531. an empty #GBytes will be returned.</doc>
  2532. <return-value transfer-ownership="full">
  2533. <doc xml:space="preserve">A new #GBytes if an extension header was present
  2534. and %NULL otherwise.</doc>
  2535. <type name="GLib.Bytes" c:type="GBytes*"/>
  2536. </return-value>
  2537. <parameters>
  2538. <instance-parameter name="rtp" transfer-ownership="none">
  2539. <doc xml:space="preserve">the RTP packet</doc>
  2540. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2541. </instance-parameter>
  2542. <parameter name="bits"
  2543. direction="out"
  2544. caller-allocates="0"
  2545. transfer-ownership="full">
  2546. <doc xml:space="preserve">location for header bits</doc>
  2547. <type name="guint16" c:type="guint16*"/>
  2548. </parameter>
  2549. </parameters>
  2550. </method>
  2551. <method name="get_extension_data"
  2552. c:identifier="gst_rtp_buffer_get_extension_data"
  2553. shadowed-by="get_extension_bytes"
  2554. introspectable="0">
  2555. <doc xml:space="preserve">Get the extension data. @bits will contain the extension 16 bits of custom
  2556. data. @data will point to the data in the extension and @wordlen will contain
  2557. the length of @data in 32 bits words.
  2558. If @buffer did not contain an extension, this function will return %FALSE
  2559. with @bits, @data and @wordlen unchanged.</doc>
  2560. <return-value transfer-ownership="none">
  2561. <doc xml:space="preserve">TRUE if @buffer had the extension bit set.</doc>
  2562. <type name="gboolean" c:type="gboolean"/>
  2563. </return-value>
  2564. <parameters>
  2565. <instance-parameter name="rtp" transfer-ownership="none">
  2566. <doc xml:space="preserve">the RTP packet</doc>
  2567. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2568. </instance-parameter>
  2569. <parameter name="bits"
  2570. direction="out"
  2571. caller-allocates="0"
  2572. transfer-ownership="full">
  2573. <doc xml:space="preserve">location for result bits</doc>
  2574. <type name="guint16" c:type="guint16*"/>
  2575. </parameter>
  2576. <parameter name="data"
  2577. direction="out"
  2578. caller-allocates="0"
  2579. transfer-ownership="none">
  2580. <doc xml:space="preserve">location for data</doc>
  2581. <array zero-terminated="0" c:type="gpointer*">
  2582. <type name="guint8"/>
  2583. </array>
  2584. </parameter>
  2585. <parameter name="wordlen"
  2586. direction="out"
  2587. caller-allocates="0"
  2588. transfer-ownership="full">
  2589. <doc xml:space="preserve">location for length of @data in 32 bits words</doc>
  2590. <type name="guint" c:type="guint*"/>
  2591. </parameter>
  2592. </parameters>
  2593. </method>
  2594. <method name="get_extension_onebyte_header"
  2595. c:identifier="gst_rtp_buffer_get_extension_onebyte_header">
  2596. <doc xml:space="preserve">Parses RFC 5285 style header extensions with a one byte header. It will
  2597. return the nth extension with the requested id.</doc>
  2598. <return-value transfer-ownership="none">
  2599. <doc xml:space="preserve">TRUE if @buffer had the requested header extension</doc>
  2600. <type name="gboolean" c:type="gboolean"/>
  2601. </return-value>
  2602. <parameters>
  2603. <instance-parameter name="rtp" transfer-ownership="none">
  2604. <doc xml:space="preserve">the RTP packet</doc>
  2605. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2606. </instance-parameter>
  2607. <parameter name="id" transfer-ownership="none">
  2608. <doc xml:space="preserve">The ID of the header extension to be read (between 1 and 14).</doc>
  2609. <type name="guint8" c:type="guint8"/>
  2610. </parameter>
  2611. <parameter name="nth" transfer-ownership="none">
  2612. <doc xml:space="preserve">Read the nth extension packet with the requested ID</doc>
  2613. <type name="guint" c:type="guint"/>
  2614. </parameter>
  2615. <parameter name="data"
  2616. direction="out"
  2617. caller-allocates="0"
  2618. transfer-ownership="none">
  2619. <doc xml:space="preserve">
  2620. location for data</doc>
  2621. <array length="3" zero-terminated="0" c:type="gpointer*">
  2622. <type name="guint8"/>
  2623. </array>
  2624. </parameter>
  2625. <parameter name="size"
  2626. direction="out"
  2627. caller-allocates="0"
  2628. transfer-ownership="full">
  2629. <doc xml:space="preserve">the size of the data in bytes</doc>
  2630. <type name="guint" c:type="guint*"/>
  2631. </parameter>
  2632. </parameters>
  2633. </method>
  2634. <method name="get_extension_twobytes_header"
  2635. c:identifier="gst_rtp_buffer_get_extension_twobytes_header">
  2636. <doc xml:space="preserve">Parses RFC 5285 style header extensions with a two bytes header. It will
  2637. return the nth extension with the requested id.</doc>
  2638. <return-value transfer-ownership="none">
  2639. <doc xml:space="preserve">TRUE if @buffer had the requested header extension</doc>
  2640. <type name="gboolean" c:type="gboolean"/>
  2641. </return-value>
  2642. <parameters>
  2643. <instance-parameter name="rtp" transfer-ownership="none">
  2644. <doc xml:space="preserve">the RTP packet</doc>
  2645. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2646. </instance-parameter>
  2647. <parameter name="appbits"
  2648. direction="out"
  2649. caller-allocates="0"
  2650. transfer-ownership="full">
  2651. <doc xml:space="preserve">Application specific bits</doc>
  2652. <type name="guint8" c:type="guint8*"/>
  2653. </parameter>
  2654. <parameter name="id" transfer-ownership="none">
  2655. <doc xml:space="preserve">The ID of the header extension to be read (between 1 and 14).</doc>
  2656. <type name="guint8" c:type="guint8"/>
  2657. </parameter>
  2658. <parameter name="nth" transfer-ownership="none">
  2659. <doc xml:space="preserve">Read the nth extension packet with the requested ID</doc>
  2660. <type name="guint" c:type="guint"/>
  2661. </parameter>
  2662. <parameter name="data"
  2663. direction="out"
  2664. caller-allocates="0"
  2665. transfer-ownership="none">
  2666. <doc xml:space="preserve">
  2667. location for data</doc>
  2668. <array length="4" zero-terminated="0" c:type="gpointer*">
  2669. <type name="guint8"/>
  2670. </array>
  2671. </parameter>
  2672. <parameter name="size"
  2673. direction="out"
  2674. caller-allocates="0"
  2675. transfer-ownership="full">
  2676. <doc xml:space="preserve">the size of the data in bytes</doc>
  2677. <type name="guint" c:type="guint*"/>
  2678. </parameter>
  2679. </parameters>
  2680. </method>
  2681. <method name="get_header_len"
  2682. c:identifier="gst_rtp_buffer_get_header_len">
  2683. <doc xml:space="preserve">Return the total length of the header in @buffer. This include the length of
  2684. the fixed header, the CSRC list and the extension header.</doc>
  2685. <return-value transfer-ownership="none">
  2686. <doc xml:space="preserve">The total length of the header in @buffer.</doc>
  2687. <type name="guint" c:type="guint"/>
  2688. </return-value>
  2689. <parameters>
  2690. <instance-parameter name="rtp" transfer-ownership="none">
  2691. <doc xml:space="preserve">the RTP packet</doc>
  2692. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2693. </instance-parameter>
  2694. </parameters>
  2695. </method>
  2696. <method name="get_marker" c:identifier="gst_rtp_buffer_get_marker">
  2697. <doc xml:space="preserve">Check if the marker bit is set on the RTP packet in @buffer.</doc>
  2698. <return-value transfer-ownership="none">
  2699. <doc xml:space="preserve">TRUE if @buffer has the marker bit set.</doc>
  2700. <type name="gboolean" c:type="gboolean"/>
  2701. </return-value>
  2702. <parameters>
  2703. <instance-parameter name="rtp" transfer-ownership="none">
  2704. <doc xml:space="preserve">the RTP packet</doc>
  2705. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2706. </instance-parameter>
  2707. </parameters>
  2708. </method>
  2709. <method name="get_packet_len"
  2710. c:identifier="gst_rtp_buffer_get_packet_len">
  2711. <doc xml:space="preserve">Return the total length of the packet in @buffer.</doc>
  2712. <return-value transfer-ownership="none">
  2713. <doc xml:space="preserve">The total length of the packet in @buffer.</doc>
  2714. <type name="guint" c:type="guint"/>
  2715. </return-value>
  2716. <parameters>
  2717. <instance-parameter name="rtp" transfer-ownership="none">
  2718. <doc xml:space="preserve">the RTP packet</doc>
  2719. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2720. </instance-parameter>
  2721. </parameters>
  2722. </method>
  2723. <method name="get_padding" c:identifier="gst_rtp_buffer_get_padding">
  2724. <doc xml:space="preserve">Check if the padding bit is set on the RTP packet in @buffer.</doc>
  2725. <return-value transfer-ownership="none">
  2726. <doc xml:space="preserve">TRUE if @buffer has the padding bit set.</doc>
  2727. <type name="gboolean" c:type="gboolean"/>
  2728. </return-value>
  2729. <parameters>
  2730. <instance-parameter name="rtp" transfer-ownership="none">
  2731. <doc xml:space="preserve">the RTP packet</doc>
  2732. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2733. </instance-parameter>
  2734. </parameters>
  2735. </method>
  2736. <method name="get_payload"
  2737. c:identifier="gst_rtp_buffer_get_payload"
  2738. shadowed-by="get_payload_bytes"
  2739. introspectable="0">
  2740. <doc xml:space="preserve">Get a pointer to the payload data in @buffer. This pointer is valid as long
  2741. as a reference to @buffer is held.</doc>
  2742. <return-value transfer-ownership="none">
  2743. <doc xml:space="preserve">A pointer
  2744. to the payload data in @buffer.</doc>
  2745. <array zero-terminated="0" c:type="gpointer">
  2746. <type name="guint8"/>
  2747. </array>
  2748. </return-value>
  2749. <parameters>
  2750. <instance-parameter name="rtp" transfer-ownership="none">
  2751. <doc xml:space="preserve">the RTP packet</doc>
  2752. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2753. </instance-parameter>
  2754. </parameters>
  2755. </method>
  2756. <method name="get_payload_buffer"
  2757. c:identifier="gst_rtp_buffer_get_payload_buffer">
  2758. <doc xml:space="preserve">Create a buffer of the payload of the RTP packet in @buffer. This function
  2759. will internally create a subbuffer of @buffer so that a memcpy can be
  2760. avoided.</doc>
  2761. <return-value transfer-ownership="full">
  2762. <doc xml:space="preserve">A new buffer with the data of the payload.</doc>
  2763. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  2764. </return-value>
  2765. <parameters>
  2766. <instance-parameter name="rtp" transfer-ownership="none">
  2767. <doc xml:space="preserve">the RTP packet</doc>
  2768. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2769. </instance-parameter>
  2770. </parameters>
  2771. </method>
  2772. <method name="get_payload_bytes"
  2773. c:identifier="gst_rtp_buffer_get_payload_bytes"
  2774. shadows="get_payload"
  2775. version="1.2">
  2776. <doc xml:space="preserve">Similar to gst_rtp_buffer_get_payload, but more suitable for language
  2777. bindings usage. The return value is a pointer to a #GBytes structure
  2778. containing the payload data in @rtp.</doc>
  2779. <return-value transfer-ownership="full">
  2780. <doc xml:space="preserve">A new #GBytes containing the payload data in @rtp.</doc>
  2781. <type name="GLib.Bytes" c:type="GBytes*"/>
  2782. </return-value>
  2783. <parameters>
  2784. <instance-parameter name="rtp" transfer-ownership="none">
  2785. <doc xml:space="preserve">the RTP packet</doc>
  2786. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2787. </instance-parameter>
  2788. </parameters>
  2789. </method>
  2790. <method name="get_payload_len"
  2791. c:identifier="gst_rtp_buffer_get_payload_len">
  2792. <doc xml:space="preserve">Get the length of the payload of the RTP packet in @buffer.</doc>
  2793. <return-value transfer-ownership="none">
  2794. <doc xml:space="preserve">The length of the payload in @buffer.</doc>
  2795. <type name="guint" c:type="guint"/>
  2796. </return-value>
  2797. <parameters>
  2798. <instance-parameter name="rtp" transfer-ownership="none">
  2799. <doc xml:space="preserve">the RTP packet</doc>
  2800. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2801. </instance-parameter>
  2802. </parameters>
  2803. </method>
  2804. <method name="get_payload_subbuffer"
  2805. c:identifier="gst_rtp_buffer_get_payload_subbuffer">
  2806. <doc xml:space="preserve">Create a subbuffer of the payload of the RTP packet in @buffer. @offset bytes
  2807. are skipped in the payload and the subbuffer will be of size @len.
  2808. If @len is -1 the total payload starting from @offset is subbuffered.</doc>
  2809. <return-value transfer-ownership="full">
  2810. <doc xml:space="preserve">A new buffer with the specified data of the payload.</doc>
  2811. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  2812. </return-value>
  2813. <parameters>
  2814. <instance-parameter name="rtp" transfer-ownership="none">
  2815. <doc xml:space="preserve">the RTP packet</doc>
  2816. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2817. </instance-parameter>
  2818. <parameter name="offset" transfer-ownership="none">
  2819. <doc xml:space="preserve">the offset in the payload</doc>
  2820. <type name="guint" c:type="guint"/>
  2821. </parameter>
  2822. <parameter name="len" transfer-ownership="none">
  2823. <doc xml:space="preserve">the length in the payload</doc>
  2824. <type name="guint" c:type="guint"/>
  2825. </parameter>
  2826. </parameters>
  2827. </method>
  2828. <method name="get_payload_type"
  2829. c:identifier="gst_rtp_buffer_get_payload_type">
  2830. <doc xml:space="preserve">Get the payload type of the RTP packet in @buffer.</doc>
  2831. <return-value transfer-ownership="none">
  2832. <doc xml:space="preserve">The payload type.</doc>
  2833. <type name="guint8" c:type="guint8"/>
  2834. </return-value>
  2835. <parameters>
  2836. <instance-parameter name="rtp" transfer-ownership="none">
  2837. <doc xml:space="preserve">the RTP packet</doc>
  2838. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2839. </instance-parameter>
  2840. </parameters>
  2841. </method>
  2842. <method name="get_seq" c:identifier="gst_rtp_buffer_get_seq">
  2843. <doc xml:space="preserve">Get the sequence number of the RTP packet in @buffer.</doc>
  2844. <return-value transfer-ownership="none">
  2845. <doc xml:space="preserve">The sequence number in host order.</doc>
  2846. <type name="guint16" c:type="guint16"/>
  2847. </return-value>
  2848. <parameters>
  2849. <instance-parameter name="rtp" transfer-ownership="none">
  2850. <doc xml:space="preserve">the RTP packet</doc>
  2851. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2852. </instance-parameter>
  2853. </parameters>
  2854. </method>
  2855. <method name="get_ssrc" c:identifier="gst_rtp_buffer_get_ssrc">
  2856. <doc xml:space="preserve">Get the SSRC of the RTP packet in @buffer.</doc>
  2857. <return-value transfer-ownership="none">
  2858. <doc xml:space="preserve">the SSRC of @buffer in host order.</doc>
  2859. <type name="guint32" c:type="guint32"/>
  2860. </return-value>
  2861. <parameters>
  2862. <instance-parameter name="rtp" transfer-ownership="none">
  2863. <doc xml:space="preserve">the RTP packet</doc>
  2864. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2865. </instance-parameter>
  2866. </parameters>
  2867. </method>
  2868. <method name="get_timestamp" c:identifier="gst_rtp_buffer_get_timestamp">
  2869. <doc xml:space="preserve">Get the timestamp of the RTP packet in @buffer.</doc>
  2870. <return-value transfer-ownership="none">
  2871. <doc xml:space="preserve">The timestamp in host order.</doc>
  2872. <type name="guint32" c:type="guint32"/>
  2873. </return-value>
  2874. <parameters>
  2875. <instance-parameter name="rtp" transfer-ownership="none">
  2876. <doc xml:space="preserve">the RTP packet</doc>
  2877. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2878. </instance-parameter>
  2879. </parameters>
  2880. </method>
  2881. <method name="get_version" c:identifier="gst_rtp_buffer_get_version">
  2882. <doc xml:space="preserve">Get the version number of the RTP packet in @buffer.</doc>
  2883. <return-value transfer-ownership="none">
  2884. <doc xml:space="preserve">The version of @buffer.</doc>
  2885. <type name="guint8" c:type="guint8"/>
  2886. </return-value>
  2887. <parameters>
  2888. <instance-parameter name="rtp" transfer-ownership="none">
  2889. <doc xml:space="preserve">the RTP packet</doc>
  2890. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2891. </instance-parameter>
  2892. </parameters>
  2893. </method>
  2894. <method name="pad_to" c:identifier="gst_rtp_buffer_pad_to">
  2895. <doc xml:space="preserve">Set the amount of padding in the RTP packet in @buffer to
  2896. @len. If @len is 0, the padding is removed.
  2897. NOTE: This function does not work correctly.</doc>
  2898. <return-value transfer-ownership="none">
  2899. <type name="none" c:type="void"/>
  2900. </return-value>
  2901. <parameters>
  2902. <instance-parameter name="rtp" transfer-ownership="none">
  2903. <doc xml:space="preserve">the RTP packet</doc>
  2904. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2905. </instance-parameter>
  2906. <parameter name="len" transfer-ownership="none">
  2907. <doc xml:space="preserve">the new amount of padding</doc>
  2908. <type name="guint" c:type="guint"/>
  2909. </parameter>
  2910. </parameters>
  2911. </method>
  2912. <method name="set_csrc" c:identifier="gst_rtp_buffer_set_csrc">
  2913. <doc xml:space="preserve">Modify the CSRC at index @idx in @buffer to @csrc.</doc>
  2914. <return-value transfer-ownership="none">
  2915. <type name="none" c:type="void"/>
  2916. </return-value>
  2917. <parameters>
  2918. <instance-parameter name="rtp" transfer-ownership="none">
  2919. <doc xml:space="preserve">the RTP packet</doc>
  2920. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2921. </instance-parameter>
  2922. <parameter name="idx" transfer-ownership="none">
  2923. <doc xml:space="preserve">the CSRC index to set</doc>
  2924. <type name="guint8" c:type="guint8"/>
  2925. </parameter>
  2926. <parameter name="csrc" transfer-ownership="none">
  2927. <doc xml:space="preserve">the CSRC in host order to set at @idx</doc>
  2928. <type name="guint32" c:type="guint32"/>
  2929. </parameter>
  2930. </parameters>
  2931. </method>
  2932. <method name="set_extension" c:identifier="gst_rtp_buffer_set_extension">
  2933. <doc xml:space="preserve">Set the extension bit on the RTP packet in @buffer to @extension.</doc>
  2934. <return-value transfer-ownership="none">
  2935. <type name="none" c:type="void"/>
  2936. </return-value>
  2937. <parameters>
  2938. <instance-parameter name="rtp" transfer-ownership="none">
  2939. <doc xml:space="preserve">the RTP packet</doc>
  2940. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2941. </instance-parameter>
  2942. <parameter name="extension" transfer-ownership="none">
  2943. <doc xml:space="preserve">the new extension</doc>
  2944. <type name="gboolean" c:type="gboolean"/>
  2945. </parameter>
  2946. </parameters>
  2947. </method>
  2948. <method name="set_extension_data"
  2949. c:identifier="gst_rtp_buffer_set_extension_data">
  2950. <doc xml:space="preserve">Set the extension bit of the rtp buffer and fill in the @bits and @length of the
  2951. extension header. If the existing extension data is not large enough, it will
  2952. be made larger.</doc>
  2953. <return-value transfer-ownership="none">
  2954. <doc xml:space="preserve">True if done.</doc>
  2955. <type name="gboolean" c:type="gboolean"/>
  2956. </return-value>
  2957. <parameters>
  2958. <instance-parameter name="rtp" transfer-ownership="none">
  2959. <doc xml:space="preserve">the RTP packet</doc>
  2960. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2961. </instance-parameter>
  2962. <parameter name="bits" transfer-ownership="none">
  2963. <doc xml:space="preserve">the bits specific for the extension</doc>
  2964. <type name="guint16" c:type="guint16"/>
  2965. </parameter>
  2966. <parameter name="length" transfer-ownership="none">
  2967. <doc xml:space="preserve">the length that counts the number of 32-bit words in
  2968. the extension, excluding the extension header ( therefore zero is a valid length)</doc>
  2969. <type name="guint16" c:type="guint16"/>
  2970. </parameter>
  2971. </parameters>
  2972. </method>
  2973. <method name="set_marker" c:identifier="gst_rtp_buffer_set_marker">
  2974. <doc xml:space="preserve">Set the marker bit on the RTP packet in @buffer to @marker.</doc>
  2975. <return-value transfer-ownership="none">
  2976. <type name="none" c:type="void"/>
  2977. </return-value>
  2978. <parameters>
  2979. <instance-parameter name="rtp" transfer-ownership="none">
  2980. <doc xml:space="preserve">the RTP packet</doc>
  2981. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  2982. </instance-parameter>
  2983. <parameter name="marker" transfer-ownership="none">
  2984. <doc xml:space="preserve">the new marker</doc>
  2985. <type name="gboolean" c:type="gboolean"/>
  2986. </parameter>
  2987. </parameters>
  2988. </method>
  2989. <method name="set_packet_len"
  2990. c:identifier="gst_rtp_buffer_set_packet_len">
  2991. <doc xml:space="preserve">Set the total @rtp size to @len. The data in the buffer will be made
  2992. larger if needed. Any padding will be removed from the packet.</doc>
  2993. <return-value transfer-ownership="none">
  2994. <type name="none" c:type="void"/>
  2995. </return-value>
  2996. <parameters>
  2997. <instance-parameter name="rtp" transfer-ownership="none">
  2998. <doc xml:space="preserve">the RTP packet</doc>
  2999. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3000. </instance-parameter>
  3001. <parameter name="len" transfer-ownership="none">
  3002. <doc xml:space="preserve">the new packet length</doc>
  3003. <type name="guint" c:type="guint"/>
  3004. </parameter>
  3005. </parameters>
  3006. </method>
  3007. <method name="set_padding" c:identifier="gst_rtp_buffer_set_padding">
  3008. <doc xml:space="preserve">Set the padding bit on the RTP packet in @buffer to @padding.</doc>
  3009. <return-value transfer-ownership="none">
  3010. <type name="none" c:type="void"/>
  3011. </return-value>
  3012. <parameters>
  3013. <instance-parameter name="rtp" transfer-ownership="none">
  3014. <doc xml:space="preserve">the buffer</doc>
  3015. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3016. </instance-parameter>
  3017. <parameter name="padding" transfer-ownership="none">
  3018. <doc xml:space="preserve">the new padding</doc>
  3019. <type name="gboolean" c:type="gboolean"/>
  3020. </parameter>
  3021. </parameters>
  3022. </method>
  3023. <method name="set_payload_type"
  3024. c:identifier="gst_rtp_buffer_set_payload_type">
  3025. <doc xml:space="preserve">Set the payload type of the RTP packet in @buffer to @payload_type.</doc>
  3026. <return-value transfer-ownership="none">
  3027. <type name="none" c:type="void"/>
  3028. </return-value>
  3029. <parameters>
  3030. <instance-parameter name="rtp" transfer-ownership="none">
  3031. <doc xml:space="preserve">the RTP packet</doc>
  3032. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3033. </instance-parameter>
  3034. <parameter name="payload_type" transfer-ownership="none">
  3035. <doc xml:space="preserve">the new type</doc>
  3036. <type name="guint8" c:type="guint8"/>
  3037. </parameter>
  3038. </parameters>
  3039. </method>
  3040. <method name="set_seq" c:identifier="gst_rtp_buffer_set_seq">
  3041. <doc xml:space="preserve">Set the sequence number of the RTP packet in @buffer to @seq.</doc>
  3042. <return-value transfer-ownership="none">
  3043. <type name="none" c:type="void"/>
  3044. </return-value>
  3045. <parameters>
  3046. <instance-parameter name="rtp" transfer-ownership="none">
  3047. <doc xml:space="preserve">the RTP packet</doc>
  3048. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3049. </instance-parameter>
  3050. <parameter name="seq" transfer-ownership="none">
  3051. <doc xml:space="preserve">the new sequence number</doc>
  3052. <type name="guint16" c:type="guint16"/>
  3053. </parameter>
  3054. </parameters>
  3055. </method>
  3056. <method name="set_ssrc" c:identifier="gst_rtp_buffer_set_ssrc">
  3057. <doc xml:space="preserve">Set the SSRC on the RTP packet in @buffer to @ssrc.</doc>
  3058. <return-value transfer-ownership="none">
  3059. <type name="none" c:type="void"/>
  3060. </return-value>
  3061. <parameters>
  3062. <instance-parameter name="rtp" transfer-ownership="none">
  3063. <doc xml:space="preserve">the RTP packet</doc>
  3064. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3065. </instance-parameter>
  3066. <parameter name="ssrc" transfer-ownership="none">
  3067. <doc xml:space="preserve">the new SSRC</doc>
  3068. <type name="guint32" c:type="guint32"/>
  3069. </parameter>
  3070. </parameters>
  3071. </method>
  3072. <method name="set_timestamp" c:identifier="gst_rtp_buffer_set_timestamp">
  3073. <doc xml:space="preserve">Set the timestamp of the RTP packet in @buffer to @timestamp.</doc>
  3074. <return-value transfer-ownership="none">
  3075. <type name="none" c:type="void"/>
  3076. </return-value>
  3077. <parameters>
  3078. <instance-parameter name="rtp" transfer-ownership="none">
  3079. <doc xml:space="preserve">the RTP packet</doc>
  3080. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3081. </instance-parameter>
  3082. <parameter name="timestamp" transfer-ownership="none">
  3083. <doc xml:space="preserve">the new timestamp</doc>
  3084. <type name="guint32" c:type="guint32"/>
  3085. </parameter>
  3086. </parameters>
  3087. </method>
  3088. <method name="set_version" c:identifier="gst_rtp_buffer_set_version">
  3089. <doc xml:space="preserve">Set the version of the RTP packet in @buffer to @version.</doc>
  3090. <return-value transfer-ownership="none">
  3091. <type name="none" c:type="void"/>
  3092. </return-value>
  3093. <parameters>
  3094. <instance-parameter name="rtp" transfer-ownership="none">
  3095. <doc xml:space="preserve">the RTP packet</doc>
  3096. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3097. </instance-parameter>
  3098. <parameter name="version" transfer-ownership="none">
  3099. <doc xml:space="preserve">the new version</doc>
  3100. <type name="guint8" c:type="guint8"/>
  3101. </parameter>
  3102. </parameters>
  3103. </method>
  3104. <method name="unmap" c:identifier="gst_rtp_buffer_unmap">
  3105. <doc xml:space="preserve">Unmap @rtp previously mapped with gst_rtp_buffer_map().</doc>
  3106. <return-value transfer-ownership="none">
  3107. <type name="none" c:type="void"/>
  3108. </return-value>
  3109. <parameters>
  3110. <instance-parameter name="rtp" transfer-ownership="none">
  3111. <doc xml:space="preserve">a #GstRTPBuffer</doc>
  3112. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3113. </instance-parameter>
  3114. </parameters>
  3115. </method>
  3116. <function name="allocate_data"
  3117. c:identifier="gst_rtp_buffer_allocate_data">
  3118. <doc xml:space="preserve">Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs,
  3119. a payload length of @payload_len and padding of @pad_len.
  3120. @buffer must be writable and all previous memory in @buffer will be freed.
  3121. If @pad_len is &gt;0, the padding bit will be set. All other RTP header fields
  3122. will be set to 0/FALSE.</doc>
  3123. <return-value transfer-ownership="none">
  3124. <type name="none" c:type="void"/>
  3125. </return-value>
  3126. <parameters>
  3127. <parameter name="buffer" transfer-ownership="none">
  3128. <doc xml:space="preserve">a #GstBuffer</doc>
  3129. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3130. </parameter>
  3131. <parameter name="payload_len" transfer-ownership="none">
  3132. <doc xml:space="preserve">the length of the payload</doc>
  3133. <type name="guint" c:type="guint"/>
  3134. </parameter>
  3135. <parameter name="pad_len" transfer-ownership="none">
  3136. <doc xml:space="preserve">the amount of padding</doc>
  3137. <type name="guint8" c:type="guint8"/>
  3138. </parameter>
  3139. <parameter name="csrc_count" transfer-ownership="none">
  3140. <doc xml:space="preserve">the number of CSRC entries</doc>
  3141. <type name="guint8" c:type="guint8"/>
  3142. </parameter>
  3143. </parameters>
  3144. </function>
  3145. <function name="calc_header_len"
  3146. c:identifier="gst_rtp_buffer_calc_header_len">
  3147. <doc xml:space="preserve">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
  3148. An RTP packet can have at most 15 CSRC entries.</doc>
  3149. <return-value transfer-ownership="none">
  3150. <doc xml:space="preserve">The length of an RTP header with @csrc_count CSRC entries.</doc>
  3151. <type name="guint" c:type="guint"/>
  3152. </return-value>
  3153. <parameters>
  3154. <parameter name="csrc_count" transfer-ownership="none">
  3155. <doc xml:space="preserve">the number of CSRC entries</doc>
  3156. <type name="guint8" c:type="guint8"/>
  3157. </parameter>
  3158. </parameters>
  3159. </function>
  3160. <function name="calc_packet_len"
  3161. c:identifier="gst_rtp_buffer_calc_packet_len">
  3162. <doc xml:space="preserve">Calculate the total length of an RTP packet with a payload size of @payload_len,
  3163. a padding of @pad_len and a @csrc_count CSRC entries.</doc>
  3164. <return-value transfer-ownership="none">
  3165. <doc xml:space="preserve">The total length of an RTP header with given parameters.</doc>
  3166. <type name="guint" c:type="guint"/>
  3167. </return-value>
  3168. <parameters>
  3169. <parameter name="payload_len" transfer-ownership="none">
  3170. <doc xml:space="preserve">the length of the payload</doc>
  3171. <type name="guint" c:type="guint"/>
  3172. </parameter>
  3173. <parameter name="pad_len" transfer-ownership="none">
  3174. <doc xml:space="preserve">the amount of padding</doc>
  3175. <type name="guint8" c:type="guint8"/>
  3176. </parameter>
  3177. <parameter name="csrc_count" transfer-ownership="none">
  3178. <doc xml:space="preserve">the number of CSRC entries</doc>
  3179. <type name="guint8" c:type="guint8"/>
  3180. </parameter>
  3181. </parameters>
  3182. </function>
  3183. <function name="calc_payload_len"
  3184. c:identifier="gst_rtp_buffer_calc_payload_len">
  3185. <doc xml:space="preserve">Calculate the length of the payload of an RTP packet with size @packet_len,
  3186. a padding of @pad_len and a @csrc_count CSRC entries.</doc>
  3187. <return-value transfer-ownership="none">
  3188. <doc xml:space="preserve">The length of the payload of an RTP packet with given parameters.</doc>
  3189. <type name="guint" c:type="guint"/>
  3190. </return-value>
  3191. <parameters>
  3192. <parameter name="packet_len" transfer-ownership="none">
  3193. <doc xml:space="preserve">the length of the total RTP packet</doc>
  3194. <type name="guint" c:type="guint"/>
  3195. </parameter>
  3196. <parameter name="pad_len" transfer-ownership="none">
  3197. <doc xml:space="preserve">the amount of padding</doc>
  3198. <type name="guint8" c:type="guint8"/>
  3199. </parameter>
  3200. <parameter name="csrc_count" transfer-ownership="none">
  3201. <doc xml:space="preserve">the number of CSRC entries</doc>
  3202. <type name="guint8" c:type="guint8"/>
  3203. </parameter>
  3204. </parameters>
  3205. </function>
  3206. <function name="compare_seqnum"
  3207. c:identifier="gst_rtp_buffer_compare_seqnum">
  3208. <doc xml:space="preserve">Compare two sequence numbers, taking care of wraparounds. This function
  3209. returns the difference between @seqnum1 and @seqnum2.</doc>
  3210. <return-value transfer-ownership="none">
  3211. <doc xml:space="preserve">a negative value if @seqnum1 is bigger than @seqnum2, 0 if they
  3212. are equal or a positive value if @seqnum1 is smaller than @segnum2.</doc>
  3213. <type name="gint" c:type="gint"/>
  3214. </return-value>
  3215. <parameters>
  3216. <parameter name="seqnum1" transfer-ownership="none">
  3217. <doc xml:space="preserve">a sequence number</doc>
  3218. <type name="guint16" c:type="guint16"/>
  3219. </parameter>
  3220. <parameter name="seqnum2" transfer-ownership="none">
  3221. <doc xml:space="preserve">a sequence number</doc>
  3222. <type name="guint16" c:type="guint16"/>
  3223. </parameter>
  3224. </parameters>
  3225. </function>
  3226. <function name="default_clock_rate"
  3227. c:identifier="gst_rtp_buffer_default_clock_rate">
  3228. <doc xml:space="preserve">Get the default clock-rate for the static payload type @payload_type.</doc>
  3229. <return-value transfer-ownership="none">
  3230. <doc xml:space="preserve">the default clock rate or -1 if the payload type is not static or
  3231. the clock-rate is undefined.</doc>
  3232. <type name="guint32" c:type="guint32"/>
  3233. </return-value>
  3234. <parameters>
  3235. <parameter name="payload_type" transfer-ownership="none">
  3236. <doc xml:space="preserve">the static payload type</doc>
  3237. <type name="guint8" c:type="guint8"/>
  3238. </parameter>
  3239. </parameters>
  3240. </function>
  3241. <function name="ext_timestamp"
  3242. c:identifier="gst_rtp_buffer_ext_timestamp">
  3243. <doc xml:space="preserve">Update the @exttimestamp field with @timestamp. For the first call of the
  3244. method, @exttimestamp should point to a location with a value of -1.
  3245. This function makes sure that the returned value is a constantly increasing
  3246. value even in the case where there is a timestamp wraparound.</doc>
  3247. <return-value transfer-ownership="none">
  3248. <doc xml:space="preserve">The extended timestamp of @timestamp.</doc>
  3249. <type name="guint64" c:type="guint64"/>
  3250. </return-value>
  3251. <parameters>
  3252. <parameter name="exttimestamp" transfer-ownership="none">
  3253. <doc xml:space="preserve">a previous extended timestamp</doc>
  3254. <type name="guint64" c:type="guint64*"/>
  3255. </parameter>
  3256. <parameter name="timestamp" transfer-ownership="none">
  3257. <doc xml:space="preserve">a new timestamp</doc>
  3258. <type name="guint32" c:type="guint32"/>
  3259. </parameter>
  3260. </parameters>
  3261. </function>
  3262. <function name="map" c:identifier="gst_rtp_buffer_map">
  3263. <doc xml:space="preserve">Map the contents of @buffer into @rtp.</doc>
  3264. <return-value transfer-ownership="none">
  3265. <doc xml:space="preserve">%TRUE if @buffer could be mapped.</doc>
  3266. <type name="gboolean" c:type="gboolean"/>
  3267. </return-value>
  3268. <parameters>
  3269. <parameter name="buffer" transfer-ownership="none">
  3270. <doc xml:space="preserve">a #GstBuffer</doc>
  3271. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3272. </parameter>
  3273. <parameter name="flags" transfer-ownership="none">
  3274. <doc xml:space="preserve">#GstMapFlags</doc>
  3275. <type name="Gst.MapFlags" c:type="GstMapFlags"/>
  3276. </parameter>
  3277. <parameter name="rtp"
  3278. direction="out"
  3279. caller-allocates="1"
  3280. transfer-ownership="none">
  3281. <doc xml:space="preserve">a #GstRTPBuffer</doc>
  3282. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  3283. </parameter>
  3284. </parameters>
  3285. </function>
  3286. <function name="new_allocate" c:identifier="gst_rtp_buffer_new_allocate">
  3287. <doc xml:space="preserve">Allocate a new #GstBuffer with enough data to hold an RTP packet with
  3288. @csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len.
  3289. All other RTP header fields will be set to 0/FALSE.</doc>
  3290. <return-value transfer-ownership="full">
  3291. <doc xml:space="preserve">A newly allocated buffer that can hold an RTP packet with given
  3292. parameters.</doc>
  3293. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3294. </return-value>
  3295. <parameters>
  3296. <parameter name="payload_len" transfer-ownership="none">
  3297. <doc xml:space="preserve">the length of the payload</doc>
  3298. <type name="guint" c:type="guint"/>
  3299. </parameter>
  3300. <parameter name="pad_len" transfer-ownership="none">
  3301. <doc xml:space="preserve">the amount of padding</doc>
  3302. <type name="guint8" c:type="guint8"/>
  3303. </parameter>
  3304. <parameter name="csrc_count" transfer-ownership="none">
  3305. <doc xml:space="preserve">the number of CSRC entries</doc>
  3306. <type name="guint8" c:type="guint8"/>
  3307. </parameter>
  3308. </parameters>
  3309. </function>
  3310. <function name="new_allocate_len"
  3311. c:identifier="gst_rtp_buffer_new_allocate_len">
  3312. <doc xml:space="preserve">Create a new #GstBuffer that can hold an RTP packet that is exactly
  3313. @packet_len long. The length of the payload depends on @pad_len and
  3314. @csrc_count and can be calculated with gst_rtp_buffer_calc_payload_len().
  3315. All RTP header fields will be set to 0/FALSE.</doc>
  3316. <return-value transfer-ownership="full">
  3317. <doc xml:space="preserve">A newly allocated buffer that can hold an RTP packet of @packet_len.</doc>
  3318. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3319. </return-value>
  3320. <parameters>
  3321. <parameter name="packet_len" transfer-ownership="none">
  3322. <doc xml:space="preserve">the total length of the packet</doc>
  3323. <type name="guint" c:type="guint"/>
  3324. </parameter>
  3325. <parameter name="pad_len" transfer-ownership="none">
  3326. <doc xml:space="preserve">the amount of padding</doc>
  3327. <type name="guint8" c:type="guint8"/>
  3328. </parameter>
  3329. <parameter name="csrc_count" transfer-ownership="none">
  3330. <doc xml:space="preserve">the number of CSRC entries</doc>
  3331. <type name="guint8" c:type="guint8"/>
  3332. </parameter>
  3333. </parameters>
  3334. </function>
  3335. <function name="new_copy_data"
  3336. c:identifier="gst_rtp_buffer_new_copy_data">
  3337. <doc xml:space="preserve">Create a new buffer and set the data to a copy of @len
  3338. bytes of @data and the size to @len. The data will be freed when the buffer
  3339. is freed.</doc>
  3340. <return-value transfer-ownership="full">
  3341. <doc xml:space="preserve">A newly allocated buffer with a copy of @data and of size @len.</doc>
  3342. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3343. </return-value>
  3344. <parameters>
  3345. <parameter name="data" transfer-ownership="none">
  3346. <doc xml:space="preserve">data for the new
  3347. buffer</doc>
  3348. <array length="1" zero-terminated="0" c:type="gpointer">
  3349. <type name="guint8"/>
  3350. </array>
  3351. </parameter>
  3352. <parameter name="len" transfer-ownership="none">
  3353. <doc xml:space="preserve">the length of data</doc>
  3354. <type name="gsize" c:type="gsize"/>
  3355. </parameter>
  3356. </parameters>
  3357. </function>
  3358. <function name="new_take_data"
  3359. c:identifier="gst_rtp_buffer_new_take_data">
  3360. <doc xml:space="preserve">Create a new buffer and set the data and size of the buffer to @data and @len
  3361. respectively. @data will be freed when the buffer is unreffed, so this
  3362. function transfers ownership of @data to the new buffer.</doc>
  3363. <return-value transfer-ownership="full">
  3364. <doc xml:space="preserve">A newly allocated buffer with @data and of size @len.</doc>
  3365. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3366. </return-value>
  3367. <parameters>
  3368. <parameter name="data" transfer-ownership="full">
  3369. <doc xml:space="preserve">
  3370. data for the new buffer</doc>
  3371. <array length="1" zero-terminated="0" c:type="gpointer">
  3372. <type name="guint8"/>
  3373. </array>
  3374. </parameter>
  3375. <parameter name="len" transfer-ownership="none">
  3376. <doc xml:space="preserve">the length of data</doc>
  3377. <type name="gsize" c:type="gsize"/>
  3378. </parameter>
  3379. </parameters>
  3380. </function>
  3381. </record>
  3382. <bitfield name="RTPBufferMapFlags"
  3383. version="1.6.1"
  3384. glib:type-name="GstRTPBufferMapFlags"
  3385. glib:get-type="gst_rtp_buffer_map_flags_get_type"
  3386. c:type="GstRTPBufferMapFlags">
  3387. <doc xml:space="preserve">Additional mapping flags for gst_rtp_buffer_map().</doc>
  3388. <member name="skip_padding"
  3389. value="65536"
  3390. c:identifier="GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING"
  3391. glib:nick="skip-padding">
  3392. <doc xml:space="preserve">Skip mapping and validation of RTP
  3393. padding and RTP pad count when present. Useful for buffers where
  3394. the padding may be encrypted.</doc>
  3395. </member>
  3396. <member name="last"
  3397. value="16777216"
  3398. c:identifier="GST_RTP_BUFFER_MAP_FLAG_LAST"
  3399. glib:nick="last">
  3400. <doc xml:space="preserve">Offset to define more flags</doc>
  3401. </member>
  3402. </bitfield>
  3403. <enumeration name="RTPPayload"
  3404. glib:type-name="GstRTPPayload"
  3405. glib:get-type="gst_rtp_payload_get_type"
  3406. c:type="GstRTPPayload">
  3407. <doc xml:space="preserve">Standard predefined fixed payload types.
  3408. The official list is at:
  3409. http://www.iana.org/assignments/rtp-parameters
  3410. Audio:
  3411. reserved: 19
  3412. unassigned: 20-23,
  3413. Video:
  3414. unassigned: 24, 27, 29, 30, 35-71, 77-95
  3415. Reserved for RTCP conflict avoidance: 72-76</doc>
  3416. <member name="pcmu"
  3417. value="0"
  3418. c:identifier="GST_RTP_PAYLOAD_PCMU"
  3419. glib:nick="pcmu">
  3420. <doc xml:space="preserve">ITU-T G.711. mu-law audio (RFC 3551)</doc>
  3421. </member>
  3422. <member name="1016"
  3423. value="1"
  3424. c:identifier="GST_RTP_PAYLOAD_1016"
  3425. glib:nick="1016">
  3426. <doc xml:space="preserve">RFC 3551 says reserved</doc>
  3427. </member>
  3428. <member name="g721"
  3429. value="2"
  3430. c:identifier="GST_RTP_PAYLOAD_G721"
  3431. glib:nick="g721">
  3432. <doc xml:space="preserve">RFC 3551 says reserved</doc>
  3433. </member>
  3434. <member name="gsm"
  3435. value="3"
  3436. c:identifier="GST_RTP_PAYLOAD_GSM"
  3437. glib:nick="gsm">
  3438. <doc xml:space="preserve">GSM audio</doc>
  3439. </member>
  3440. <member name="g723"
  3441. value="4"
  3442. c:identifier="GST_RTP_PAYLOAD_G723"
  3443. glib:nick="g723">
  3444. <doc xml:space="preserve">ITU G.723.1 audio</doc>
  3445. </member>
  3446. <member name="dvi4_8000"
  3447. value="5"
  3448. c:identifier="GST_RTP_PAYLOAD_DVI4_8000"
  3449. glib:nick="dvi4-8000">
  3450. <doc xml:space="preserve">IMA ADPCM wave type (RFC 3551)</doc>
  3451. </member>
  3452. <member name="dvi4_16000"
  3453. value="6"
  3454. c:identifier="GST_RTP_PAYLOAD_DVI4_16000"
  3455. glib:nick="dvi4-16000">
  3456. <doc xml:space="preserve">IMA ADPCM wave type (RFC 3551)</doc>
  3457. </member>
  3458. <member name="lpc"
  3459. value="7"
  3460. c:identifier="GST_RTP_PAYLOAD_LPC"
  3461. glib:nick="lpc">
  3462. <doc xml:space="preserve">experimental linear predictive encoding</doc>
  3463. </member>
  3464. <member name="pcma"
  3465. value="8"
  3466. c:identifier="GST_RTP_PAYLOAD_PCMA"
  3467. glib:nick="pcma">
  3468. <doc xml:space="preserve">ITU-T G.711 A-law audio (RFC 3551)</doc>
  3469. </member>
  3470. <member name="g722"
  3471. value="9"
  3472. c:identifier="GST_RTP_PAYLOAD_G722"
  3473. glib:nick="g722">
  3474. <doc xml:space="preserve">ITU-T G.722 (RFC 3551)</doc>
  3475. </member>
  3476. <member name="l16_stereo"
  3477. value="10"
  3478. c:identifier="GST_RTP_PAYLOAD_L16_STEREO"
  3479. glib:nick="l16-stereo">
  3480. <doc xml:space="preserve">stereo PCM</doc>
  3481. </member>
  3482. <member name="l16_mono"
  3483. value="11"
  3484. c:identifier="GST_RTP_PAYLOAD_L16_MONO"
  3485. glib:nick="l16-mono">
  3486. <doc xml:space="preserve">mono PCM</doc>
  3487. </member>
  3488. <member name="qcelp"
  3489. value="12"
  3490. c:identifier="GST_RTP_PAYLOAD_QCELP"
  3491. glib:nick="qcelp">
  3492. <doc xml:space="preserve">EIA &amp; TIA standard IS-733</doc>
  3493. </member>
  3494. <member name="cn"
  3495. value="13"
  3496. c:identifier="GST_RTP_PAYLOAD_CN"
  3497. glib:nick="cn">
  3498. <doc xml:space="preserve">Comfort Noise (RFC 3389)</doc>
  3499. </member>
  3500. <member name="mpa"
  3501. value="14"
  3502. c:identifier="GST_RTP_PAYLOAD_MPA"
  3503. glib:nick="mpa">
  3504. <doc xml:space="preserve">Audio MPEG 1-3.</doc>
  3505. </member>
  3506. <member name="g728"
  3507. value="15"
  3508. c:identifier="GST_RTP_PAYLOAD_G728"
  3509. glib:nick="g728">
  3510. <doc xml:space="preserve">ITU-T G.728 Speech coder (RFC 3551)</doc>
  3511. </member>
  3512. <member name="dvi4_11025"
  3513. value="16"
  3514. c:identifier="GST_RTP_PAYLOAD_DVI4_11025"
  3515. glib:nick="dvi4-11025">
  3516. <doc xml:space="preserve">IMA ADPCM wave type (RFC 3551)</doc>
  3517. </member>
  3518. <member name="dvi4_22050"
  3519. value="17"
  3520. c:identifier="GST_RTP_PAYLOAD_DVI4_22050"
  3521. glib:nick="dvi4-22050">
  3522. <doc xml:space="preserve">IMA ADPCM wave type (RFC 3551)</doc>
  3523. </member>
  3524. <member name="g729"
  3525. value="18"
  3526. c:identifier="GST_RTP_PAYLOAD_G729"
  3527. glib:nick="g729">
  3528. <doc xml:space="preserve">ITU-T G.729 Speech coder (RFC 3551)</doc>
  3529. </member>
  3530. <member name="cellb"
  3531. value="25"
  3532. c:identifier="GST_RTP_PAYLOAD_CELLB"
  3533. glib:nick="cellb">
  3534. <doc xml:space="preserve">See RFC 2029</doc>
  3535. </member>
  3536. <member name="jpeg"
  3537. value="26"
  3538. c:identifier="GST_RTP_PAYLOAD_JPEG"
  3539. glib:nick="jpeg">
  3540. <doc xml:space="preserve">ISO Standards 10918-1 and 10918-2 (RFC 2435)</doc>
  3541. </member>
  3542. <member name="nv"
  3543. value="28"
  3544. c:identifier="GST_RTP_PAYLOAD_NV"
  3545. glib:nick="nv">
  3546. <doc xml:space="preserve">nv encoding by Ron Frederick</doc>
  3547. </member>
  3548. <member name="h261"
  3549. value="31"
  3550. c:identifier="GST_RTP_PAYLOAD_H261"
  3551. glib:nick="h261">
  3552. <doc xml:space="preserve">ITU-T Recommendation H.261 (RFC 2032)</doc>
  3553. </member>
  3554. <member name="mpv"
  3555. value="32"
  3556. c:identifier="GST_RTP_PAYLOAD_MPV"
  3557. glib:nick="mpv">
  3558. <doc xml:space="preserve">Video MPEG 1 &amp; 2 (RFC 2250)</doc>
  3559. </member>
  3560. <member name="mp2t"
  3561. value="33"
  3562. c:identifier="GST_RTP_PAYLOAD_MP2T"
  3563. glib:nick="mp2t">
  3564. <doc xml:space="preserve">MPEG-2 transport stream (RFC 2250)</doc>
  3565. </member>
  3566. <member name="h263"
  3567. value="34"
  3568. c:identifier="GST_RTP_PAYLOAD_H263"
  3569. glib:nick="h263">
  3570. <doc xml:space="preserve">Video H263 (RFC 2190)</doc>
  3571. </member>
  3572. </enumeration>
  3573. <record name="RTPPayloadInfo" c:type="GstRTPPayloadInfo">
  3574. <doc xml:space="preserve">Structure holding default payload type information.</doc>
  3575. <field name="payload_type" writable="1">
  3576. <doc xml:space="preserve">payload type, -1 means dynamic</doc>
  3577. <type name="guint8" c:type="guint8"/>
  3578. </field>
  3579. <field name="media" writable="1">
  3580. <doc xml:space="preserve">the media type(s), usually "audio", "video", "application", "text",
  3581. "message".</doc>
  3582. <type name="utf8" c:type="const gchar*"/>
  3583. </field>
  3584. <field name="encoding_name" writable="1">
  3585. <doc xml:space="preserve">the encoding name of @pt</doc>
  3586. <type name="utf8" c:type="const gchar*"/>
  3587. </field>
  3588. <field name="clock_rate" writable="1">
  3589. <doc xml:space="preserve">default clock rate, 0 = unknown/variable</doc>
  3590. <type name="guint" c:type="guint"/>
  3591. </field>
  3592. <field name="encoding_parameters" writable="1">
  3593. <doc xml:space="preserve">encoding parameters. For audio this is the number of
  3594. channels. NULL = not applicable.</doc>
  3595. <type name="utf8" c:type="const gchar*"/>
  3596. </field>
  3597. <field name="bitrate" writable="1">
  3598. <doc xml:space="preserve">the bitrate of the media. 0 = unknown/variable.</doc>
  3599. <type name="guint" c:type="guint"/>
  3600. </field>
  3601. <field name="_gst_reserved" readable="0" private="1">
  3602. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  3603. <type name="gpointer" c:type="gpointer"/>
  3604. </array>
  3605. </field>
  3606. <function name="for_name" c:identifier="gst_rtp_payload_info_for_name">
  3607. <doc xml:space="preserve">Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is
  3608. mostly used to get the default clock-rate and bandwidth for dynamic payload
  3609. types specified with @media and @encoding name.
  3610. The search for @encoding_name will be performed in a case insensitve way.</doc>
  3611. <return-value transfer-ownership="none">
  3612. <doc xml:space="preserve">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
  3613. <type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
  3614. </return-value>
  3615. <parameters>
  3616. <parameter name="media" transfer-ownership="none">
  3617. <doc xml:space="preserve">the media to find</doc>
  3618. <type name="utf8" c:type="const gchar*"/>
  3619. </parameter>
  3620. <parameter name="encoding_name" transfer-ownership="none">
  3621. <doc xml:space="preserve">the encoding name to find</doc>
  3622. <type name="utf8" c:type="const gchar*"/>
  3623. </parameter>
  3624. </parameters>
  3625. </function>
  3626. <function name="for_pt" c:identifier="gst_rtp_payload_info_for_pt">
  3627. <doc xml:space="preserve">Get the #GstRTPPayloadInfo for @payload_type. This function is
  3628. mostly used to get the default clock-rate and bandwidth for static payload
  3629. types specified with @payload_type.</doc>
  3630. <return-value transfer-ownership="none">
  3631. <doc xml:space="preserve">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
  3632. <type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
  3633. </return-value>
  3634. <parameters>
  3635. <parameter name="payload_type" transfer-ownership="none">
  3636. <doc xml:space="preserve">the payload_type to find</doc>
  3637. <type name="guint8" c:type="guint8"/>
  3638. </parameter>
  3639. </parameters>
  3640. </function>
  3641. </record>
  3642. <enumeration name="RTPProfile"
  3643. version="1.6"
  3644. glib:type-name="GstRTPProfile"
  3645. glib:get-type="gst_rtp_profile_get_type"
  3646. c:type="GstRTPProfile">
  3647. <doc xml:space="preserve">The transfer profile to use.</doc>
  3648. <member name="unknown"
  3649. value="0"
  3650. c:identifier="GST_RTP_PROFILE_UNKNOWN"
  3651. glib:nick="unknown">
  3652. <doc xml:space="preserve">invalid profile</doc>
  3653. </member>
  3654. <member name="avp"
  3655. value="1"
  3656. c:identifier="GST_RTP_PROFILE_AVP"
  3657. glib:nick="avp">
  3658. <doc xml:space="preserve">the Audio/Visual profile (RFC 3551)</doc>
  3659. </member>
  3660. <member name="savp"
  3661. value="2"
  3662. c:identifier="GST_RTP_PROFILE_SAVP"
  3663. glib:nick="savp">
  3664. <doc xml:space="preserve">the secure Audio/Visual profile (RFC 3711)</doc>
  3665. </member>
  3666. <member name="avpf"
  3667. value="3"
  3668. c:identifier="GST_RTP_PROFILE_AVPF"
  3669. glib:nick="avpf">
  3670. <doc xml:space="preserve">the Audio/Visual profile with feedback (RFC 4585)</doc>
  3671. </member>
  3672. <member name="savpf"
  3673. value="4"
  3674. c:identifier="GST_RTP_PROFILE_SAVPF"
  3675. glib:nick="savpf">
  3676. <doc xml:space="preserve">the secure Audio/Visual profile with feedback (RFC 5124)</doc>
  3677. </member>
  3678. </enumeration>
  3679. <constant name="RTP_HDREXT_BASE"
  3680. value="urn:ietf:params:rtp-hdrext:"
  3681. c:type="GST_RTP_HDREXT_BASE">
  3682. <type name="utf8" c:type="gchar*"/>
  3683. </constant>
  3684. <constant name="RTP_HDREXT_NTP_56"
  3685. value="ntp-56"
  3686. c:type="GST_RTP_HDREXT_NTP_56">
  3687. <type name="utf8" c:type="gchar*"/>
  3688. </constant>
  3689. <constant name="RTP_HDREXT_NTP_56_SIZE"
  3690. value="7"
  3691. c:type="GST_RTP_HDREXT_NTP_56_SIZE">
  3692. <type name="gint" c:type="gint"/>
  3693. </constant>
  3694. <constant name="RTP_HDREXT_NTP_64"
  3695. value="ntp-64"
  3696. c:type="GST_RTP_HDREXT_NTP_64">
  3697. <type name="utf8" c:type="gchar*"/>
  3698. </constant>
  3699. <constant name="RTP_HDREXT_NTP_64_SIZE"
  3700. value="8"
  3701. c:type="GST_RTP_HDREXT_NTP_64_SIZE">
  3702. <type name="gint" c:type="gint"/>
  3703. </constant>
  3704. <constant name="RTP_PAYLOAD_1016_STRING"
  3705. value="1"
  3706. c:type="GST_RTP_PAYLOAD_1016_STRING">
  3707. <type name="utf8" c:type="gchar*"/>
  3708. </constant>
  3709. <constant name="RTP_PAYLOAD_CELLB_STRING"
  3710. value="25"
  3711. c:type="GST_RTP_PAYLOAD_CELLB_STRING">
  3712. <type name="utf8" c:type="gchar*"/>
  3713. </constant>
  3714. <constant name="RTP_PAYLOAD_CN_STRING"
  3715. value="13"
  3716. c:type="GST_RTP_PAYLOAD_CN_STRING">
  3717. <type name="utf8" c:type="gchar*"/>
  3718. </constant>
  3719. <constant name="RTP_PAYLOAD_DVI4_11025_STRING"
  3720. value="16"
  3721. c:type="GST_RTP_PAYLOAD_DVI4_11025_STRING">
  3722. <type name="utf8" c:type="gchar*"/>
  3723. </constant>
  3724. <constant name="RTP_PAYLOAD_DVI4_16000_STRING"
  3725. value="6"
  3726. c:type="GST_RTP_PAYLOAD_DVI4_16000_STRING">
  3727. <type name="utf8" c:type="gchar*"/>
  3728. </constant>
  3729. <constant name="RTP_PAYLOAD_DVI4_22050_STRING"
  3730. value="17"
  3731. c:type="GST_RTP_PAYLOAD_DVI4_22050_STRING">
  3732. <type name="utf8" c:type="gchar*"/>
  3733. </constant>
  3734. <constant name="RTP_PAYLOAD_DVI4_8000_STRING"
  3735. value="5"
  3736. c:type="GST_RTP_PAYLOAD_DVI4_8000_STRING">
  3737. <type name="utf8" c:type="gchar*"/>
  3738. </constant>
  3739. <constant name="RTP_PAYLOAD_DYNAMIC_STRING"
  3740. value="[96, 127]"
  3741. c:type="GST_RTP_PAYLOAD_DYNAMIC_STRING">
  3742. <type name="utf8" c:type="gchar*"/>
  3743. </constant>
  3744. <constant name="RTP_PAYLOAD_G721_STRING"
  3745. value="2"
  3746. c:type="GST_RTP_PAYLOAD_G721_STRING">
  3747. <type name="utf8" c:type="gchar*"/>
  3748. </constant>
  3749. <constant name="RTP_PAYLOAD_G722_STRING"
  3750. value="9"
  3751. c:type="GST_RTP_PAYLOAD_G722_STRING">
  3752. <type name="utf8" c:type="gchar*"/>
  3753. </constant>
  3754. <constant name="RTP_PAYLOAD_G723_53"
  3755. value="17"
  3756. c:type="GST_RTP_PAYLOAD_G723_53">
  3757. <type name="gint" c:type="gint"/>
  3758. </constant>
  3759. <constant name="RTP_PAYLOAD_G723_53_STRING"
  3760. value="17"
  3761. c:type="GST_RTP_PAYLOAD_G723_53_STRING">
  3762. <type name="utf8" c:type="gchar*"/>
  3763. </constant>
  3764. <constant name="RTP_PAYLOAD_G723_63"
  3765. value="16"
  3766. c:type="GST_RTP_PAYLOAD_G723_63">
  3767. <type name="gint" c:type="gint"/>
  3768. </constant>
  3769. <constant name="RTP_PAYLOAD_G723_63_STRING"
  3770. value="16"
  3771. c:type="GST_RTP_PAYLOAD_G723_63_STRING">
  3772. <type name="utf8" c:type="gchar*"/>
  3773. </constant>
  3774. <constant name="RTP_PAYLOAD_G723_STRING"
  3775. value="4"
  3776. c:type="GST_RTP_PAYLOAD_G723_STRING">
  3777. <type name="utf8" c:type="gchar*"/>
  3778. </constant>
  3779. <constant name="RTP_PAYLOAD_G728_STRING"
  3780. value="15"
  3781. c:type="GST_RTP_PAYLOAD_G728_STRING">
  3782. <type name="utf8" c:type="gchar*"/>
  3783. </constant>
  3784. <constant name="RTP_PAYLOAD_G729_STRING"
  3785. value="18"
  3786. c:type="GST_RTP_PAYLOAD_G729_STRING">
  3787. <type name="utf8" c:type="gchar*"/>
  3788. </constant>
  3789. <constant name="RTP_PAYLOAD_GSM_STRING"
  3790. value="3"
  3791. c:type="GST_RTP_PAYLOAD_GSM_STRING">
  3792. <type name="utf8" c:type="gchar*"/>
  3793. </constant>
  3794. <constant name="RTP_PAYLOAD_H261_STRING"
  3795. value="31"
  3796. c:type="GST_RTP_PAYLOAD_H261_STRING">
  3797. <type name="utf8" c:type="gchar*"/>
  3798. </constant>
  3799. <constant name="RTP_PAYLOAD_H263_STRING"
  3800. value="34"
  3801. c:type="GST_RTP_PAYLOAD_H263_STRING">
  3802. <type name="utf8" c:type="gchar*"/>
  3803. </constant>
  3804. <constant name="RTP_PAYLOAD_JPEG_STRING"
  3805. value="26"
  3806. c:type="GST_RTP_PAYLOAD_JPEG_STRING">
  3807. <type name="utf8" c:type="gchar*"/>
  3808. </constant>
  3809. <constant name="RTP_PAYLOAD_L16_MONO_STRING"
  3810. value="11"
  3811. c:type="GST_RTP_PAYLOAD_L16_MONO_STRING">
  3812. <type name="utf8" c:type="gchar*"/>
  3813. </constant>
  3814. <constant name="RTP_PAYLOAD_L16_STEREO_STRING"
  3815. value="10"
  3816. c:type="GST_RTP_PAYLOAD_L16_STEREO_STRING">
  3817. <type name="utf8" c:type="gchar*"/>
  3818. </constant>
  3819. <constant name="RTP_PAYLOAD_LPC_STRING"
  3820. value="7"
  3821. c:type="GST_RTP_PAYLOAD_LPC_STRING">
  3822. <type name="utf8" c:type="gchar*"/>
  3823. </constant>
  3824. <constant name="RTP_PAYLOAD_MP2T_STRING"
  3825. value="33"
  3826. c:type="GST_RTP_PAYLOAD_MP2T_STRING">
  3827. <type name="utf8" c:type="gchar*"/>
  3828. </constant>
  3829. <constant name="RTP_PAYLOAD_MPA_STRING"
  3830. value="14"
  3831. c:type="GST_RTP_PAYLOAD_MPA_STRING">
  3832. <type name="utf8" c:type="gchar*"/>
  3833. </constant>
  3834. <constant name="RTP_PAYLOAD_MPV_STRING"
  3835. value="32"
  3836. c:type="GST_RTP_PAYLOAD_MPV_STRING">
  3837. <type name="utf8" c:type="gchar*"/>
  3838. </constant>
  3839. <constant name="RTP_PAYLOAD_NV_STRING"
  3840. value="28"
  3841. c:type="GST_RTP_PAYLOAD_NV_STRING">
  3842. <type name="utf8" c:type="gchar*"/>
  3843. </constant>
  3844. <constant name="RTP_PAYLOAD_PCMA_STRING"
  3845. value="8"
  3846. c:type="GST_RTP_PAYLOAD_PCMA_STRING">
  3847. <type name="utf8" c:type="gchar*"/>
  3848. </constant>
  3849. <constant name="RTP_PAYLOAD_PCMU_STRING"
  3850. value="0"
  3851. c:type="GST_RTP_PAYLOAD_PCMU_STRING">
  3852. <type name="utf8" c:type="gchar*"/>
  3853. </constant>
  3854. <constant name="RTP_PAYLOAD_QCELP_STRING"
  3855. value="12"
  3856. c:type="GST_RTP_PAYLOAD_QCELP_STRING">
  3857. <type name="utf8" c:type="gchar*"/>
  3858. </constant>
  3859. <constant name="RTP_PAYLOAD_TS41" value="19" c:type="GST_RTP_PAYLOAD_TS41">
  3860. <type name="gint" c:type="gint"/>
  3861. </constant>
  3862. <constant name="RTP_PAYLOAD_TS41_STRING"
  3863. value="19"
  3864. c:type="GST_RTP_PAYLOAD_TS41_STRING">
  3865. <type name="utf8" c:type="gchar*"/>
  3866. </constant>
  3867. <constant name="RTP_PAYLOAD_TS48" value="18" c:type="GST_RTP_PAYLOAD_TS48">
  3868. <type name="gint" c:type="gint"/>
  3869. </constant>
  3870. <constant name="RTP_PAYLOAD_TS48_STRING"
  3871. value="18"
  3872. c:type="GST_RTP_PAYLOAD_TS48_STRING">
  3873. <type name="utf8" c:type="gchar*"/>
  3874. </constant>
  3875. <constant name="RTP_VERSION" value="2" c:type="GST_RTP_VERSION">
  3876. <doc xml:space="preserve">The supported RTP version 2.</doc>
  3877. <type name="gint" c:type="gint"/>
  3878. </constant>
  3879. <function name="rtcp_buffer_map"
  3880. c:identifier="gst_rtcp_buffer_map"
  3881. moved-to="RTCPBuffer.map">
  3882. <doc xml:space="preserve">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
  3883. buffer state is stored in @rtcp.</doc>
  3884. <return-value transfer-ownership="none">
  3885. <type name="gboolean" c:type="gboolean"/>
  3886. </return-value>
  3887. <parameters>
  3888. <parameter name="buffer" transfer-ownership="none">
  3889. <doc xml:space="preserve">a buffer with an RTCP packet</doc>
  3890. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3891. </parameter>
  3892. <parameter name="flags" transfer-ownership="none">
  3893. <doc xml:space="preserve">flags for the mapping</doc>
  3894. <type name="Gst.MapFlags" c:type="GstMapFlags"/>
  3895. </parameter>
  3896. <parameter name="rtcp" transfer-ownership="none">
  3897. <doc xml:space="preserve">resulting #GstRTCPBuffer</doc>
  3898. <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
  3899. </parameter>
  3900. </parameters>
  3901. </function>
  3902. <function name="rtcp_buffer_new"
  3903. c:identifier="gst_rtcp_buffer_new"
  3904. moved-to="RTCPBuffer.new">
  3905. <doc xml:space="preserve">Create a new buffer for constructing RTCP packets. The packet will have a
  3906. maximum size of @mtu.</doc>
  3907. <return-value transfer-ownership="full">
  3908. <doc xml:space="preserve">A newly allocated buffer.</doc>
  3909. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3910. </return-value>
  3911. <parameters>
  3912. <parameter name="mtu" transfer-ownership="none">
  3913. <doc xml:space="preserve">the maximum mtu size.</doc>
  3914. <type name="guint" c:type="guint"/>
  3915. </parameter>
  3916. </parameters>
  3917. </function>
  3918. <function name="rtcp_buffer_new_copy_data"
  3919. c:identifier="gst_rtcp_buffer_new_copy_data"
  3920. moved-to="RTCPBuffer.new_copy_data">
  3921. <doc xml:space="preserve">Create a new buffer and set the data to a copy of @len
  3922. bytes of @data and the size to @len. The data will be freed when the buffer
  3923. is freed.</doc>
  3924. <return-value transfer-ownership="full">
  3925. <doc xml:space="preserve">A newly allocated buffer with a copy of @data and of size @len.</doc>
  3926. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3927. </return-value>
  3928. <parameters>
  3929. <parameter name="data" transfer-ownership="none">
  3930. <doc xml:space="preserve">data for the new buffer</doc>
  3931. <array length="1" zero-terminated="0" c:type="gpointer">
  3932. <type name="guint8"/>
  3933. </array>
  3934. </parameter>
  3935. <parameter name="len" transfer-ownership="none">
  3936. <doc xml:space="preserve">the length of data</doc>
  3937. <type name="guint" c:type="guint"/>
  3938. </parameter>
  3939. </parameters>
  3940. </function>
  3941. <function name="rtcp_buffer_new_take_data"
  3942. c:identifier="gst_rtcp_buffer_new_take_data"
  3943. moved-to="RTCPBuffer.new_take_data">
  3944. <doc xml:space="preserve">Create a new buffer and set the data and size of the buffer to @data and @len
  3945. respectively. @data will be freed when the buffer is unreffed, so this
  3946. function transfers ownership of @data to the new buffer.</doc>
  3947. <return-value transfer-ownership="full">
  3948. <doc xml:space="preserve">A newly allocated buffer with @data and of size @len.</doc>
  3949. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3950. </return-value>
  3951. <parameters>
  3952. <parameter name="data" transfer-ownership="none">
  3953. <doc xml:space="preserve">data for the new buffer</doc>
  3954. <array length="1" zero-terminated="0" c:type="gpointer">
  3955. <type name="guint8"/>
  3956. </array>
  3957. </parameter>
  3958. <parameter name="len" transfer-ownership="none">
  3959. <doc xml:space="preserve">the length of data</doc>
  3960. <type name="guint" c:type="guint"/>
  3961. </parameter>
  3962. </parameters>
  3963. </function>
  3964. <function name="rtcp_buffer_validate"
  3965. c:identifier="gst_rtcp_buffer_validate"
  3966. moved-to="RTCPBuffer.validate">
  3967. <doc xml:space="preserve">Check if the data pointed to by @buffer is a valid RTCP packet using
  3968. gst_rtcp_buffer_validate_data().</doc>
  3969. <return-value transfer-ownership="none">
  3970. <doc xml:space="preserve">TRUE if @buffer is a valid RTCP packet.</doc>
  3971. <type name="gboolean" c:type="gboolean"/>
  3972. </return-value>
  3973. <parameters>
  3974. <parameter name="buffer" transfer-ownership="none">
  3975. <doc xml:space="preserve">the buffer to validate</doc>
  3976. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3977. </parameter>
  3978. </parameters>
  3979. </function>
  3980. <function name="rtcp_buffer_validate_data"
  3981. c:identifier="gst_rtcp_buffer_validate_data"
  3982. moved-to="RTCPBuffer.validate_data">
  3983. <doc xml:space="preserve">Check if the @data and @size point to the data of a valid compound,
  3984. non-reduced size RTCP packet.
  3985. Use this function to validate a packet before using the other functions in
  3986. this module.</doc>
  3987. <return-value transfer-ownership="none">
  3988. <doc xml:space="preserve">TRUE if the data points to a valid RTCP packet.</doc>
  3989. <type name="gboolean" c:type="gboolean"/>
  3990. </return-value>
  3991. <parameters>
  3992. <parameter name="data" transfer-ownership="none">
  3993. <doc xml:space="preserve">the data to validate</doc>
  3994. <array length="1" zero-terminated="0" c:type="guint8*">
  3995. <type name="guint8" c:type="guint8"/>
  3996. </array>
  3997. </parameter>
  3998. <parameter name="len" transfer-ownership="none">
  3999. <doc xml:space="preserve">the length of @data to validate</doc>
  4000. <type name="guint" c:type="guint"/>
  4001. </parameter>
  4002. </parameters>
  4003. </function>
  4004. <function name="rtcp_buffer_validate_data_reduced"
  4005. c:identifier="gst_rtcp_buffer_validate_data_reduced"
  4006. moved-to="RTCPBuffer.validate_data_reduced"
  4007. version="1.6">
  4008. <doc xml:space="preserve">Check if the @data and @size point to the data of a valid RTCP packet.
  4009. Use this function to validate a packet before using the other functions in
  4010. this module.
  4011. This function is updated to support reduced size rtcp packets according to
  4012. RFC 5506 and will validate full compound RTCP packets as well as reduced
  4013. size RTCP packets.</doc>
  4014. <return-value transfer-ownership="none">
  4015. <doc xml:space="preserve">TRUE if the data points to a valid RTCP packet.</doc>
  4016. <type name="gboolean" c:type="gboolean"/>
  4017. </return-value>
  4018. <parameters>
  4019. <parameter name="data" transfer-ownership="none">
  4020. <doc xml:space="preserve">the data to validate</doc>
  4021. <array length="1" zero-terminated="0" c:type="guint8*">
  4022. <type name="guint8" c:type="guint8"/>
  4023. </array>
  4024. </parameter>
  4025. <parameter name="len" transfer-ownership="none">
  4026. <doc xml:space="preserve">the length of @data to validate</doc>
  4027. <type name="guint" c:type="guint"/>
  4028. </parameter>
  4029. </parameters>
  4030. </function>
  4031. <function name="rtcp_buffer_validate_reduced"
  4032. c:identifier="gst_rtcp_buffer_validate_reduced"
  4033. moved-to="RTCPBuffer.validate_reduced"
  4034. version="1.6">
  4035. <doc xml:space="preserve">Check if the data pointed to by @buffer is a valid RTCP packet using
  4036. gst_rtcp_buffer_validate_reduced().</doc>
  4037. <return-value transfer-ownership="none">
  4038. <doc xml:space="preserve">TRUE if @buffer is a valid RTCP packet.</doc>
  4039. <type name="gboolean" c:type="gboolean"/>
  4040. </return-value>
  4041. <parameters>
  4042. <parameter name="buffer" transfer-ownership="none">
  4043. <doc xml:space="preserve">the buffer to validate</doc>
  4044. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  4045. </parameter>
  4046. </parameters>
  4047. </function>
  4048. <function name="rtcp_ntp_to_unix" c:identifier="gst_rtcp_ntp_to_unix">
  4049. <doc xml:space="preserve">Converts an NTP time to UNIX nanoseconds. @ntptime can typically be
  4050. the NTP time of an SR RTCP message and contains, in the upper 32 bits, the
  4051. number of seconds since 1900 and, in the lower 32 bits, the fractional
  4052. seconds. The resulting value will be the number of nanoseconds since 1970.</doc>
  4053. <return-value transfer-ownership="none">
  4054. <doc xml:space="preserve">the UNIX time for @ntptime in nanoseconds.</doc>
  4055. <type name="guint64" c:type="guint64"/>
  4056. </return-value>
  4057. <parameters>
  4058. <parameter name="ntptime" transfer-ownership="none">
  4059. <doc xml:space="preserve">an NTP timestamp</doc>
  4060. <type name="guint64" c:type="guint64"/>
  4061. </parameter>
  4062. </parameters>
  4063. </function>
  4064. <function name="rtcp_sdes_name_to_type"
  4065. c:identifier="gst_rtcp_sdes_name_to_type">
  4066. <doc xml:space="preserve">Convert @name into a @GstRTCPSDESType. @name is typically a key in a
  4067. #GstStructure containing SDES items.</doc>
  4068. <return-value transfer-ownership="none">
  4069. <doc xml:space="preserve">the #GstRTCPSDESType for @name or #GST_RTCP_SDES_PRIV when @name
  4070. is a private sdes item.</doc>
  4071. <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
  4072. </return-value>
  4073. <parameters>
  4074. <parameter name="name" transfer-ownership="none">
  4075. <doc xml:space="preserve">a SDES name</doc>
  4076. <type name="utf8" c:type="const gchar*"/>
  4077. </parameter>
  4078. </parameters>
  4079. </function>
  4080. <function name="rtcp_sdes_type_to_name"
  4081. c:identifier="gst_rtcp_sdes_type_to_name">
  4082. <doc xml:space="preserve">Converts @type to the string equivalent. The string is typically used as a
  4083. key in a #GstStructure containing SDES items.</doc>
  4084. <return-value transfer-ownership="none">
  4085. <doc xml:space="preserve">the string equivalent of @type</doc>
  4086. <type name="utf8" c:type="const gchar*"/>
  4087. </return-value>
  4088. <parameters>
  4089. <parameter name="type" transfer-ownership="none">
  4090. <doc xml:space="preserve">a #GstRTCPSDESType</doc>
  4091. <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
  4092. </parameter>
  4093. </parameters>
  4094. </function>
  4095. <function name="rtcp_unix_to_ntp" c:identifier="gst_rtcp_unix_to_ntp">
  4096. <doc xml:space="preserve">Converts a UNIX timestamp in nanoseconds to an NTP time. The caller should
  4097. pass a value with nanoseconds since 1970. The NTP time will, in the upper
  4098. 32 bits, contain the number of seconds since 1900 and, in the lower 32
  4099. bits, the fractional seconds. The resulting value can be used as an ntptime
  4100. for constructing SR RTCP packets.</doc>
  4101. <return-value transfer-ownership="none">
  4102. <doc xml:space="preserve">the NTP time for @unixtime.</doc>
  4103. <type name="guint64" c:type="guint64"/>
  4104. </return-value>
  4105. <parameters>
  4106. <parameter name="unixtime" transfer-ownership="none">
  4107. <doc xml:space="preserve">an UNIX timestamp in nanoseconds</doc>
  4108. <type name="guint64" c:type="guint64"/>
  4109. </parameter>
  4110. </parameters>
  4111. </function>
  4112. <function name="rtp_buffer_allocate_data"
  4113. c:identifier="gst_rtp_buffer_allocate_data"
  4114. moved-to="RTPBuffer.allocate_data">
  4115. <doc xml:space="preserve">Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs,
  4116. a payload length of @payload_len and padding of @pad_len.
  4117. @buffer must be writable and all previous memory in @buffer will be freed.
  4118. If @pad_len is &gt;0, the padding bit will be set. All other RTP header fields
  4119. will be set to 0/FALSE.</doc>
  4120. <return-value transfer-ownership="none">
  4121. <type name="none" c:type="void"/>
  4122. </return-value>
  4123. <parameters>
  4124. <parameter name="buffer" transfer-ownership="none">
  4125. <doc xml:space="preserve">a #GstBuffer</doc>
  4126. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  4127. </parameter>
  4128. <parameter name="payload_len" transfer-ownership="none">
  4129. <doc xml:space="preserve">the length of the payload</doc>
  4130. <type name="guint" c:type="guint"/>
  4131. </parameter>
  4132. <parameter name="pad_len" transfer-ownership="none">
  4133. <doc xml:space="preserve">the amount of padding</doc>
  4134. <type name="guint8" c:type="guint8"/>
  4135. </parameter>
  4136. <parameter name="csrc_count" transfer-ownership="none">
  4137. <doc xml:space="preserve">the number of CSRC entries</doc>
  4138. <type name="guint8" c:type="guint8"/>
  4139. </parameter>
  4140. </parameters>
  4141. </function>
  4142. <function name="rtp_buffer_calc_header_len"
  4143. c:identifier="gst_rtp_buffer_calc_header_len"
  4144. moved-to="RTPBuffer.calc_header_len">
  4145. <doc xml:space="preserve">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
  4146. An RTP packet can have at most 15 CSRC entries.</doc>
  4147. <return-value transfer-ownership="none">
  4148. <doc xml:space="preserve">The length of an RTP header with @csrc_count CSRC entries.</doc>
  4149. <type name="guint" c:type="guint"/>
  4150. </return-value>
  4151. <parameters>
  4152. <parameter name="csrc_count" transfer-ownership="none">
  4153. <doc xml:space="preserve">the number of CSRC entries</doc>
  4154. <type name="guint8" c:type="guint8"/>
  4155. </parameter>
  4156. </parameters>
  4157. </function>
  4158. <function name="rtp_buffer_calc_packet_len"
  4159. c:identifier="gst_rtp_buffer_calc_packet_len"
  4160. moved-to="RTPBuffer.calc_packet_len">
  4161. <doc xml:space="preserve">Calculate the total length of an RTP packet with a payload size of @payload_len,
  4162. a padding of @pad_len and a @csrc_count CSRC entries.</doc>
  4163. <return-value transfer-ownership="none">
  4164. <doc xml:space="preserve">The total length of an RTP header with given parameters.</doc>
  4165. <type name="guint" c:type="guint"/>
  4166. </return-value>
  4167. <parameters>
  4168. <parameter name="payload_len" transfer-ownership="none">
  4169. <doc xml:space="preserve">the length of the payload</doc>
  4170. <type name="guint" c:type="guint"/>
  4171. </parameter>
  4172. <parameter name="pad_len" transfer-ownership="none">
  4173. <doc xml:space="preserve">the amount of padding</doc>
  4174. <type name="guint8" c:type="guint8"/>
  4175. </parameter>
  4176. <parameter name="csrc_count" transfer-ownership="none">
  4177. <doc xml:space="preserve">the number of CSRC entries</doc>
  4178. <type name="guint8" c:type="guint8"/>
  4179. </parameter>
  4180. </parameters>
  4181. </function>
  4182. <function name="rtp_buffer_calc_payload_len"
  4183. c:identifier="gst_rtp_buffer_calc_payload_len"
  4184. moved-to="RTPBuffer.calc_payload_len">
  4185. <doc xml:space="preserve">Calculate the length of the payload of an RTP packet with size @packet_len,
  4186. a padding of @pad_len and a @csrc_count CSRC entries.</doc>
  4187. <return-value transfer-ownership="none">
  4188. <doc xml:space="preserve">The length of the payload of an RTP packet with given parameters.</doc>
  4189. <type name="guint" c:type="guint"/>
  4190. </return-value>
  4191. <parameters>
  4192. <parameter name="packet_len" transfer-ownership="none">
  4193. <doc xml:space="preserve">the length of the total RTP packet</doc>
  4194. <type name="guint" c:type="guint"/>
  4195. </parameter>
  4196. <parameter name="pad_len" transfer-ownership="none">
  4197. <doc xml:space="preserve">the amount of padding</doc>
  4198. <type name="guint8" c:type="guint8"/>
  4199. </parameter>
  4200. <parameter name="csrc_count" transfer-ownership="none">
  4201. <doc xml:space="preserve">the number of CSRC entries</doc>
  4202. <type name="guint8" c:type="guint8"/>
  4203. </parameter>
  4204. </parameters>
  4205. </function>
  4206. <function name="rtp_buffer_compare_seqnum"
  4207. c:identifier="gst_rtp_buffer_compare_seqnum"
  4208. moved-to="RTPBuffer.compare_seqnum">
  4209. <doc xml:space="preserve">Compare two sequence numbers, taking care of wraparounds. This function
  4210. returns the difference between @seqnum1 and @seqnum2.</doc>
  4211. <return-value transfer-ownership="none">
  4212. <doc xml:space="preserve">a negative value if @seqnum1 is bigger than @seqnum2, 0 if they
  4213. are equal or a positive value if @seqnum1 is smaller than @segnum2.</doc>
  4214. <type name="gint" c:type="gint"/>
  4215. </return-value>
  4216. <parameters>
  4217. <parameter name="seqnum1" transfer-ownership="none">
  4218. <doc xml:space="preserve">a sequence number</doc>
  4219. <type name="guint16" c:type="guint16"/>
  4220. </parameter>
  4221. <parameter name="seqnum2" transfer-ownership="none">
  4222. <doc xml:space="preserve">a sequence number</doc>
  4223. <type name="guint16" c:type="guint16"/>
  4224. </parameter>
  4225. </parameters>
  4226. </function>
  4227. <function name="rtp_buffer_default_clock_rate"
  4228. c:identifier="gst_rtp_buffer_default_clock_rate"
  4229. moved-to="RTPBuffer.default_clock_rate">
  4230. <doc xml:space="preserve">Get the default clock-rate for the static payload type @payload_type.</doc>
  4231. <return-value transfer-ownership="none">
  4232. <doc xml:space="preserve">the default clock rate or -1 if the payload type is not static or
  4233. the clock-rate is undefined.</doc>
  4234. <type name="guint32" c:type="guint32"/>
  4235. </return-value>
  4236. <parameters>
  4237. <parameter name="payload_type" transfer-ownership="none">
  4238. <doc xml:space="preserve">the static payload type</doc>
  4239. <type name="guint8" c:type="guint8"/>
  4240. </parameter>
  4241. </parameters>
  4242. </function>
  4243. <function name="rtp_buffer_ext_timestamp"
  4244. c:identifier="gst_rtp_buffer_ext_timestamp"
  4245. moved-to="RTPBuffer.ext_timestamp">
  4246. <doc xml:space="preserve">Update the @exttimestamp field with @timestamp. For the first call of the
  4247. method, @exttimestamp should point to a location with a value of -1.
  4248. This function makes sure that the returned value is a constantly increasing
  4249. value even in the case where there is a timestamp wraparound.</doc>
  4250. <return-value transfer-ownership="none">
  4251. <doc xml:space="preserve">The extended timestamp of @timestamp.</doc>
  4252. <type name="guint64" c:type="guint64"/>
  4253. </return-value>
  4254. <parameters>
  4255. <parameter name="exttimestamp" transfer-ownership="none">
  4256. <doc xml:space="preserve">a previous extended timestamp</doc>
  4257. <type name="guint64" c:type="guint64*"/>
  4258. </parameter>
  4259. <parameter name="timestamp" transfer-ownership="none">
  4260. <doc xml:space="preserve">a new timestamp</doc>
  4261. <type name="guint32" c:type="guint32"/>
  4262. </parameter>
  4263. </parameters>
  4264. </function>
  4265. <function name="rtp_buffer_map"
  4266. c:identifier="gst_rtp_buffer_map"
  4267. moved-to="RTPBuffer.map">
  4268. <doc xml:space="preserve">Map the contents of @buffer into @rtp.</doc>
  4269. <return-value transfer-ownership="none">
  4270. <doc xml:space="preserve">%TRUE if @buffer could be mapped.</doc>
  4271. <type name="gboolean" c:type="gboolean"/>
  4272. </return-value>
  4273. <parameters>
  4274. <parameter name="buffer" transfer-ownership="none">
  4275. <doc xml:space="preserve">a #GstBuffer</doc>
  4276. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  4277. </parameter>
  4278. <parameter name="flags" transfer-ownership="none">
  4279. <doc xml:space="preserve">#GstMapFlags</doc>
  4280. <type name="Gst.MapFlags" c:type="GstMapFlags"/>
  4281. </parameter>
  4282. <parameter name="rtp"
  4283. direction="out"
  4284. caller-allocates="1"
  4285. transfer-ownership="none">
  4286. <doc xml:space="preserve">a #GstRTPBuffer</doc>
  4287. <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
  4288. </parameter>
  4289. </parameters>
  4290. </function>
  4291. <function name="rtp_buffer_new_allocate"
  4292. c:identifier="gst_rtp_buffer_new_allocate"
  4293. moved-to="RTPBuffer.new_allocate">
  4294. <doc xml:space="preserve">Allocate a new #GstBuffer with enough data to hold an RTP packet with
  4295. @csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len.
  4296. All other RTP header fields will be set to 0/FALSE.</doc>
  4297. <return-value transfer-ownership="full">
  4298. <doc xml:space="preserve">A newly allocated buffer that can hold an RTP packet with given
  4299. parameters.</doc>
  4300. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  4301. </return-value>
  4302. <parameters>
  4303. <parameter name="payload_len" transfer-ownership="none">
  4304. <doc xml:space="preserve">the length of the payload</doc>
  4305. <type name="guint" c:type="guint"/>
  4306. </parameter>
  4307. <parameter name="pad_len" transfer-ownership="none">
  4308. <doc xml:space="preserve">the amount of padding</doc>
  4309. <type name="guint8" c:type="guint8"/>
  4310. </parameter>
  4311. <parameter name="csrc_count" transfer-ownership="none">
  4312. <doc xml:space="preserve">the number of CSRC entries</doc>
  4313. <type name="guint8" c:type="guint8"/>
  4314. </parameter>
  4315. </parameters>
  4316. </function>
  4317. <function name="rtp_buffer_new_allocate_len"
  4318. c:identifier="gst_rtp_buffer_new_allocate_len"
  4319. moved-to="RTPBuffer.new_allocate_len">
  4320. <doc xml:space="preserve">Create a new #GstBuffer that can hold an RTP packet that is exactly
  4321. @packet_len long. The length of the payload depends on @pad_len and
  4322. @csrc_count and can be calculated with gst_rtp_buffer_calc_payload_len().
  4323. All RTP header fields will be set to 0/FALSE.</doc>
  4324. <return-value transfer-ownership="full">
  4325. <doc xml:space="preserve">A newly allocated buffer that can hold an RTP packet of @packet_len.</doc>
  4326. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  4327. </return-value>
  4328. <parameters>
  4329. <parameter name="packet_len" transfer-ownership="none">
  4330. <doc xml:space="preserve">the total length of the packet</doc>
  4331. <type name="guint" c:type="guint"/>
  4332. </parameter>
  4333. <parameter name="pad_len" transfer-ownership="none">
  4334. <doc xml:space="preserve">the amount of padding</doc>
  4335. <type name="guint8" c:type="guint8"/>
  4336. </parameter>
  4337. <parameter name="csrc_count" transfer-ownership="none">
  4338. <doc xml:space="preserve">the number of CSRC entries</doc>
  4339. <type name="guint8" c:type="guint8"/>
  4340. </parameter>
  4341. </parameters>
  4342. </function>
  4343. <function name="rtp_buffer_new_copy_data"
  4344. c:identifier="gst_rtp_buffer_new_copy_data"
  4345. moved-to="RTPBuffer.new_copy_data">
  4346. <doc xml:space="preserve">Create a new buffer and set the data to a copy of @len
  4347. bytes of @data and the size to @len. The data will be freed when the buffer
  4348. is freed.</doc>
  4349. <return-value transfer-ownership="full">
  4350. <doc xml:space="preserve">A newly allocated buffer with a copy of @data and of size @len.</doc>
  4351. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  4352. </return-value>
  4353. <parameters>
  4354. <parameter name="data" transfer-ownership="none">
  4355. <doc xml:space="preserve">data for the new
  4356. buffer</doc>
  4357. <array length="1" zero-terminated="0" c:type="gpointer">
  4358. <type name="guint8"/>
  4359. </array>
  4360. </parameter>
  4361. <parameter name="len" transfer-ownership="none">
  4362. <doc xml:space="preserve">the length of data</doc>
  4363. <type name="gsize" c:type="gsize"/>
  4364. </parameter>
  4365. </parameters>
  4366. </function>
  4367. <function name="rtp_buffer_new_take_data"
  4368. c:identifier="gst_rtp_buffer_new_take_data"
  4369. moved-to="RTPBuffer.new_take_data">
  4370. <doc xml:space="preserve">Create a new buffer and set the data and size of the buffer to @data and @len
  4371. respectively. @data will be freed when the buffer is unreffed, so this
  4372. function transfers ownership of @data to the new buffer.</doc>
  4373. <return-value transfer-ownership="full">
  4374. <doc xml:space="preserve">A newly allocated buffer with @data and of size @len.</doc>
  4375. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  4376. </return-value>
  4377. <parameters>
  4378. <parameter name="data" transfer-ownership="full">
  4379. <doc xml:space="preserve">
  4380. data for the new buffer</doc>
  4381. <array length="1" zero-terminated="0" c:type="gpointer">
  4382. <type name="guint8"/>
  4383. </array>
  4384. </parameter>
  4385. <parameter name="len" transfer-ownership="none">
  4386. <doc xml:space="preserve">the length of data</doc>
  4387. <type name="gsize" c:type="gsize"/>
  4388. </parameter>
  4389. </parameters>
  4390. </function>
  4391. <function name="rtp_hdrext_get_ntp_56"
  4392. c:identifier="gst_rtp_hdrext_get_ntp_56">
  4393. <doc xml:space="preserve">Reads the NTP time from the @size NTP-56 extension bytes in @data and store the
  4394. result in @ntptime.</doc>
  4395. <return-value transfer-ownership="none">
  4396. <doc xml:space="preserve">%TRUE on success.</doc>
  4397. <type name="gboolean" c:type="gboolean"/>
  4398. </return-value>
  4399. <parameters>
  4400. <parameter name="data"
  4401. transfer-ownership="none"
  4402. nullable="1"
  4403. allow-none="1">
  4404. <doc xml:space="preserve">the data to read from</doc>
  4405. <type name="gpointer" c:type="gpointer"/>
  4406. </parameter>
  4407. <parameter name="size" transfer-ownership="none">
  4408. <doc xml:space="preserve">the size of @data</doc>
  4409. <type name="guint" c:type="guint"/>
  4410. </parameter>
  4411. <parameter name="ntptime" transfer-ownership="none">
  4412. <doc xml:space="preserve">the result NTP time</doc>
  4413. <type name="guint64" c:type="guint64*"/>
  4414. </parameter>
  4415. </parameters>
  4416. </function>
  4417. <function name="rtp_hdrext_get_ntp_64"
  4418. c:identifier="gst_rtp_hdrext_get_ntp_64">
  4419. <doc xml:space="preserve">Reads the NTP time from the @size NTP-64 extension bytes in @data and store the
  4420. result in @ntptime.</doc>
  4421. <return-value transfer-ownership="none">
  4422. <doc xml:space="preserve">%TRUE on success.</doc>
  4423. <type name="gboolean" c:type="gboolean"/>
  4424. </return-value>
  4425. <parameters>
  4426. <parameter name="data"
  4427. transfer-ownership="none"
  4428. nullable="1"
  4429. allow-none="1">
  4430. <doc xml:space="preserve">the data to read from</doc>
  4431. <type name="gpointer" c:type="gpointer"/>
  4432. </parameter>
  4433. <parameter name="size" transfer-ownership="none">
  4434. <doc xml:space="preserve">the size of @data</doc>
  4435. <type name="guint" c:type="guint"/>
  4436. </parameter>
  4437. <parameter name="ntptime" transfer-ownership="none">
  4438. <doc xml:space="preserve">the result NTP time</doc>
  4439. <type name="guint64" c:type="guint64*"/>
  4440. </parameter>
  4441. </parameters>
  4442. </function>
  4443. <function name="rtp_hdrext_set_ntp_56"
  4444. c:identifier="gst_rtp_hdrext_set_ntp_56">
  4445. <doc xml:space="preserve">Writes the NTP time in @ntptime to the format required for the NTP-56 header
  4446. extension. @data must hold at least #GST_RTP_HDREXT_NTP_56_SIZE bytes.</doc>
  4447. <return-value transfer-ownership="none">
  4448. <doc xml:space="preserve">%TRUE on success.</doc>
  4449. <type name="gboolean" c:type="gboolean"/>
  4450. </return-value>
  4451. <parameters>
  4452. <parameter name="data"
  4453. transfer-ownership="none"
  4454. nullable="1"
  4455. allow-none="1">
  4456. <doc xml:space="preserve">the data to write to</doc>
  4457. <type name="gpointer" c:type="gpointer"/>
  4458. </parameter>
  4459. <parameter name="size" transfer-ownership="none">
  4460. <doc xml:space="preserve">the size of @data</doc>
  4461. <type name="guint" c:type="guint"/>
  4462. </parameter>
  4463. <parameter name="ntptime" transfer-ownership="none">
  4464. <doc xml:space="preserve">the NTP time</doc>
  4465. <type name="guint64" c:type="guint64"/>
  4466. </parameter>
  4467. </parameters>
  4468. </function>
  4469. <function name="rtp_hdrext_set_ntp_64"
  4470. c:identifier="gst_rtp_hdrext_set_ntp_64">
  4471. <doc xml:space="preserve">Writes the NTP time in @ntptime to the format required for the NTP-64 header
  4472. extension. @data must hold at least #GST_RTP_HDREXT_NTP_64_SIZE bytes.</doc>
  4473. <return-value transfer-ownership="none">
  4474. <doc xml:space="preserve">%TRUE on success.</doc>
  4475. <type name="gboolean" c:type="gboolean"/>
  4476. </return-value>
  4477. <parameters>
  4478. <parameter name="data"
  4479. transfer-ownership="none"
  4480. nullable="1"
  4481. allow-none="1">
  4482. <doc xml:space="preserve">the data to write to</doc>
  4483. <type name="gpointer" c:type="gpointer"/>
  4484. </parameter>
  4485. <parameter name="size" transfer-ownership="none">
  4486. <doc xml:space="preserve">the size of @data</doc>
  4487. <type name="guint" c:type="guint"/>
  4488. </parameter>
  4489. <parameter name="ntptime" transfer-ownership="none">
  4490. <doc xml:space="preserve">the NTP time</doc>
  4491. <type name="guint64" c:type="guint64"/>
  4492. </parameter>
  4493. </parameters>
  4494. </function>
  4495. <function name="rtp_payload_info_for_name"
  4496. c:identifier="gst_rtp_payload_info_for_name"
  4497. moved-to="RTPPayloadInfo.for_name">
  4498. <doc xml:space="preserve">Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is
  4499. mostly used to get the default clock-rate and bandwidth for dynamic payload
  4500. types specified with @media and @encoding name.
  4501. The search for @encoding_name will be performed in a case insensitve way.</doc>
  4502. <return-value transfer-ownership="none">
  4503. <doc xml:space="preserve">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
  4504. <type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
  4505. </return-value>
  4506. <parameters>
  4507. <parameter name="media" transfer-ownership="none">
  4508. <doc xml:space="preserve">the media to find</doc>
  4509. <type name="utf8" c:type="const gchar*"/>
  4510. </parameter>
  4511. <parameter name="encoding_name" transfer-ownership="none">
  4512. <doc xml:space="preserve">the encoding name to find</doc>
  4513. <type name="utf8" c:type="const gchar*"/>
  4514. </parameter>
  4515. </parameters>
  4516. </function>
  4517. <function name="rtp_payload_info_for_pt"
  4518. c:identifier="gst_rtp_payload_info_for_pt"
  4519. moved-to="RTPPayloadInfo.for_pt">
  4520. <doc xml:space="preserve">Get the #GstRTPPayloadInfo for @payload_type. This function is
  4521. mostly used to get the default clock-rate and bandwidth for static payload
  4522. types specified with @payload_type.</doc>
  4523. <return-value transfer-ownership="none">
  4524. <doc xml:space="preserve">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
  4525. <type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
  4526. </return-value>
  4527. <parameters>
  4528. <parameter name="payload_type" transfer-ownership="none">
  4529. <doc xml:space="preserve">the payload_type to find</doc>
  4530. <type name="guint8" c:type="guint8"/>
  4531. </parameter>
  4532. </parameters>
  4533. </function>
  4534. </namespace>
  4535. </repository>