GstPbutils-1.0.gir 183 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921
  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="GstAudio" version="1.0"/>
  11. <include name="GstTag" version="1.0"/>
  12. <include name="GstVideo" version="1.0"/>
  13. <package name="gstreamer-pbutils-1.0"/>
  14. <c:include name="gst/pbutils/pbutils.h"/>
  15. <namespace name="GstPbutils"
  16. version="1.0"
  17. shared-library="libgstpbutils-1.0.so.0"
  18. c:identifier-prefixes="Gst"
  19. c:symbol-prefixes="gst">
  20. <alias name="DiscovererAudioInfoClass"
  21. c:type="GstDiscovererAudioInfoClass">
  22. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  23. </alias>
  24. <alias name="DiscovererContainerInfoClass"
  25. c:type="GstDiscovererContainerInfoClass">
  26. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  27. </alias>
  28. <alias name="DiscovererInfoClass" c:type="GstDiscovererInfoClass">
  29. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  30. </alias>
  31. <alias name="DiscovererStreamInfoClass"
  32. c:type="GstDiscovererStreamInfoClass">
  33. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  34. </alias>
  35. <alias name="DiscovererSubtitleInfoClass"
  36. c:type="GstDiscovererSubtitleInfoClass">
  37. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  38. </alias>
  39. <alias name="DiscovererVideoInfoClass"
  40. c:type="GstDiscovererVideoInfoClass">
  41. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  42. </alias>
  43. <alias name="EncodingTargetClass" c:type="GstEncodingTargetClass">
  44. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  45. </alias>
  46. <class name="AudioVisualizer"
  47. c:symbol-prefix="audio_visualizer"
  48. c:type="GstAudioVisualizer"
  49. parent="Gst.Element"
  50. abstract="1"
  51. glib:type-name="GstAudioVisualizer"
  52. glib:get-type="gst_audio_visualizer_get_type"
  53. glib:type-struct="AudioVisualizerClass">
  54. <doc xml:space="preserve">A baseclass for scopes (visualizers). It takes care of re-fitting the
  55. audio-rate to video-rate and handles renegotiation (downstream video size
  56. changes).
  57. It also provides several background shading effects. These effects are
  58. applied to a previous picture before the render() implementation can draw a
  59. new frame.</doc>
  60. <virtual-method name="decide_allocation">
  61. <return-value transfer-ownership="none">
  62. <type name="gboolean" c:type="gboolean"/>
  63. </return-value>
  64. <parameters>
  65. <instance-parameter name="scope" transfer-ownership="none">
  66. <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
  67. </instance-parameter>
  68. <parameter name="query" transfer-ownership="none">
  69. <type name="Gst.Query" c:type="GstQuery*"/>
  70. </parameter>
  71. </parameters>
  72. </virtual-method>
  73. <virtual-method name="render">
  74. <return-value transfer-ownership="none">
  75. <type name="gboolean" c:type="gboolean"/>
  76. </return-value>
  77. <parameters>
  78. <instance-parameter name="scope" transfer-ownership="none">
  79. <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
  80. </instance-parameter>
  81. <parameter name="audio" transfer-ownership="none">
  82. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  83. </parameter>
  84. <parameter name="video" transfer-ownership="none">
  85. <type name="GstVideo.VideoFrame" c:type="GstVideoFrame*"/>
  86. </parameter>
  87. </parameters>
  88. </virtual-method>
  89. <virtual-method name="setup">
  90. <return-value transfer-ownership="none">
  91. <type name="gboolean" c:type="gboolean"/>
  92. </return-value>
  93. <parameters>
  94. <instance-parameter name="scope" transfer-ownership="none">
  95. <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
  96. </instance-parameter>
  97. </parameters>
  98. </virtual-method>
  99. <property name="shade-amount" writable="1" transfer-ownership="none">
  100. <type name="guint" c:type="guint"/>
  101. </property>
  102. <property name="shader" writable="1" transfer-ownership="none">
  103. <type name="AudioVisualizerShader"/>
  104. </property>
  105. <field name="parent">
  106. <type name="Gst.Element" c:type="GstElement"/>
  107. </field>
  108. <field name="req_spf">
  109. <type name="guint" c:type="guint"/>
  110. </field>
  111. <field name="vinfo">
  112. <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
  113. </field>
  114. <field name="ainfo">
  115. <type name="GstAudio.AudioInfo" c:type="GstAudioInfo"/>
  116. </field>
  117. <field name="priv" readable="0" private="1">
  118. <type name="AudioVisualizerPrivate"
  119. c:type="GstAudioVisualizerPrivate*"/>
  120. </field>
  121. </class>
  122. <record name="AudioVisualizerClass"
  123. c:type="GstAudioVisualizerClass"
  124. glib:is-gtype-struct-for="AudioVisualizer">
  125. <field name="parent_class">
  126. <type name="Gst.ElementClass" c:type="GstElementClass"/>
  127. </field>
  128. <field name="setup">
  129. <callback name="setup">
  130. <return-value transfer-ownership="none">
  131. <type name="gboolean" c:type="gboolean"/>
  132. </return-value>
  133. <parameters>
  134. <parameter name="scope" transfer-ownership="none">
  135. <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
  136. </parameter>
  137. </parameters>
  138. </callback>
  139. </field>
  140. <field name="render">
  141. <callback name="render">
  142. <return-value transfer-ownership="none">
  143. <type name="gboolean" c:type="gboolean"/>
  144. </return-value>
  145. <parameters>
  146. <parameter name="scope" transfer-ownership="none">
  147. <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
  148. </parameter>
  149. <parameter name="audio" transfer-ownership="none">
  150. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  151. </parameter>
  152. <parameter name="video" transfer-ownership="none">
  153. <type name="GstVideo.VideoFrame" c:type="GstVideoFrame*"/>
  154. </parameter>
  155. </parameters>
  156. </callback>
  157. </field>
  158. <field name="decide_allocation">
  159. <callback name="decide_allocation">
  160. <return-value transfer-ownership="none">
  161. <type name="gboolean" c:type="gboolean"/>
  162. </return-value>
  163. <parameters>
  164. <parameter name="scope" transfer-ownership="none">
  165. <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
  166. </parameter>
  167. <parameter name="query" transfer-ownership="none">
  168. <type name="Gst.Query" c:type="GstQuery*"/>
  169. </parameter>
  170. </parameters>
  171. </callback>
  172. </field>
  173. </record>
  174. <record name="AudioVisualizerPrivate"
  175. c:type="GstAudioVisualizerPrivate"
  176. disguised="1">
  177. </record>
  178. <enumeration name="AudioVisualizerShader"
  179. glib:type-name="GstAudioVisualizerShader"
  180. glib:get-type="gst_audio_visualizer_shader_get_type"
  181. c:type="GstAudioVisualizerShader">
  182. <doc xml:space="preserve">Different types of supported background shading functions.</doc>
  183. <member name="none"
  184. value="0"
  185. c:identifier="GST_AUDIO_VISUALIZER_SHADER_NONE"
  186. glib:nick="none">
  187. <doc xml:space="preserve">no shading</doc>
  188. </member>
  189. <member name="fade"
  190. value="1"
  191. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE"
  192. glib:nick="fade">
  193. <doc xml:space="preserve">plain fading</doc>
  194. </member>
  195. <member name="fade_and_move_up"
  196. value="2"
  197. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP"
  198. glib:nick="fade-and-move-up">
  199. <doc xml:space="preserve">fade and move up</doc>
  200. </member>
  201. <member name="fade_and_move_down"
  202. value="3"
  203. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN"
  204. glib:nick="fade-and-move-down">
  205. <doc xml:space="preserve">fade and move down</doc>
  206. </member>
  207. <member name="fade_and_move_left"
  208. value="4"
  209. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT"
  210. glib:nick="fade-and-move-left">
  211. <doc xml:space="preserve">fade and move left</doc>
  212. </member>
  213. <member name="fade_and_move_right"
  214. value="5"
  215. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT"
  216. glib:nick="fade-and-move-right">
  217. <doc xml:space="preserve">fade and move right</doc>
  218. </member>
  219. <member name="fade_and_move_horiz_out"
  220. value="6"
  221. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT"
  222. glib:nick="fade-and-move-horiz-out">
  223. <doc xml:space="preserve">fade and move horizontally out</doc>
  224. </member>
  225. <member name="fade_and_move_horiz_in"
  226. value="7"
  227. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN"
  228. glib:nick="fade-and-move-horiz-in">
  229. <doc xml:space="preserve">fade and move horizontally in</doc>
  230. </member>
  231. <member name="fade_and_move_vert_out"
  232. value="8"
  233. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT"
  234. glib:nick="fade-and-move-vert-out">
  235. <doc xml:space="preserve">fade and move vertically out</doc>
  236. </member>
  237. <member name="fade_and_move_vert_in"
  238. value="9"
  239. c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN"
  240. glib:nick="fade-and-move-vert-in">
  241. <doc xml:space="preserve">fade and move vertically in</doc>
  242. </member>
  243. </enumeration>
  244. <callback name="AudioVisualizerShaderFunc"
  245. c:type="GstAudioVisualizerShaderFunc">
  246. <return-value transfer-ownership="none">
  247. <type name="none" c:type="void"/>
  248. </return-value>
  249. <parameters>
  250. <parameter name="scope" transfer-ownership="none">
  251. <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
  252. </parameter>
  253. <parameter name="s" transfer-ownership="none">
  254. <type name="GstVideo.VideoFrame" c:type="const GstVideoFrame*"/>
  255. </parameter>
  256. <parameter name="d" transfer-ownership="none">
  257. <type name="GstVideo.VideoFrame" c:type="GstVideoFrame*"/>
  258. </parameter>
  259. </parameters>
  260. </callback>
  261. <class name="Discoverer"
  262. c:symbol-prefix="discoverer"
  263. c:type="GstDiscoverer"
  264. parent="GObject.Object"
  265. glib:type-name="GstDiscoverer"
  266. glib:get-type="gst_discoverer_get_type"
  267. glib:type-struct="DiscovererClass">
  268. <doc xml:space="preserve">The #GstDiscoverer is a utility object which allows to get as much
  269. information as possible from one or many URIs.
  270. It provides two APIs, allowing usage in blocking or non-blocking mode.
  271. The blocking mode just requires calling gst_discoverer_discover_uri()
  272. with the URI one wishes to discover.
  273. The non-blocking mode requires a running #GMainLoop iterating a
  274. #GMainContext, where one connects to the various signals, appends the
  275. URIs to be processed (through gst_discoverer_discover_uri_async()) and then
  276. asks for the discovery to begin (through gst_discoverer_start()).
  277. By default this will use the GLib default main context unless you have
  278. set a custom context using g_main_context_push_thread_default().
  279. All the information is returned in a #GstDiscovererInfo structure.</doc>
  280. <constructor name="new" c:identifier="gst_discoverer_new" throws="1">
  281. <doc xml:space="preserve">Creates a new #GstDiscoverer with the provided timeout.</doc>
  282. <return-value transfer-ownership="full">
  283. <doc xml:space="preserve">The new #GstDiscoverer.
  284. If an error occurred when creating the discoverer, @err will be set
  285. accordingly and %NULL will be returned. If @err is set, the caller must
  286. free it when no longer needed using g_error_free().</doc>
  287. <type name="Discoverer" c:type="GstDiscoverer*"/>
  288. </return-value>
  289. <parameters>
  290. <parameter name="timeout" transfer-ownership="none">
  291. <doc xml:space="preserve">timeout per file, in nanoseconds. Allowed are values between
  292. one second (#GST_SECOND) and one hour (3600 * #GST_SECOND)</doc>
  293. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  294. </parameter>
  295. </parameters>
  296. </constructor>
  297. <virtual-method name="discovered">
  298. <return-value transfer-ownership="none">
  299. <type name="none" c:type="void"/>
  300. </return-value>
  301. <parameters>
  302. <instance-parameter name="discoverer" transfer-ownership="none">
  303. <type name="Discoverer" c:type="GstDiscoverer*"/>
  304. </instance-parameter>
  305. <parameter name="info" transfer-ownership="none">
  306. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  307. </parameter>
  308. <parameter name="err" transfer-ownership="none">
  309. <type name="GLib.Error" c:type="const GError*"/>
  310. </parameter>
  311. </parameters>
  312. </virtual-method>
  313. <virtual-method name="finished">
  314. <return-value transfer-ownership="none">
  315. <type name="none" c:type="void"/>
  316. </return-value>
  317. <parameters>
  318. <instance-parameter name="discoverer" transfer-ownership="none">
  319. <type name="Discoverer" c:type="GstDiscoverer*"/>
  320. </instance-parameter>
  321. </parameters>
  322. </virtual-method>
  323. <virtual-method name="source_setup">
  324. <return-value transfer-ownership="none">
  325. <type name="none" c:type="void"/>
  326. </return-value>
  327. <parameters>
  328. <instance-parameter name="discoverer" transfer-ownership="none">
  329. <type name="Discoverer" c:type="GstDiscoverer*"/>
  330. </instance-parameter>
  331. <parameter name="source" transfer-ownership="none">
  332. <type name="Gst.Element" c:type="GstElement*"/>
  333. </parameter>
  334. </parameters>
  335. </virtual-method>
  336. <virtual-method name="starting">
  337. <return-value transfer-ownership="none">
  338. <type name="none" c:type="void"/>
  339. </return-value>
  340. <parameters>
  341. <instance-parameter name="discoverer" transfer-ownership="none">
  342. <type name="Discoverer" c:type="GstDiscoverer*"/>
  343. </instance-parameter>
  344. </parameters>
  345. </virtual-method>
  346. <method name="discover_uri"
  347. c:identifier="gst_discoverer_discover_uri"
  348. throws="1">
  349. <doc xml:space="preserve">Synchronously discovers the given @uri.
  350. A copy of @uri will be made internally, so the caller can safely g_free()
  351. afterwards.</doc>
  352. <return-value transfer-ownership="full">
  353. <doc xml:space="preserve">the result of the scanning. Can be %NULL if an
  354. error occurred.</doc>
  355. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  356. </return-value>
  357. <parameters>
  358. <instance-parameter name="discoverer" transfer-ownership="none">
  359. <doc xml:space="preserve">A #GstDiscoverer</doc>
  360. <type name="Discoverer" c:type="GstDiscoverer*"/>
  361. </instance-parameter>
  362. <parameter name="uri" transfer-ownership="none">
  363. <doc xml:space="preserve">The URI to run on.</doc>
  364. <type name="utf8" c:type="const gchar*"/>
  365. </parameter>
  366. </parameters>
  367. </method>
  368. <method name="discover_uri_async"
  369. c:identifier="gst_discoverer_discover_uri_async">
  370. <doc xml:space="preserve">Appends the given @uri to the list of URIs to discoverer. The actual
  371. discovery of the @uri will only take place if gst_discoverer_start() has
  372. been called.
  373. A copy of @uri will be made internally, so the caller can safely g_free()
  374. afterwards.</doc>
  375. <return-value transfer-ownership="none">
  376. <doc xml:space="preserve">%TRUE if the @uri was successfully appended to the list of pending
  377. uris, else %FALSE</doc>
  378. <type name="gboolean" c:type="gboolean"/>
  379. </return-value>
  380. <parameters>
  381. <instance-parameter name="discoverer" transfer-ownership="none">
  382. <doc xml:space="preserve">A #GstDiscoverer</doc>
  383. <type name="Discoverer" c:type="GstDiscoverer*"/>
  384. </instance-parameter>
  385. <parameter name="uri" transfer-ownership="none">
  386. <doc xml:space="preserve">the URI to add.</doc>
  387. <type name="utf8" c:type="const gchar*"/>
  388. </parameter>
  389. </parameters>
  390. </method>
  391. <method name="start" c:identifier="gst_discoverer_start">
  392. <doc xml:space="preserve">Allow asynchronous discovering of URIs to take place.
  393. A #GMainLoop must be available for #GstDiscoverer to properly work in
  394. asynchronous mode.</doc>
  395. <return-value transfer-ownership="none">
  396. <type name="none" c:type="void"/>
  397. </return-value>
  398. <parameters>
  399. <instance-parameter name="discoverer" transfer-ownership="none">
  400. <doc xml:space="preserve">A #GstDiscoverer</doc>
  401. <type name="Discoverer" c:type="GstDiscoverer*"/>
  402. </instance-parameter>
  403. </parameters>
  404. </method>
  405. <method name="stop" c:identifier="gst_discoverer_stop">
  406. <doc xml:space="preserve">Stop the discovery of any pending URIs and clears the list of
  407. pending URIS (if any).</doc>
  408. <return-value transfer-ownership="none">
  409. <type name="none" c:type="void"/>
  410. </return-value>
  411. <parameters>
  412. <instance-parameter name="discoverer" transfer-ownership="none">
  413. <doc xml:space="preserve">A #GstDiscoverer</doc>
  414. <type name="Discoverer" c:type="GstDiscoverer*"/>
  415. </instance-parameter>
  416. </parameters>
  417. </method>
  418. <property name="timeout"
  419. writable="1"
  420. construct="1"
  421. transfer-ownership="none">
  422. <doc xml:space="preserve">The duration (in nanoseconds) after which the discovery of an individual
  423. URI will timeout.
  424. If the discovery of a URI times out, the %GST_DISCOVERER_TIMEOUT will be
  425. set on the result flags.</doc>
  426. <type name="guint64" c:type="guint64"/>
  427. </property>
  428. <field name="parent">
  429. <type name="GObject.Object" c:type="GObject"/>
  430. </field>
  431. <field name="priv" readable="0" private="1">
  432. <type name="DiscovererPrivate" c:type="GstDiscovererPrivate*"/>
  433. </field>
  434. <field name="_reserved" readable="0" private="1">
  435. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  436. <type name="gpointer" c:type="gpointer"/>
  437. </array>
  438. </field>
  439. <glib:signal name="discovered" when="last">
  440. <doc xml:space="preserve">Will be emitted in async mode when all information on a URI could be
  441. discovered, or an error occurred.
  442. When an error occurs, @info might still contain some partial information,
  443. depending on the circumstances of the error.</doc>
  444. <return-value transfer-ownership="none">
  445. <type name="none" c:type="void"/>
  446. </return-value>
  447. <parameters>
  448. <parameter name="info" transfer-ownership="none">
  449. <doc xml:space="preserve">the results #GstDiscovererInfo</doc>
  450. <type name="DiscovererInfo"/>
  451. </parameter>
  452. <parameter name="error" transfer-ownership="none">
  453. <doc xml:space="preserve">#GError, which will be non-NULL if an error
  454. occurred during discovery. You must not
  455. free this #GError, it will be freed by
  456. the discoverer.</doc>
  457. <type name="GLib.Error"/>
  458. </parameter>
  459. </parameters>
  460. </glib:signal>
  461. <glib:signal name="finished" when="last">
  462. <doc xml:space="preserve">Will be emitted in async mode when all pending URIs have been processed.</doc>
  463. <return-value transfer-ownership="none">
  464. <type name="none" c:type="void"/>
  465. </return-value>
  466. </glib:signal>
  467. <glib:signal name="source-setup" when="last">
  468. <doc xml:space="preserve">This signal is emitted after the source element has been created for, so
  469. the URI being discovered, so it can be configured by setting additional
  470. properties (e.g. set a proxy server for an http source, or set the device
  471. and read speed for an audio cd source).
  472. This signal is usually emitted from the context of a GStreamer streaming
  473. thread.</doc>
  474. <return-value transfer-ownership="none">
  475. <type name="none" c:type="void"/>
  476. </return-value>
  477. <parameters>
  478. <parameter name="source" transfer-ownership="none">
  479. <doc xml:space="preserve">source element</doc>
  480. <type name="Gst.Element"/>
  481. </parameter>
  482. </parameters>
  483. </glib:signal>
  484. <glib:signal name="starting" when="last">
  485. <doc xml:space="preserve">Will be emitted when the discover starts analyzing the pending URIs</doc>
  486. <return-value transfer-ownership="none">
  487. <type name="none" c:type="void"/>
  488. </return-value>
  489. </glib:signal>
  490. </class>
  491. <class name="DiscovererAudioInfo"
  492. c:symbol-prefix="discoverer_audio_info"
  493. c:type="GstDiscovererAudioInfo"
  494. parent="DiscovererStreamInfo"
  495. glib:type-name="GstDiscovererAudioInfo"
  496. glib:get-type="gst_discoverer_audio_info_get_type">
  497. <doc xml:space="preserve">#GstDiscovererStreamInfo specific to audio streams.</doc>
  498. <method name="get_bitrate"
  499. c:identifier="gst_discoverer_audio_info_get_bitrate">
  500. <return-value transfer-ownership="none">
  501. <doc xml:space="preserve">the average or nominal bitrate of the stream in bits/second.</doc>
  502. <type name="guint" c:type="guint"/>
  503. </return-value>
  504. <parameters>
  505. <instance-parameter name="info" transfer-ownership="none">
  506. <doc xml:space="preserve">a #GstDiscovererAudioInfo</doc>
  507. <type name="DiscovererAudioInfo"
  508. c:type="const GstDiscovererAudioInfo*"/>
  509. </instance-parameter>
  510. </parameters>
  511. </method>
  512. <method name="get_channels"
  513. c:identifier="gst_discoverer_audio_info_get_channels">
  514. <return-value transfer-ownership="none">
  515. <doc xml:space="preserve">the number of channels in the stream.</doc>
  516. <type name="guint" c:type="guint"/>
  517. </return-value>
  518. <parameters>
  519. <instance-parameter name="info" transfer-ownership="none">
  520. <doc xml:space="preserve">a #GstDiscovererAudioInfo</doc>
  521. <type name="DiscovererAudioInfo"
  522. c:type="const GstDiscovererAudioInfo*"/>
  523. </instance-parameter>
  524. </parameters>
  525. </method>
  526. <method name="get_depth"
  527. c:identifier="gst_discoverer_audio_info_get_depth">
  528. <return-value transfer-ownership="none">
  529. <doc xml:space="preserve">the number of bits used per sample in each channel.</doc>
  530. <type name="guint" c:type="guint"/>
  531. </return-value>
  532. <parameters>
  533. <instance-parameter name="info" transfer-ownership="none">
  534. <doc xml:space="preserve">a #GstDiscovererAudioInfo</doc>
  535. <type name="DiscovererAudioInfo"
  536. c:type="const GstDiscovererAudioInfo*"/>
  537. </instance-parameter>
  538. </parameters>
  539. </method>
  540. <method name="get_language"
  541. c:identifier="gst_discoverer_audio_info_get_language">
  542. <return-value transfer-ownership="none">
  543. <doc xml:space="preserve">the language of the stream, or NULL if unknown.</doc>
  544. <type name="utf8" c:type="const gchar*"/>
  545. </return-value>
  546. <parameters>
  547. <instance-parameter name="info" transfer-ownership="none">
  548. <doc xml:space="preserve">a #GstDiscovererAudioInfo</doc>
  549. <type name="DiscovererAudioInfo"
  550. c:type="const GstDiscovererAudioInfo*"/>
  551. </instance-parameter>
  552. </parameters>
  553. </method>
  554. <method name="get_max_bitrate"
  555. c:identifier="gst_discoverer_audio_info_get_max_bitrate">
  556. <return-value transfer-ownership="none">
  557. <doc xml:space="preserve">the maximum bitrate of the stream in bits/second.</doc>
  558. <type name="guint" c:type="guint"/>
  559. </return-value>
  560. <parameters>
  561. <instance-parameter name="info" transfer-ownership="none">
  562. <doc xml:space="preserve">a #GstDiscovererAudioInfo</doc>
  563. <type name="DiscovererAudioInfo"
  564. c:type="const GstDiscovererAudioInfo*"/>
  565. </instance-parameter>
  566. </parameters>
  567. </method>
  568. <method name="get_sample_rate"
  569. c:identifier="gst_discoverer_audio_info_get_sample_rate">
  570. <return-value transfer-ownership="none">
  571. <doc xml:space="preserve">the sample rate of the stream in Hertz.</doc>
  572. <type name="guint" c:type="guint"/>
  573. </return-value>
  574. <parameters>
  575. <instance-parameter name="info" transfer-ownership="none">
  576. <doc xml:space="preserve">a #GstDiscovererAudioInfo</doc>
  577. <type name="DiscovererAudioInfo"
  578. c:type="const GstDiscovererAudioInfo*"/>
  579. </instance-parameter>
  580. </parameters>
  581. </method>
  582. </class>
  583. <record name="DiscovererClass"
  584. c:type="GstDiscovererClass"
  585. glib:is-gtype-struct-for="Discoverer">
  586. <field name="parentclass">
  587. <type name="GObject.ObjectClass" c:type="GObjectClass"/>
  588. </field>
  589. <field name="finished">
  590. <callback name="finished">
  591. <return-value transfer-ownership="none">
  592. <type name="none" c:type="void"/>
  593. </return-value>
  594. <parameters>
  595. <parameter name="discoverer" transfer-ownership="none">
  596. <type name="Discoverer" c:type="GstDiscoverer*"/>
  597. </parameter>
  598. </parameters>
  599. </callback>
  600. </field>
  601. <field name="starting">
  602. <callback name="starting">
  603. <return-value transfer-ownership="none">
  604. <type name="none" c:type="void"/>
  605. </return-value>
  606. <parameters>
  607. <parameter name="discoverer" transfer-ownership="none">
  608. <type name="Discoverer" c:type="GstDiscoverer*"/>
  609. </parameter>
  610. </parameters>
  611. </callback>
  612. </field>
  613. <field name="discovered">
  614. <callback name="discovered">
  615. <return-value transfer-ownership="none">
  616. <type name="none" c:type="void"/>
  617. </return-value>
  618. <parameters>
  619. <parameter name="discoverer" transfer-ownership="none">
  620. <type name="Discoverer" c:type="GstDiscoverer*"/>
  621. </parameter>
  622. <parameter name="info" transfer-ownership="none">
  623. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  624. </parameter>
  625. <parameter name="err" transfer-ownership="none">
  626. <type name="GLib.Error" c:type="const GError*"/>
  627. </parameter>
  628. </parameters>
  629. </callback>
  630. </field>
  631. <field name="source_setup">
  632. <callback name="source_setup">
  633. <return-value transfer-ownership="none">
  634. <type name="none" c:type="void"/>
  635. </return-value>
  636. <parameters>
  637. <parameter name="discoverer" transfer-ownership="none">
  638. <type name="Discoverer" c:type="GstDiscoverer*"/>
  639. </parameter>
  640. <parameter name="source" transfer-ownership="none">
  641. <type name="Gst.Element" c:type="GstElement*"/>
  642. </parameter>
  643. </parameters>
  644. </callback>
  645. </field>
  646. <field name="_reserved">
  647. <array zero-terminated="0" c:type="gpointer" fixed-size="4">
  648. <type name="gpointer" c:type="gpointer"/>
  649. </array>
  650. </field>
  651. </record>
  652. <class name="DiscovererContainerInfo"
  653. c:symbol-prefix="discoverer_container_info"
  654. c:type="GstDiscovererContainerInfo"
  655. parent="DiscovererStreamInfo"
  656. glib:type-name="GstDiscovererContainerInfo"
  657. glib:get-type="gst_discoverer_container_info_get_type">
  658. <doc xml:space="preserve">#GstDiscovererStreamInfo specific to container streams.</doc>
  659. <method name="get_streams"
  660. c:identifier="gst_discoverer_container_info_get_streams">
  661. <return-value transfer-ownership="full">
  662. <doc xml:space="preserve">the list of
  663. #GstDiscovererStreamInfo this container stream offers.
  664. Free with gst_discoverer_stream_info_list_free() after usage.</doc>
  665. <type name="GLib.List" c:type="GList*">
  666. <type name="DiscovererStreamInfo"/>
  667. </type>
  668. </return-value>
  669. <parameters>
  670. <instance-parameter name="info" transfer-ownership="none">
  671. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  672. <type name="DiscovererContainerInfo"
  673. c:type="GstDiscovererContainerInfo*"/>
  674. </instance-parameter>
  675. </parameters>
  676. </method>
  677. </class>
  678. <class name="DiscovererInfo"
  679. c:symbol-prefix="discoverer_info"
  680. c:type="GstDiscovererInfo"
  681. parent="GObject.Object"
  682. glib:type-name="GstDiscovererInfo"
  683. glib:get-type="gst_discoverer_info_get_type">
  684. <doc xml:space="preserve">Structure containing the information of a URI analyzed by #GstDiscoverer.</doc>
  685. <function name="from_variant"
  686. c:identifier="gst_discoverer_info_from_variant"
  687. version="1.6">
  688. <doc xml:space="preserve">Parses a #GVariant as produced by gst_discoverer_info_to_variant()
  689. back to a #GstDiscovererInfo.</doc>
  690. <return-value transfer-ownership="full">
  691. <doc xml:space="preserve">A newly-allocated #GstDiscovererInfo.</doc>
  692. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  693. </return-value>
  694. <parameters>
  695. <parameter name="variant" transfer-ownership="none">
  696. <doc xml:space="preserve">A #GVariant to deserialize into a #GstDiscovererInfo.</doc>
  697. <type name="GLib.Variant" c:type="GVariant*"/>
  698. </parameter>
  699. </parameters>
  700. </function>
  701. <method name="copy" c:identifier="gst_discoverer_info_copy">
  702. <return-value transfer-ownership="full">
  703. <doc xml:space="preserve">A copy of the #GstDiscovererInfo</doc>
  704. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  705. </return-value>
  706. <parameters>
  707. <instance-parameter name="ptr" transfer-ownership="none">
  708. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  709. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  710. </instance-parameter>
  711. </parameters>
  712. </method>
  713. <method name="get_audio_streams"
  714. c:identifier="gst_discoverer_info_get_audio_streams">
  715. <doc xml:space="preserve">Finds all the #GstDiscovererAudioInfo contained in @info</doc>
  716. <return-value transfer-ownership="full">
  717. <doc xml:space="preserve">A #GList of
  718. matching #GstDiscovererStreamInfo. The caller should free it with
  719. gst_discoverer_stream_info_list_free().</doc>
  720. <type name="GLib.List" c:type="GList*">
  721. <type name="DiscovererStreamInfo"/>
  722. </type>
  723. </return-value>
  724. <parameters>
  725. <instance-parameter name="info" transfer-ownership="none">
  726. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  727. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  728. </instance-parameter>
  729. </parameters>
  730. </method>
  731. <method name="get_container_streams"
  732. c:identifier="gst_discoverer_info_get_container_streams">
  733. <doc xml:space="preserve">Finds all the #GstDiscovererContainerInfo contained in @info</doc>
  734. <return-value transfer-ownership="full">
  735. <doc xml:space="preserve">A #GList of
  736. matching #GstDiscovererStreamInfo. The caller should free it with
  737. gst_discoverer_stream_info_list_free().</doc>
  738. <type name="GLib.List" c:type="GList*">
  739. <type name="DiscovererStreamInfo"/>
  740. </type>
  741. </return-value>
  742. <parameters>
  743. <instance-parameter name="info" transfer-ownership="none">
  744. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  745. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  746. </instance-parameter>
  747. </parameters>
  748. </method>
  749. <method name="get_duration"
  750. c:identifier="gst_discoverer_info_get_duration">
  751. <return-value transfer-ownership="none">
  752. <doc xml:space="preserve">the duration of the URI in #GstClockTime (nanoseconds).</doc>
  753. <type name="Gst.ClockTime" c:type="GstClockTime"/>
  754. </return-value>
  755. <parameters>
  756. <instance-parameter name="info" transfer-ownership="none">
  757. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  758. <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
  759. </instance-parameter>
  760. </parameters>
  761. </method>
  762. <method name="get_misc"
  763. c:identifier="gst_discoverer_info_get_misc"
  764. deprecated="1">
  765. <doc-deprecated xml:space="preserve">This functions is deprecated since version 1.4, use
  766. #gst_discoverer_info_get_missing_elements_installer_details</doc-deprecated>
  767. <return-value transfer-ownership="none">
  768. <doc xml:space="preserve">Miscellaneous information stored as a #GstStructure
  769. (for example: information about missing plugins). If you wish to use the
  770. #GstStructure after the life-time of @info, you will need to copy it.</doc>
  771. <type name="Gst.Structure" c:type="const GstStructure*"/>
  772. </return-value>
  773. <parameters>
  774. <instance-parameter name="info" transfer-ownership="none">
  775. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  776. <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
  777. </instance-parameter>
  778. </parameters>
  779. </method>
  780. <method name="get_missing_elements_installer_details"
  781. c:identifier="gst_discoverer_info_get_missing_elements_installer_details"
  782. version="1.4">
  783. <doc xml:space="preserve">Get the installer details for missing elements</doc>
  784. <return-value transfer-ownership="none">
  785. <doc xml:space="preserve">An array of strings
  786. containing informations about how to install the various missing elements
  787. for @info to be usable. If you wish to use the strings after the life-time
  788. of @info, you will need to copy them.</doc>
  789. <array c:type="gchar**">
  790. <type name="utf8"/>
  791. </array>
  792. </return-value>
  793. <parameters>
  794. <instance-parameter name="info" transfer-ownership="none">
  795. <doc xml:space="preserve">a #GstDiscovererStreamInfo to retrieve installer detail
  796. for the missing element</doc>
  797. <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
  798. </instance-parameter>
  799. </parameters>
  800. </method>
  801. <method name="get_result" c:identifier="gst_discoverer_info_get_result">
  802. <return-value transfer-ownership="none">
  803. <doc xml:space="preserve">the result of the discovery as a #GstDiscovererResult.</doc>
  804. <type name="DiscovererResult" c:type="GstDiscovererResult"/>
  805. </return-value>
  806. <parameters>
  807. <instance-parameter name="info" transfer-ownership="none">
  808. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  809. <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
  810. </instance-parameter>
  811. </parameters>
  812. </method>
  813. <method name="get_seekable"
  814. c:identifier="gst_discoverer_info_get_seekable">
  815. <return-value transfer-ownership="none">
  816. <doc xml:space="preserve">the whether the URI is seekable.</doc>
  817. <type name="gboolean" c:type="gboolean"/>
  818. </return-value>
  819. <parameters>
  820. <instance-parameter name="info" transfer-ownership="none">
  821. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  822. <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
  823. </instance-parameter>
  824. </parameters>
  825. </method>
  826. <method name="get_stream_info"
  827. c:identifier="gst_discoverer_info_get_stream_info">
  828. <return-value transfer-ownership="full">
  829. <doc xml:space="preserve">the structure (or topology) of the URI as a
  830. #GstDiscovererStreamInfo.
  831. This structure can be traversed to see the original hierarchy. Unref with
  832. gst_discoverer_stream_info_unref() after usage.</doc>
  833. <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
  834. </return-value>
  835. <parameters>
  836. <instance-parameter name="info" transfer-ownership="none">
  837. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  838. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  839. </instance-parameter>
  840. </parameters>
  841. </method>
  842. <method name="get_stream_list"
  843. c:identifier="gst_discoverer_info_get_stream_list">
  844. <return-value transfer-ownership="full">
  845. <doc xml:space="preserve">the list of
  846. all streams contained in the #info. Free after usage
  847. with gst_discoverer_stream_info_list_free().</doc>
  848. <type name="GLib.List" c:type="GList*">
  849. <type name="DiscovererStreamInfo"/>
  850. </type>
  851. </return-value>
  852. <parameters>
  853. <instance-parameter name="info" transfer-ownership="none">
  854. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  855. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  856. </instance-parameter>
  857. </parameters>
  858. </method>
  859. <method name="get_streams"
  860. c:identifier="gst_discoverer_info_get_streams">
  861. <doc xml:space="preserve">Finds the #GstDiscovererStreamInfo contained in @info that match the
  862. given @streamtype.</doc>
  863. <return-value transfer-ownership="full">
  864. <doc xml:space="preserve">A #GList of
  865. matching #GstDiscovererStreamInfo. The caller should free it with
  866. gst_discoverer_stream_info_list_free().</doc>
  867. <type name="GLib.List" c:type="GList*">
  868. <type name="DiscovererStreamInfo"/>
  869. </type>
  870. </return-value>
  871. <parameters>
  872. <instance-parameter name="info" transfer-ownership="none">
  873. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  874. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  875. </instance-parameter>
  876. <parameter name="streamtype" transfer-ownership="none">
  877. <doc xml:space="preserve">a #GType derived from #GstDiscovererStreamInfo</doc>
  878. <type name="GType" c:type="GType"/>
  879. </parameter>
  880. </parameters>
  881. </method>
  882. <method name="get_subtitle_streams"
  883. c:identifier="gst_discoverer_info_get_subtitle_streams">
  884. <doc xml:space="preserve">Finds all the #GstDiscovererSubtitleInfo contained in @info</doc>
  885. <return-value transfer-ownership="full">
  886. <doc xml:space="preserve">A #GList of
  887. matching #GstDiscovererStreamInfo. The caller should free it with
  888. gst_discoverer_stream_info_list_free().</doc>
  889. <type name="GLib.List" c:type="GList*">
  890. <type name="DiscovererStreamInfo"/>
  891. </type>
  892. </return-value>
  893. <parameters>
  894. <instance-parameter name="info" transfer-ownership="none">
  895. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  896. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  897. </instance-parameter>
  898. </parameters>
  899. </method>
  900. <method name="get_tags" c:identifier="gst_discoverer_info_get_tags">
  901. <return-value transfer-ownership="none">
  902. <doc xml:space="preserve">all tags contained in the URI. If you wish to use
  903. the tags after the life-time of @info, you will need to copy them.</doc>
  904. <type name="Gst.TagList" c:type="const GstTagList*"/>
  905. </return-value>
  906. <parameters>
  907. <instance-parameter name="info" transfer-ownership="none">
  908. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  909. <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
  910. </instance-parameter>
  911. </parameters>
  912. </method>
  913. <method name="get_toc" c:identifier="gst_discoverer_info_get_toc">
  914. <return-value transfer-ownership="none">
  915. <doc xml:space="preserve">TOC contained in the URI. If you wish to use
  916. the TOC after the life-time of @info, you will need to copy it.</doc>
  917. <type name="Gst.Toc" c:type="const GstToc*"/>
  918. </return-value>
  919. <parameters>
  920. <instance-parameter name="info" transfer-ownership="none">
  921. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  922. <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
  923. </instance-parameter>
  924. </parameters>
  925. </method>
  926. <method name="get_uri" c:identifier="gst_discoverer_info_get_uri">
  927. <return-value transfer-ownership="none">
  928. <doc xml:space="preserve">the URI to which this information corresponds to.
  929. Copy it if you wish to use it after the life-time of @info.</doc>
  930. <type name="utf8" c:type="const gchar*"/>
  931. </return-value>
  932. <parameters>
  933. <instance-parameter name="info" transfer-ownership="none">
  934. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  935. <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
  936. </instance-parameter>
  937. </parameters>
  938. </method>
  939. <method name="get_video_streams"
  940. c:identifier="gst_discoverer_info_get_video_streams">
  941. <doc xml:space="preserve">Finds all the #GstDiscovererVideoInfo contained in @info</doc>
  942. <return-value transfer-ownership="full">
  943. <doc xml:space="preserve">A #GList of
  944. matching #GstDiscovererStreamInfo. The caller should free it with
  945. gst_discoverer_stream_info_list_free().</doc>
  946. <type name="GLib.List" c:type="GList*">
  947. <type name="DiscovererStreamInfo"/>
  948. </type>
  949. </return-value>
  950. <parameters>
  951. <instance-parameter name="info" transfer-ownership="none">
  952. <doc xml:space="preserve">a #GstDiscovererInfo</doc>
  953. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  954. </instance-parameter>
  955. </parameters>
  956. </method>
  957. <method name="to_variant"
  958. c:identifier="gst_discoverer_info_to_variant"
  959. version="1.6">
  960. <doc xml:space="preserve">Serializes @info to a #GVariant that can be parsed again
  961. through gst_discoverer_info_from_variant().
  962. Note that any #GstToc (s) that might have been discovered will not be serialized
  963. for now.</doc>
  964. <return-value transfer-ownership="full">
  965. <doc xml:space="preserve">A newly-allocated #GVariant representing @info.</doc>
  966. <type name="GLib.Variant" c:type="GVariant*"/>
  967. </return-value>
  968. <parameters>
  969. <instance-parameter name="info" transfer-ownership="none">
  970. <doc xml:space="preserve">A #GstDiscovererInfo</doc>
  971. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  972. </instance-parameter>
  973. <parameter name="flags" transfer-ownership="none">
  974. <doc xml:space="preserve">A combination of #GstDiscovererSerializeFlags to specify
  975. what needs to be serialized.</doc>
  976. <type name="DiscovererSerializeFlags"
  977. c:type="GstDiscovererSerializeFlags"/>
  978. </parameter>
  979. </parameters>
  980. </method>
  981. </class>
  982. <record name="DiscovererPrivate"
  983. c:type="GstDiscovererPrivate"
  984. disguised="1">
  985. </record>
  986. <enumeration name="DiscovererResult"
  987. glib:type-name="GstDiscovererResult"
  988. glib:get-type="gst_discoverer_result_get_type"
  989. c:type="GstDiscovererResult">
  990. <doc xml:space="preserve">Result values for the discovery process.</doc>
  991. <member name="ok"
  992. value="0"
  993. c:identifier="GST_DISCOVERER_OK"
  994. glib:nick="ok">
  995. <doc xml:space="preserve">The discovery was successful</doc>
  996. </member>
  997. <member name="uri_invalid"
  998. value="1"
  999. c:identifier="GST_DISCOVERER_URI_INVALID"
  1000. glib:nick="uri-invalid">
  1001. <doc xml:space="preserve">the URI is invalid</doc>
  1002. </member>
  1003. <member name="error"
  1004. value="2"
  1005. c:identifier="GST_DISCOVERER_ERROR"
  1006. glib:nick="error">
  1007. <doc xml:space="preserve">an error happened and the GError is set</doc>
  1008. </member>
  1009. <member name="timeout"
  1010. value="3"
  1011. c:identifier="GST_DISCOVERER_TIMEOUT"
  1012. glib:nick="timeout">
  1013. <doc xml:space="preserve">the discovery timed-out</doc>
  1014. </member>
  1015. <member name="busy"
  1016. value="4"
  1017. c:identifier="GST_DISCOVERER_BUSY"
  1018. glib:nick="busy">
  1019. <doc xml:space="preserve">the discoverer was already discovering a file</doc>
  1020. </member>
  1021. <member name="missing_plugins"
  1022. value="5"
  1023. c:identifier="GST_DISCOVERER_MISSING_PLUGINS"
  1024. glib:nick="missing-plugins">
  1025. <doc xml:space="preserve">Some plugins are missing for full discovery</doc>
  1026. </member>
  1027. </enumeration>
  1028. <bitfield name="DiscovererSerializeFlags"
  1029. version="1.6"
  1030. glib:type-name="GstDiscovererSerializeFlags"
  1031. glib:get-type="gst_discoverer_serialize_flags_get_type"
  1032. c:type="GstDiscovererSerializeFlags">
  1033. <doc xml:space="preserve">You can use these flags to control what is serialized by
  1034. gst_discoverer_info_to_variant()</doc>
  1035. <member name="basic"
  1036. value="0"
  1037. c:identifier="GST_DISCOVERER_SERIALIZE_BASIC"
  1038. glib:nick="basic">
  1039. <doc xml:space="preserve">Serialize only basic information, excluding
  1040. caps, tags and miscellaneous information</doc>
  1041. </member>
  1042. <member name="caps"
  1043. value="1"
  1044. c:identifier="GST_DISCOVERER_SERIALIZE_CAPS"
  1045. glib:nick="caps">
  1046. <doc xml:space="preserve">Serialize the caps for each stream</doc>
  1047. </member>
  1048. <member name="tags"
  1049. value="2"
  1050. c:identifier="GST_DISCOVERER_SERIALIZE_TAGS"
  1051. glib:nick="tags">
  1052. <doc xml:space="preserve">Serialize the tags for each stream</doc>
  1053. </member>
  1054. <member name="misc"
  1055. value="4"
  1056. c:identifier="GST_DISCOVERER_SERIALIZE_MISC"
  1057. glib:nick="misc">
  1058. <doc xml:space="preserve">Serialize miscellaneous information for each stream</doc>
  1059. </member>
  1060. <member name="all"
  1061. value="7"
  1062. c:identifier="GST_DISCOVERER_SERIALIZE_ALL"
  1063. glib:nick="all">
  1064. <doc xml:space="preserve">Serialize all the available info, including
  1065. caps, tags and miscellaneous information</doc>
  1066. </member>
  1067. </bitfield>
  1068. <class name="DiscovererStreamInfo"
  1069. c:symbol-prefix="discoverer_stream_info"
  1070. c:type="GstDiscovererStreamInfo"
  1071. parent="GObject.Object"
  1072. glib:type-name="GstDiscovererStreamInfo"
  1073. glib:get-type="gst_discoverer_stream_info_get_type">
  1074. <doc xml:space="preserve">Base structure for information concerning a media stream. Depending on the
  1075. stream type, one can find more media-specific information in
  1076. #GstDiscovererAudioInfo, #GstDiscovererVideoInfo, and
  1077. #GstDiscovererContainerInfo.
  1078. The #GstDiscovererStreamInfo represents the topology of the stream. Siblings
  1079. can be iterated over with gst_discoverer_stream_info_get_next() and
  1080. gst_discoverer_stream_info_get_previous(). Children (sub-streams) of a
  1081. stream can be accessed using the #GstDiscovererContainerInfo API.
  1082. As a simple example, if you run #GstDiscoverer on an AVI file with one audio
  1083. and one video stream, you will get a #GstDiscovererContainerInfo
  1084. corresponding to the AVI container, which in turn will have a
  1085. #GstDiscovererAudioInfo sub-stream and a #GstDiscovererVideoInfo sub-stream
  1086. for the audio and video streams respectively.</doc>
  1087. <function name="list_free"
  1088. c:identifier="gst_discoverer_stream_info_list_free">
  1089. <doc xml:space="preserve">Decrements the reference count of all contained #GstDiscovererStreamInfo
  1090. and fress the #GList.</doc>
  1091. <return-value transfer-ownership="none">
  1092. <type name="none" c:type="void"/>
  1093. </return-value>
  1094. <parameters>
  1095. <parameter name="infos" transfer-ownership="none">
  1096. <doc xml:space="preserve">a #GList of #GstDiscovererStreamInfo</doc>
  1097. <type name="GLib.List" c:type="GList*">
  1098. <type name="DiscovererStreamInfo"/>
  1099. </type>
  1100. </parameter>
  1101. </parameters>
  1102. </function>
  1103. <method name="get_caps"
  1104. c:identifier="gst_discoverer_stream_info_get_caps">
  1105. <return-value transfer-ownership="full">
  1106. <doc xml:space="preserve">the #GstCaps of the stream. Unref with
  1107. #gst_caps_unref after usage.</doc>
  1108. <type name="Gst.Caps" c:type="GstCaps*"/>
  1109. </return-value>
  1110. <parameters>
  1111. <instance-parameter name="info" transfer-ownership="none">
  1112. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  1113. <type name="DiscovererStreamInfo"
  1114. c:type="GstDiscovererStreamInfo*"/>
  1115. </instance-parameter>
  1116. </parameters>
  1117. </method>
  1118. <method name="get_misc"
  1119. c:identifier="gst_discoverer_stream_info_get_misc"
  1120. deprecated="1">
  1121. <doc-deprecated xml:space="preserve">This functions is deprecated since version 1.4, use
  1122. #gst_discoverer_info_get_missing_elements_installer_details</doc-deprecated>
  1123. <return-value transfer-ownership="none">
  1124. <doc xml:space="preserve">additional information regarding the stream (for
  1125. example codec version, profile, etc..). If you wish to use the #GstStructure
  1126. after the life-time of @info you will need to copy it.</doc>
  1127. <type name="Gst.Structure" c:type="const GstStructure*"/>
  1128. </return-value>
  1129. <parameters>
  1130. <instance-parameter name="info" transfer-ownership="none">
  1131. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  1132. <type name="DiscovererStreamInfo"
  1133. c:type="GstDiscovererStreamInfo*"/>
  1134. </instance-parameter>
  1135. </parameters>
  1136. </method>
  1137. <method name="get_next"
  1138. c:identifier="gst_discoverer_stream_info_get_next">
  1139. <return-value transfer-ownership="full">
  1140. <doc xml:space="preserve">the next #GstDiscovererStreamInfo in a chain. %NULL
  1141. for final streams.
  1142. Unref with #gst_discoverer_stream_info_unref after usage.</doc>
  1143. <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
  1144. </return-value>
  1145. <parameters>
  1146. <instance-parameter name="info" transfer-ownership="none">
  1147. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  1148. <type name="DiscovererStreamInfo"
  1149. c:type="GstDiscovererStreamInfo*"/>
  1150. </instance-parameter>
  1151. </parameters>
  1152. </method>
  1153. <method name="get_previous"
  1154. c:identifier="gst_discoverer_stream_info_get_previous">
  1155. <return-value transfer-ownership="full">
  1156. <doc xml:space="preserve">the previous #GstDiscovererStreamInfo in a chain.
  1157. %NULL for starting points. Unref with #gst_discoverer_stream_info_unref
  1158. after usage.</doc>
  1159. <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
  1160. </return-value>
  1161. <parameters>
  1162. <instance-parameter name="info" transfer-ownership="none">
  1163. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  1164. <type name="DiscovererStreamInfo"
  1165. c:type="GstDiscovererStreamInfo*"/>
  1166. </instance-parameter>
  1167. </parameters>
  1168. </method>
  1169. <method name="get_stream_id"
  1170. c:identifier="gst_discoverer_stream_info_get_stream_id">
  1171. <return-value transfer-ownership="none">
  1172. <doc xml:space="preserve">the stream ID of this stream. If you wish to
  1173. use the stream ID after the life-time of @info you will need to copy it.</doc>
  1174. <type name="utf8" c:type="const gchar*"/>
  1175. </return-value>
  1176. <parameters>
  1177. <instance-parameter name="info" transfer-ownership="none">
  1178. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  1179. <type name="DiscovererStreamInfo"
  1180. c:type="GstDiscovererStreamInfo*"/>
  1181. </instance-parameter>
  1182. </parameters>
  1183. </method>
  1184. <method name="get_stream_type_nick"
  1185. c:identifier="gst_discoverer_stream_info_get_stream_type_nick">
  1186. <return-value transfer-ownership="none">
  1187. <doc xml:space="preserve">a human readable name for the stream type of the given @info (ex : "audio",
  1188. "container",...).</doc>
  1189. <type name="utf8" c:type="const gchar*"/>
  1190. </return-value>
  1191. <parameters>
  1192. <instance-parameter name="info" transfer-ownership="none">
  1193. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  1194. <type name="DiscovererStreamInfo"
  1195. c:type="GstDiscovererStreamInfo*"/>
  1196. </instance-parameter>
  1197. </parameters>
  1198. </method>
  1199. <method name="get_tags"
  1200. c:identifier="gst_discoverer_stream_info_get_tags">
  1201. <return-value transfer-ownership="none">
  1202. <doc xml:space="preserve">the tags contained in this stream. If you wish to
  1203. use the tags after the life-time of @info you will need to copy them.</doc>
  1204. <type name="Gst.TagList" c:type="const GstTagList*"/>
  1205. </return-value>
  1206. <parameters>
  1207. <instance-parameter name="info" transfer-ownership="none">
  1208. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  1209. <type name="DiscovererStreamInfo"
  1210. c:type="GstDiscovererStreamInfo*"/>
  1211. </instance-parameter>
  1212. </parameters>
  1213. </method>
  1214. <method name="get_toc" c:identifier="gst_discoverer_stream_info_get_toc">
  1215. <return-value transfer-ownership="none">
  1216. <doc xml:space="preserve">the TOC contained in this stream. If you wish to
  1217. use the TOC after the life-time of @info you will need to copy it.</doc>
  1218. <type name="Gst.Toc" c:type="const GstToc*"/>
  1219. </return-value>
  1220. <parameters>
  1221. <instance-parameter name="info" transfer-ownership="none">
  1222. <doc xml:space="preserve">a #GstDiscovererStreamInfo</doc>
  1223. <type name="DiscovererStreamInfo"
  1224. c:type="GstDiscovererStreamInfo*"/>
  1225. </instance-parameter>
  1226. </parameters>
  1227. </method>
  1228. </class>
  1229. <class name="DiscovererSubtitleInfo"
  1230. c:symbol-prefix="discoverer_subtitle_info"
  1231. c:type="GstDiscovererSubtitleInfo"
  1232. parent="DiscovererStreamInfo"
  1233. glib:type-name="GstDiscovererSubtitleInfo"
  1234. glib:get-type="gst_discoverer_subtitle_info_get_type">
  1235. <doc xml:space="preserve">#GstDiscovererStreamInfo specific to subtitle streams (this includes text and
  1236. image based ones).</doc>
  1237. <method name="get_language"
  1238. c:identifier="gst_discoverer_subtitle_info_get_language">
  1239. <return-value transfer-ownership="none">
  1240. <doc xml:space="preserve">the language of the stream, or NULL if unknown.</doc>
  1241. <type name="utf8" c:type="const gchar*"/>
  1242. </return-value>
  1243. <parameters>
  1244. <instance-parameter name="info" transfer-ownership="none">
  1245. <doc xml:space="preserve">a #GstDiscovererSubtitleInfo</doc>
  1246. <type name="DiscovererSubtitleInfo"
  1247. c:type="const GstDiscovererSubtitleInfo*"/>
  1248. </instance-parameter>
  1249. </parameters>
  1250. </method>
  1251. </class>
  1252. <class name="DiscovererVideoInfo"
  1253. c:symbol-prefix="discoverer_video_info"
  1254. c:type="GstDiscovererVideoInfo"
  1255. parent="DiscovererStreamInfo"
  1256. glib:type-name="GstDiscovererVideoInfo"
  1257. glib:get-type="gst_discoverer_video_info_get_type">
  1258. <doc xml:space="preserve">#GstDiscovererStreamInfo specific to video streams (this includes images).</doc>
  1259. <method name="get_bitrate"
  1260. c:identifier="gst_discoverer_video_info_get_bitrate">
  1261. <return-value transfer-ownership="none">
  1262. <doc xml:space="preserve">the average or nominal bitrate of the video stream in bits/second.</doc>
  1263. <type name="guint" c:type="guint"/>
  1264. </return-value>
  1265. <parameters>
  1266. <instance-parameter name="info" transfer-ownership="none">
  1267. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1268. <type name="DiscovererVideoInfo"
  1269. c:type="const GstDiscovererVideoInfo*"/>
  1270. </instance-parameter>
  1271. </parameters>
  1272. </method>
  1273. <method name="get_depth"
  1274. c:identifier="gst_discoverer_video_info_get_depth">
  1275. <return-value transfer-ownership="none">
  1276. <doc xml:space="preserve">the depth in bits of the video stream.</doc>
  1277. <type name="guint" c:type="guint"/>
  1278. </return-value>
  1279. <parameters>
  1280. <instance-parameter name="info" transfer-ownership="none">
  1281. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1282. <type name="DiscovererVideoInfo"
  1283. c:type="const GstDiscovererVideoInfo*"/>
  1284. </instance-parameter>
  1285. </parameters>
  1286. </method>
  1287. <method name="get_framerate_denom"
  1288. c:identifier="gst_discoverer_video_info_get_framerate_denom">
  1289. <return-value transfer-ownership="none">
  1290. <doc xml:space="preserve">the framerate of the video stream (denominator).</doc>
  1291. <type name="guint" c:type="guint"/>
  1292. </return-value>
  1293. <parameters>
  1294. <instance-parameter name="info" transfer-ownership="none">
  1295. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1296. <type name="DiscovererVideoInfo"
  1297. c:type="const GstDiscovererVideoInfo*"/>
  1298. </instance-parameter>
  1299. </parameters>
  1300. </method>
  1301. <method name="get_framerate_num"
  1302. c:identifier="gst_discoverer_video_info_get_framerate_num">
  1303. <return-value transfer-ownership="none">
  1304. <doc xml:space="preserve">the framerate of the video stream (numerator).</doc>
  1305. <type name="guint" c:type="guint"/>
  1306. </return-value>
  1307. <parameters>
  1308. <instance-parameter name="info" transfer-ownership="none">
  1309. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1310. <type name="DiscovererVideoInfo"
  1311. c:type="const GstDiscovererVideoInfo*"/>
  1312. </instance-parameter>
  1313. </parameters>
  1314. </method>
  1315. <method name="get_height"
  1316. c:identifier="gst_discoverer_video_info_get_height">
  1317. <return-value transfer-ownership="none">
  1318. <doc xml:space="preserve">the height of the video stream in pixels.</doc>
  1319. <type name="guint" c:type="guint"/>
  1320. </return-value>
  1321. <parameters>
  1322. <instance-parameter name="info" transfer-ownership="none">
  1323. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1324. <type name="DiscovererVideoInfo"
  1325. c:type="const GstDiscovererVideoInfo*"/>
  1326. </instance-parameter>
  1327. </parameters>
  1328. </method>
  1329. <method name="get_max_bitrate"
  1330. c:identifier="gst_discoverer_video_info_get_max_bitrate">
  1331. <return-value transfer-ownership="none">
  1332. <doc xml:space="preserve">the maximum bitrate of the video stream in bits/second.</doc>
  1333. <type name="guint" c:type="guint"/>
  1334. </return-value>
  1335. <parameters>
  1336. <instance-parameter name="info" transfer-ownership="none">
  1337. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1338. <type name="DiscovererVideoInfo"
  1339. c:type="const GstDiscovererVideoInfo*"/>
  1340. </instance-parameter>
  1341. </parameters>
  1342. </method>
  1343. <method name="get_par_denom"
  1344. c:identifier="gst_discoverer_video_info_get_par_denom">
  1345. <return-value transfer-ownership="none">
  1346. <doc xml:space="preserve">the Pixel Aspect Ratio (PAR) of the video stream (denominator).</doc>
  1347. <type name="guint" c:type="guint"/>
  1348. </return-value>
  1349. <parameters>
  1350. <instance-parameter name="info" transfer-ownership="none">
  1351. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1352. <type name="DiscovererVideoInfo"
  1353. c:type="const GstDiscovererVideoInfo*"/>
  1354. </instance-parameter>
  1355. </parameters>
  1356. </method>
  1357. <method name="get_par_num"
  1358. c:identifier="gst_discoverer_video_info_get_par_num">
  1359. <return-value transfer-ownership="none">
  1360. <doc xml:space="preserve">the Pixel Aspect Ratio (PAR) of the video stream (numerator).</doc>
  1361. <type name="guint" c:type="guint"/>
  1362. </return-value>
  1363. <parameters>
  1364. <instance-parameter name="info" transfer-ownership="none">
  1365. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1366. <type name="DiscovererVideoInfo"
  1367. c:type="const GstDiscovererVideoInfo*"/>
  1368. </instance-parameter>
  1369. </parameters>
  1370. </method>
  1371. <method name="get_width"
  1372. c:identifier="gst_discoverer_video_info_get_width">
  1373. <return-value transfer-ownership="none">
  1374. <doc xml:space="preserve">the width of the video stream in pixels.</doc>
  1375. <type name="guint" c:type="guint"/>
  1376. </return-value>
  1377. <parameters>
  1378. <instance-parameter name="info" transfer-ownership="none">
  1379. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1380. <type name="DiscovererVideoInfo"
  1381. c:type="const GstDiscovererVideoInfo*"/>
  1382. </instance-parameter>
  1383. </parameters>
  1384. </method>
  1385. <method name="is_image"
  1386. c:identifier="gst_discoverer_video_info_is_image">
  1387. <return-value transfer-ownership="none">
  1388. <doc xml:space="preserve">#TRUE if the video stream corresponds to an image (i.e. only contains
  1389. one frame).</doc>
  1390. <type name="gboolean" c:type="gboolean"/>
  1391. </return-value>
  1392. <parameters>
  1393. <instance-parameter name="info" transfer-ownership="none">
  1394. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1395. <type name="DiscovererVideoInfo"
  1396. c:type="const GstDiscovererVideoInfo*"/>
  1397. </instance-parameter>
  1398. </parameters>
  1399. </method>
  1400. <method name="is_interlaced"
  1401. c:identifier="gst_discoverer_video_info_is_interlaced">
  1402. <return-value transfer-ownership="none">
  1403. <doc xml:space="preserve">%TRUE if the stream is interlaced, else %FALSE.</doc>
  1404. <type name="gboolean" c:type="gboolean"/>
  1405. </return-value>
  1406. <parameters>
  1407. <instance-parameter name="info" transfer-ownership="none">
  1408. <doc xml:space="preserve">a #GstDiscovererVideoInfo</doc>
  1409. <type name="DiscovererVideoInfo"
  1410. c:type="const GstDiscovererVideoInfo*"/>
  1411. </instance-parameter>
  1412. </parameters>
  1413. </method>
  1414. </class>
  1415. <constant name="ENCODING_CATEGORY_CAPTURE"
  1416. value="capture"
  1417. c:type="GST_ENCODING_CATEGORY_CAPTURE">
  1418. <doc xml:space="preserve">#GstEncodingTarget category for recording and capture.
  1419. Targets within this category are optimized for low latency encoding.</doc>
  1420. <type name="utf8" c:type="gchar*"/>
  1421. </constant>
  1422. <constant name="ENCODING_CATEGORY_DEVICE"
  1423. value="device"
  1424. c:type="GST_ENCODING_CATEGORY_DEVICE">
  1425. <doc xml:space="preserve">#GstEncodingTarget category for device-specific targets.
  1426. The name of the target will usually be the constructor and model of the device,
  1427. and that target will contain #GstEncodingProfiles suitable for that device.</doc>
  1428. <type name="utf8" c:type="gchar*"/>
  1429. </constant>
  1430. <constant name="ENCODING_CATEGORY_ONLINE_SERVICE"
  1431. value="online-service"
  1432. c:type="GST_ENCODING_CATEGORY_ONLINE_SERVICE">
  1433. <doc xml:space="preserve">#GstEncodingTarget category for online-services.
  1434. The name of the target will usually be the name of the online service
  1435. and that target will contain #GstEncodingProfiles suitable for that online
  1436. service.</doc>
  1437. <type name="utf8" c:type="gchar*"/>
  1438. </constant>
  1439. <constant name="ENCODING_CATEGORY_STORAGE_EDITING"
  1440. value="storage-editing"
  1441. c:type="GST_ENCODING_CATEGORY_STORAGE_EDITING">
  1442. <doc xml:space="preserve">#GstEncodingTarget category for storage, archiving and editing targets.
  1443. Those targets can be lossless and/or provide very fast random access content.
  1444. The name of the target will usually be the container type or editing target,
  1445. and that target will contain #GstEncodingProfiles suitable for editing or
  1446. storage.</doc>
  1447. <type name="utf8" c:type="gchar*"/>
  1448. </constant>
  1449. <class name="EncodingAudioProfile"
  1450. c:symbol-prefix="encoding_audio_profile"
  1451. c:type="GstEncodingAudioProfile"
  1452. parent="EncodingProfile"
  1453. glib:type-name="GstEncodingAudioProfile"
  1454. glib:get-type="gst_encoding_audio_profile_get_type"
  1455. glib:type-struct="EncodingAudioProfileClass">
  1456. <doc xml:space="preserve">Variant of #GstEncodingProfile for audio streams.</doc>
  1457. <constructor name="new" c:identifier="gst_encoding_audio_profile_new">
  1458. <doc xml:space="preserve">Creates a new #GstEncodingAudioProfile
  1459. All provided allocatable arguments will be internally copied, so can be
  1460. safely freed/unreferenced after calling this method.</doc>
  1461. <return-value transfer-ownership="full">
  1462. <doc xml:space="preserve">the newly created #GstEncodingAudioProfile.</doc>
  1463. <type name="EncodingAudioProfile" c:type="GstEncodingAudioProfile*"/>
  1464. </return-value>
  1465. <parameters>
  1466. <parameter name="format" transfer-ownership="none">
  1467. <doc xml:space="preserve">the #GstCaps</doc>
  1468. <type name="Gst.Caps" c:type="GstCaps*"/>
  1469. </parameter>
  1470. <parameter name="preset"
  1471. transfer-ownership="none"
  1472. nullable="1"
  1473. allow-none="1">
  1474. <doc xml:space="preserve">the preset(s) to use on the encoder, can be #NULL</doc>
  1475. <type name="utf8" c:type="const gchar*"/>
  1476. </parameter>
  1477. <parameter name="restriction"
  1478. transfer-ownership="none"
  1479. nullable="1"
  1480. allow-none="1">
  1481. <doc xml:space="preserve">the #GstCaps used to restrict the input to the encoder, can be
  1482. NULL. See gst_encoding_profile_get_restriction() for more details.</doc>
  1483. <type name="Gst.Caps" c:type="GstCaps*"/>
  1484. </parameter>
  1485. <parameter name="presence" transfer-ownership="none">
  1486. <doc xml:space="preserve">the number of time this stream must be used. 0 means any number of
  1487. times (including never)</doc>
  1488. <type name="guint" c:type="guint"/>
  1489. </parameter>
  1490. </parameters>
  1491. </constructor>
  1492. </class>
  1493. <record name="EncodingAudioProfileClass"
  1494. c:type="GstEncodingAudioProfileClass"
  1495. disguised="1"
  1496. glib:is-gtype-struct-for="EncodingAudioProfile">
  1497. </record>
  1498. <class name="EncodingContainerProfile"
  1499. c:symbol-prefix="encoding_container_profile"
  1500. c:type="GstEncodingContainerProfile"
  1501. parent="EncodingProfile"
  1502. glib:type-name="GstEncodingContainerProfile"
  1503. glib:get-type="gst_encoding_container_profile_get_type"
  1504. glib:type-struct="EncodingContainerProfileClass">
  1505. <doc xml:space="preserve">Encoding profiles for containers. Keeps track of a list of #GstEncodingProfile</doc>
  1506. <constructor name="new"
  1507. c:identifier="gst_encoding_container_profile_new">
  1508. <doc xml:space="preserve">Creates a new #GstEncodingContainerProfile.</doc>
  1509. <return-value transfer-ownership="full">
  1510. <doc xml:space="preserve">The newly created #GstEncodingContainerProfile.</doc>
  1511. <type name="EncodingContainerProfile"
  1512. c:type="GstEncodingContainerProfile*"/>
  1513. </return-value>
  1514. <parameters>
  1515. <parameter name="name"
  1516. transfer-ownership="none"
  1517. nullable="1"
  1518. allow-none="1">
  1519. <doc xml:space="preserve">The name of the container profile, can be %NULL</doc>
  1520. <type name="utf8" c:type="const gchar*"/>
  1521. </parameter>
  1522. <parameter name="description"
  1523. transfer-ownership="none"
  1524. nullable="1"
  1525. allow-none="1">
  1526. <doc xml:space="preserve">The description of the container profile,
  1527. can be %NULL</doc>
  1528. <type name="utf8" c:type="const gchar*"/>
  1529. </parameter>
  1530. <parameter name="format" transfer-ownership="none">
  1531. <doc xml:space="preserve">The format to use for this profile</doc>
  1532. <type name="Gst.Caps" c:type="GstCaps*"/>
  1533. </parameter>
  1534. <parameter name="preset"
  1535. transfer-ownership="none"
  1536. nullable="1"
  1537. allow-none="1">
  1538. <doc xml:space="preserve">The preset to use for this profile.</doc>
  1539. <type name="utf8" c:type="const gchar*"/>
  1540. </parameter>
  1541. </parameters>
  1542. </constructor>
  1543. <method name="add_profile"
  1544. c:identifier="gst_encoding_container_profile_add_profile">
  1545. <doc xml:space="preserve">Add a #GstEncodingProfile to the list of profiles handled by @container.
  1546. No copy of @profile will be made, if you wish to use it elsewhere after this
  1547. method you should increment its reference count.</doc>
  1548. <return-value transfer-ownership="none">
  1549. <doc xml:space="preserve">%TRUE if the @stream was properly added, else %FALSE.</doc>
  1550. <type name="gboolean" c:type="gboolean"/>
  1551. </return-value>
  1552. <parameters>
  1553. <instance-parameter name="container" transfer-ownership="none">
  1554. <doc xml:space="preserve">the #GstEncodingContainerProfile to use</doc>
  1555. <type name="EncodingContainerProfile"
  1556. c:type="GstEncodingContainerProfile*"/>
  1557. </instance-parameter>
  1558. <parameter name="profile" transfer-ownership="full">
  1559. <doc xml:space="preserve">the #GstEncodingProfile to add.</doc>
  1560. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1561. </parameter>
  1562. </parameters>
  1563. </method>
  1564. <method name="contains_profile"
  1565. c:identifier="gst_encoding_container_profile_contains_profile">
  1566. <doc xml:space="preserve">Checks if @container contains a #GstEncodingProfile identical to
  1567. @profile.</doc>
  1568. <return-value transfer-ownership="none">
  1569. <doc xml:space="preserve">%TRUE if @container contains a #GstEncodingProfile identical
  1570. to @profile, else %FALSE.</doc>
  1571. <type name="gboolean" c:type="gboolean"/>
  1572. </return-value>
  1573. <parameters>
  1574. <instance-parameter name="container" transfer-ownership="none">
  1575. <doc xml:space="preserve">a #GstEncodingContainerProfile</doc>
  1576. <type name="EncodingContainerProfile"
  1577. c:type="GstEncodingContainerProfile*"/>
  1578. </instance-parameter>
  1579. <parameter name="profile" transfer-ownership="none">
  1580. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1581. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1582. </parameter>
  1583. </parameters>
  1584. </method>
  1585. <method name="get_profiles"
  1586. c:identifier="gst_encoding_container_profile_get_profiles">
  1587. <return-value transfer-ownership="none">
  1588. <doc xml:space="preserve">
  1589. the list of contained #GstEncodingProfile.</doc>
  1590. <type name="GLib.List" c:type="const GList*">
  1591. <type name="EncodingProfile"/>
  1592. </type>
  1593. </return-value>
  1594. <parameters>
  1595. <instance-parameter name="profile" transfer-ownership="none">
  1596. <doc xml:space="preserve">a #GstEncodingContainerProfile</doc>
  1597. <type name="EncodingContainerProfile"
  1598. c:type="GstEncodingContainerProfile*"/>
  1599. </instance-parameter>
  1600. </parameters>
  1601. </method>
  1602. </class>
  1603. <record name="EncodingContainerProfileClass"
  1604. c:type="GstEncodingContainerProfileClass"
  1605. disguised="1"
  1606. glib:is-gtype-struct-for="EncodingContainerProfile">
  1607. </record>
  1608. <class name="EncodingProfile"
  1609. c:symbol-prefix="encoding_profile"
  1610. c:type="GstEncodingProfile"
  1611. parent="GObject.Object"
  1612. glib:type-name="GstEncodingProfile"
  1613. glib:get-type="gst_encoding_profile_get_type"
  1614. glib:type-struct="EncodingProfileClass">
  1615. <doc xml:space="preserve">The opaque base class object for all encoding profiles. This contains generic
  1616. information like name, description, format and preset.</doc>
  1617. <function name="find" c:identifier="gst_encoding_profile_find">
  1618. <doc xml:space="preserve">Find the #GstEncodingProfile with the specified name and category.</doc>
  1619. <return-value transfer-ownership="full">
  1620. <doc xml:space="preserve">The matching #GstEncodingProfile or %NULL.</doc>
  1621. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1622. </return-value>
  1623. <parameters>
  1624. <parameter name="targetname" transfer-ownership="none">
  1625. <doc xml:space="preserve">The name of the target</doc>
  1626. <type name="utf8" c:type="const gchar*"/>
  1627. </parameter>
  1628. <parameter name="profilename" transfer-ownership="none">
  1629. <doc xml:space="preserve">(allow-none): The name of the profile, if %NULL
  1630. provided, it will default to the encoding profile called `default`.</doc>
  1631. <type name="utf8" c:type="const gchar*"/>
  1632. </parameter>
  1633. <parameter name="category"
  1634. transfer-ownership="none"
  1635. nullable="1"
  1636. allow-none="1">
  1637. <doc xml:space="preserve">The target category. Can be %NULL</doc>
  1638. <type name="utf8" c:type="const gchar*"/>
  1639. </parameter>
  1640. </parameters>
  1641. </function>
  1642. <function name="from_discoverer"
  1643. c:identifier="gst_encoding_profile_from_discoverer">
  1644. <doc xml:space="preserve">Creates a #GstEncodingProfile matching the formats from the given
  1645. #GstDiscovererInfo. Streams other than audio or video (eg,
  1646. subtitles), are currently ignored.</doc>
  1647. <return-value transfer-ownership="full">
  1648. <doc xml:space="preserve">The new #GstEncodingProfile or %NULL.</doc>
  1649. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1650. </return-value>
  1651. <parameters>
  1652. <parameter name="info" transfer-ownership="none">
  1653. <doc xml:space="preserve">The #GstDiscovererInfo to read from</doc>
  1654. <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
  1655. </parameter>
  1656. </parameters>
  1657. </function>
  1658. <method name="get_allow_dynamic_output"
  1659. c:identifier="gst_encoding_profile_get_allow_dynamic_output">
  1660. <doc xml:space="preserve">Get whether the format that has been negotiated in at some point can be renegotiated
  1661. later during the encoding.</doc>
  1662. <return-value transfer-ownership="none">
  1663. <type name="gboolean" c:type="gboolean"/>
  1664. </return-value>
  1665. <parameters>
  1666. <instance-parameter name="profile" transfer-ownership="none">
  1667. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1668. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1669. </instance-parameter>
  1670. </parameters>
  1671. </method>
  1672. <method name="get_description"
  1673. c:identifier="gst_encoding_profile_get_description">
  1674. <return-value transfer-ownership="none">
  1675. <doc xml:space="preserve">the description of the profile, can be %NULL.</doc>
  1676. <type name="utf8" c:type="const gchar*"/>
  1677. </return-value>
  1678. <parameters>
  1679. <instance-parameter name="profile" transfer-ownership="none">
  1680. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1681. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1682. </instance-parameter>
  1683. </parameters>
  1684. </method>
  1685. <method name="get_file_extension"
  1686. c:identifier="gst_encoding_profile_get_file_extension">
  1687. <return-value transfer-ownership="none">
  1688. <doc xml:space="preserve">a suitable file extension for @profile, or NULL.</doc>
  1689. <type name="utf8" c:type="const gchar*"/>
  1690. </return-value>
  1691. <parameters>
  1692. <instance-parameter name="profile" transfer-ownership="none">
  1693. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1694. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1695. </instance-parameter>
  1696. </parameters>
  1697. </method>
  1698. <method name="get_format" c:identifier="gst_encoding_profile_get_format">
  1699. <return-value transfer-ownership="full">
  1700. <doc xml:space="preserve">the #GstCaps corresponding to the media format used
  1701. in the profile. Unref after usage.</doc>
  1702. <type name="Gst.Caps" c:type="GstCaps*"/>
  1703. </return-value>
  1704. <parameters>
  1705. <instance-parameter name="profile" transfer-ownership="none">
  1706. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1707. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1708. </instance-parameter>
  1709. </parameters>
  1710. </method>
  1711. <method name="get_input_caps"
  1712. c:identifier="gst_encoding_profile_get_input_caps">
  1713. <doc xml:space="preserve">Computes the full output caps that this @profile will be able to consume.</doc>
  1714. <return-value transfer-ownership="full">
  1715. <doc xml:space="preserve">The full caps the given @profile can consume. Call
  1716. gst_caps_unref() when you are done with the caps.</doc>
  1717. <type name="Gst.Caps" c:type="GstCaps*"/>
  1718. </return-value>
  1719. <parameters>
  1720. <instance-parameter name="profile" transfer-ownership="none">
  1721. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1722. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1723. </instance-parameter>
  1724. </parameters>
  1725. </method>
  1726. <method name="get_name" c:identifier="gst_encoding_profile_get_name">
  1727. <return-value transfer-ownership="none">
  1728. <doc xml:space="preserve">the name of the profile, can be %NULL.</doc>
  1729. <type name="utf8" c:type="const gchar*"/>
  1730. </return-value>
  1731. <parameters>
  1732. <instance-parameter name="profile" transfer-ownership="none">
  1733. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1734. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1735. </instance-parameter>
  1736. </parameters>
  1737. </method>
  1738. <method name="get_presence"
  1739. c:identifier="gst_encoding_profile_get_presence">
  1740. <return-value transfer-ownership="none">
  1741. <doc xml:space="preserve">The number of times the profile is used in its parent
  1742. container profile. If 0, it is not a mandatory stream.</doc>
  1743. <type name="guint" c:type="guint"/>
  1744. </return-value>
  1745. <parameters>
  1746. <instance-parameter name="profile" transfer-ownership="none">
  1747. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1748. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1749. </instance-parameter>
  1750. </parameters>
  1751. </method>
  1752. <method name="get_preset" c:identifier="gst_encoding_profile_get_preset">
  1753. <return-value transfer-ownership="none">
  1754. <doc xml:space="preserve">the name of the #GstPreset to be used in the profile.
  1755. This is the name that has been set when saving the preset.</doc>
  1756. <type name="utf8" c:type="const gchar*"/>
  1757. </return-value>
  1758. <parameters>
  1759. <instance-parameter name="profile" transfer-ownership="none">
  1760. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1761. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1762. </instance-parameter>
  1763. </parameters>
  1764. </method>
  1765. <method name="get_preset_name"
  1766. c:identifier="gst_encoding_profile_get_preset_name">
  1767. <return-value transfer-ownership="none">
  1768. <doc xml:space="preserve">the name of the #GstPreset factory to be used in the profile.</doc>
  1769. <type name="utf8" c:type="const gchar*"/>
  1770. </return-value>
  1771. <parameters>
  1772. <instance-parameter name="profile" transfer-ownership="none">
  1773. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1774. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1775. </instance-parameter>
  1776. </parameters>
  1777. </method>
  1778. <method name="get_restriction"
  1779. c:identifier="gst_encoding_profile_get_restriction">
  1780. <return-value transfer-ownership="full">
  1781. <doc xml:space="preserve">The restriction #GstCaps to apply before the encoder
  1782. that will be used in the profile. The fields present in restriction caps are
  1783. properties of the raw stream (that is before encoding), such as height and
  1784. width for video and depth and sampling rate for audio. Does not apply to
  1785. #GstEncodingContainerProfile (since there is no corresponding raw stream).
  1786. Can be %NULL. Unref after usage.</doc>
  1787. <type name="Gst.Caps" c:type="GstCaps*"/>
  1788. </return-value>
  1789. <parameters>
  1790. <instance-parameter name="profile" transfer-ownership="none">
  1791. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1792. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1793. </instance-parameter>
  1794. </parameters>
  1795. </method>
  1796. <method name="get_type_nick"
  1797. c:identifier="gst_encoding_profile_get_type_nick">
  1798. <return-value transfer-ownership="none">
  1799. <doc xml:space="preserve">the human-readable name of the type of @profile.</doc>
  1800. <type name="utf8" c:type="const gchar*"/>
  1801. </return-value>
  1802. <parameters>
  1803. <instance-parameter name="profile" transfer-ownership="none">
  1804. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1805. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1806. </instance-parameter>
  1807. </parameters>
  1808. </method>
  1809. <method name="is_enabled" c:identifier="gst_encoding_profile_is_enabled">
  1810. <return-value transfer-ownership="none">
  1811. <type name="gboolean" c:type="gboolean"/>
  1812. </return-value>
  1813. <parameters>
  1814. <instance-parameter name="profile" transfer-ownership="none">
  1815. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1816. </instance-parameter>
  1817. </parameters>
  1818. </method>
  1819. <method name="is_equal" c:identifier="gst_encoding_profile_is_equal">
  1820. <doc xml:space="preserve">Checks whether the two #GstEncodingProfile are equal</doc>
  1821. <return-value transfer-ownership="none">
  1822. <doc xml:space="preserve">%TRUE if @a and @b are equal, else %FALSE.</doc>
  1823. <type name="gboolean" c:type="gboolean"/>
  1824. </return-value>
  1825. <parameters>
  1826. <instance-parameter name="a" transfer-ownership="none">
  1827. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1828. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1829. </instance-parameter>
  1830. <parameter name="b" transfer-ownership="none">
  1831. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1832. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1833. </parameter>
  1834. </parameters>
  1835. </method>
  1836. <method name="set_allow_dynamic_output"
  1837. c:identifier="gst_encoding_profile_set_allow_dynamic_output">
  1838. <doc xml:space="preserve">Sets whether the format that has been negotiated in at some point can be renegotiated
  1839. later during the encoding.</doc>
  1840. <return-value transfer-ownership="none">
  1841. <type name="none" c:type="void"/>
  1842. </return-value>
  1843. <parameters>
  1844. <instance-parameter name="profile" transfer-ownership="none">
  1845. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1846. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1847. </instance-parameter>
  1848. <parameter name="allow_dynamic_output" transfer-ownership="none">
  1849. <doc xml:space="preserve">Whether the format that has been negotiated first can be renegotiated
  1850. during the encoding</doc>
  1851. <type name="gboolean" c:type="gboolean"/>
  1852. </parameter>
  1853. </parameters>
  1854. </method>
  1855. <method name="set_description"
  1856. c:identifier="gst_encoding_profile_set_description">
  1857. <doc xml:space="preserve">Set @description as the given description for the @profile. A copy of
  1858. @description will be made internally.</doc>
  1859. <return-value transfer-ownership="none">
  1860. <type name="none" c:type="void"/>
  1861. </return-value>
  1862. <parameters>
  1863. <instance-parameter name="profile" transfer-ownership="none">
  1864. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1865. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1866. </instance-parameter>
  1867. <parameter name="description" transfer-ownership="none">
  1868. <doc xml:space="preserve">the description to set on the profile</doc>
  1869. <type name="utf8" c:type="const gchar*"/>
  1870. </parameter>
  1871. </parameters>
  1872. </method>
  1873. <method name="set_enabled"
  1874. c:identifier="gst_encoding_profile_set_enabled">
  1875. <doc xml:space="preserve">Set whether the profile should be used or not.</doc>
  1876. <return-value transfer-ownership="none">
  1877. <type name="none" c:type="void"/>
  1878. </return-value>
  1879. <parameters>
  1880. <instance-parameter name="profile" transfer-ownership="none">
  1881. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1882. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1883. </instance-parameter>
  1884. <parameter name="enabled" transfer-ownership="none">
  1885. <doc xml:space="preserve">%FALSE to disable #profile, %TRUE to enable it</doc>
  1886. <type name="gboolean" c:type="gboolean"/>
  1887. </parameter>
  1888. </parameters>
  1889. </method>
  1890. <method name="set_format" c:identifier="gst_encoding_profile_set_format">
  1891. <doc xml:space="preserve">Sets the media format used in the profile.</doc>
  1892. <return-value transfer-ownership="none">
  1893. <type name="none" c:type="void"/>
  1894. </return-value>
  1895. <parameters>
  1896. <instance-parameter name="profile" transfer-ownership="none">
  1897. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1898. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1899. </instance-parameter>
  1900. <parameter name="format" transfer-ownership="none">
  1901. <doc xml:space="preserve">the media format to use in the profile.</doc>
  1902. <type name="Gst.Caps" c:type="GstCaps*"/>
  1903. </parameter>
  1904. </parameters>
  1905. </method>
  1906. <method name="set_name" c:identifier="gst_encoding_profile_set_name">
  1907. <doc xml:space="preserve">Set @name as the given name for the @profile. A copy of @name will be made
  1908. internally.</doc>
  1909. <return-value transfer-ownership="none">
  1910. <type name="none" c:type="void"/>
  1911. </return-value>
  1912. <parameters>
  1913. <instance-parameter name="profile" transfer-ownership="none">
  1914. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1915. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1916. </instance-parameter>
  1917. <parameter name="name" transfer-ownership="none">
  1918. <doc xml:space="preserve">the name to set on the profile</doc>
  1919. <type name="utf8" c:type="const gchar*"/>
  1920. </parameter>
  1921. </parameters>
  1922. </method>
  1923. <method name="set_presence"
  1924. c:identifier="gst_encoding_profile_set_presence">
  1925. <doc xml:space="preserve">Set the number of time the profile is used in its parent
  1926. container profile. If 0, it is not a mandatory stream</doc>
  1927. <return-value transfer-ownership="none">
  1928. <type name="none" c:type="void"/>
  1929. </return-value>
  1930. <parameters>
  1931. <instance-parameter name="profile" transfer-ownership="none">
  1932. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1933. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1934. </instance-parameter>
  1935. <parameter name="presence" transfer-ownership="none">
  1936. <doc xml:space="preserve">the number of time the profile can be used</doc>
  1937. <type name="guint" c:type="guint"/>
  1938. </parameter>
  1939. </parameters>
  1940. </method>
  1941. <method name="set_preset" c:identifier="gst_encoding_profile_set_preset">
  1942. <doc xml:space="preserve">Sets the name of the #GstElement that implements the #GstPreset interface
  1943. to use for the profile.
  1944. This is the name that has been set when saving the preset.</doc>
  1945. <return-value transfer-ownership="none">
  1946. <type name="none" c:type="void"/>
  1947. </return-value>
  1948. <parameters>
  1949. <instance-parameter name="profile" transfer-ownership="none">
  1950. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1951. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1952. </instance-parameter>
  1953. <parameter name="preset" transfer-ownership="none">
  1954. <doc xml:space="preserve">the element preset to use</doc>
  1955. <type name="utf8" c:type="const gchar*"/>
  1956. </parameter>
  1957. </parameters>
  1958. </method>
  1959. <method name="set_preset_name"
  1960. c:identifier="gst_encoding_profile_set_preset_name">
  1961. <doc xml:space="preserve">Sets the name of the #GstPreset's factory to be used in the profile.</doc>
  1962. <return-value transfer-ownership="none">
  1963. <type name="none" c:type="void"/>
  1964. </return-value>
  1965. <parameters>
  1966. <instance-parameter name="profile" transfer-ownership="none">
  1967. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1968. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1969. </instance-parameter>
  1970. <parameter name="preset_name" transfer-ownership="none">
  1971. <doc xml:space="preserve">The name of the preset to use in this @profile.</doc>
  1972. <type name="utf8" c:type="const gchar*"/>
  1973. </parameter>
  1974. </parameters>
  1975. </method>
  1976. <method name="set_restriction"
  1977. c:identifier="gst_encoding_profile_set_restriction">
  1978. <doc xml:space="preserve">Set the restriction #GstCaps to apply before the encoder
  1979. that will be used in the profile. See gst_encoding_profile_get_restriction()
  1980. for more about restrictions. Does not apply to #GstEncodingContainerProfile.</doc>
  1981. <return-value transfer-ownership="none">
  1982. <type name="none" c:type="void"/>
  1983. </return-value>
  1984. <parameters>
  1985. <instance-parameter name="profile" transfer-ownership="none">
  1986. <doc xml:space="preserve">a #GstEncodingProfile</doc>
  1987. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  1988. </instance-parameter>
  1989. <parameter name="restriction" transfer-ownership="full">
  1990. <doc xml:space="preserve">the restriction to apply</doc>
  1991. <type name="Gst.Caps" c:type="GstCaps*"/>
  1992. </parameter>
  1993. </parameters>
  1994. </method>
  1995. <property name="restriction-caps" writable="1" transfer-ownership="none">
  1996. <type name="Gst.Caps"/>
  1997. </property>
  1998. </class>
  1999. <record name="EncodingProfileClass"
  2000. c:type="GstEncodingProfileClass"
  2001. disguised="1"
  2002. glib:is-gtype-struct-for="EncodingProfile">
  2003. </record>
  2004. <class name="EncodingTarget"
  2005. c:symbol-prefix="encoding_target"
  2006. c:type="GstEncodingTarget"
  2007. parent="GObject.Object"
  2008. glib:type-name="GstEncodingTarget"
  2009. glib:get-type="gst_encoding_target_get_type">
  2010. <doc xml:space="preserve">Collection of #GstEncodingProfile for a specific target or use-case.
  2011. When being stored/loaded, targets come from a specific category, like
  2012. #GST_ENCODING_CATEGORY_DEVICE.</doc>
  2013. <constructor name="new" c:identifier="gst_encoding_target_new">
  2014. <doc xml:space="preserve">Creates a new #GstEncodingTarget.
  2015. The name and category can only consist of lowercase ASCII letters for the
  2016. first character, followed by either lowercase ASCII letters, digits or
  2017. hyphens ('-').
  2018. The @category &lt;emphasis&gt;should&lt;/emphasis&gt; be one of the existing
  2019. well-defined categories, like #GST_ENCODING_CATEGORY_DEVICE, but it
  2020. &lt;emphasis&gt;can&lt;/emphasis&gt; be a application or user specific category if
  2021. needed.</doc>
  2022. <return-value transfer-ownership="full">
  2023. <doc xml:space="preserve">The newly created #GstEncodingTarget or %NULL if
  2024. there was an error.</doc>
  2025. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2026. </return-value>
  2027. <parameters>
  2028. <parameter name="name" transfer-ownership="none">
  2029. <doc xml:space="preserve">The name of the target.</doc>
  2030. <type name="utf8" c:type="const gchar*"/>
  2031. </parameter>
  2032. <parameter name="category" transfer-ownership="none">
  2033. <doc xml:space="preserve">The name of the category to which this @target
  2034. belongs. For example: #GST_ENCODING_CATEGORY_DEVICE.</doc>
  2035. <type name="utf8" c:type="const gchar*"/>
  2036. </parameter>
  2037. <parameter name="description" transfer-ownership="none">
  2038. <doc xml:space="preserve">A description of #GstEncodingTarget in the
  2039. current locale.</doc>
  2040. <type name="utf8" c:type="const gchar*"/>
  2041. </parameter>
  2042. <parameter name="profiles" transfer-ownership="none">
  2043. <doc xml:space="preserve">A #GList of
  2044. #GstEncodingProfile.</doc>
  2045. <type name="GLib.List" c:type="const GList*">
  2046. <type name="EncodingProfile"/>
  2047. </type>
  2048. </parameter>
  2049. </parameters>
  2050. </constructor>
  2051. <function name="load" c:identifier="gst_encoding_target_load" throws="1">
  2052. <doc xml:space="preserve">Searches for the #GstEncodingTarget with the given name, loads it
  2053. and returns it.
  2054. If the category name is specified only targets from that category will be
  2055. searched for.</doc>
  2056. <return-value transfer-ownership="full">
  2057. <doc xml:space="preserve">The #GstEncodingTarget if available, else %NULL.</doc>
  2058. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2059. </return-value>
  2060. <parameters>
  2061. <parameter name="name" transfer-ownership="none">
  2062. <doc xml:space="preserve">the name of the #GstEncodingTarget to load.</doc>
  2063. <type name="utf8" c:type="const gchar*"/>
  2064. </parameter>
  2065. <parameter name="category"
  2066. transfer-ownership="none"
  2067. nullable="1"
  2068. allow-none="1">
  2069. <doc xml:space="preserve">the name of the target category, like
  2070. #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL</doc>
  2071. <type name="utf8" c:type="const gchar*"/>
  2072. </parameter>
  2073. </parameters>
  2074. </function>
  2075. <function name="load_from_file"
  2076. c:identifier="gst_encoding_target_load_from_file"
  2077. throws="1">
  2078. <doc xml:space="preserve">Opens the provided file and returns the contained #GstEncodingTarget.</doc>
  2079. <return-value transfer-ownership="full">
  2080. <doc xml:space="preserve">The #GstEncodingTarget contained in the file, else
  2081. %NULL</doc>
  2082. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2083. </return-value>
  2084. <parameters>
  2085. <parameter name="filepath" transfer-ownership="none">
  2086. <doc xml:space="preserve">The file location to load the #GstEncodingTarget from</doc>
  2087. <type name="utf8" c:type="const gchar*"/>
  2088. </parameter>
  2089. </parameters>
  2090. </function>
  2091. <method name="add_profile"
  2092. c:identifier="gst_encoding_target_add_profile">
  2093. <doc xml:space="preserve">Adds the given @profile to the @target. Each added profile must have
  2094. a unique name within the profile.
  2095. The @target will steal a reference to the @profile. If you wish to use
  2096. the profile after calling this method, you should increase its reference
  2097. count.</doc>
  2098. <return-value transfer-ownership="none">
  2099. <doc xml:space="preserve">%TRUE if the profile was added, else %FALSE.</doc>
  2100. <type name="gboolean" c:type="gboolean"/>
  2101. </return-value>
  2102. <parameters>
  2103. <instance-parameter name="target" transfer-ownership="none">
  2104. <doc xml:space="preserve">the #GstEncodingTarget to add a profile to</doc>
  2105. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2106. </instance-parameter>
  2107. <parameter name="profile" transfer-ownership="full">
  2108. <doc xml:space="preserve">the #GstEncodingProfile to add</doc>
  2109. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  2110. </parameter>
  2111. </parameters>
  2112. </method>
  2113. <method name="get_category"
  2114. c:identifier="gst_encoding_target_get_category">
  2115. <return-value transfer-ownership="none">
  2116. <doc xml:space="preserve">The category of the @target. For example:
  2117. #GST_ENCODING_CATEGORY_DEVICE.</doc>
  2118. <type name="utf8" c:type="const gchar*"/>
  2119. </return-value>
  2120. <parameters>
  2121. <instance-parameter name="target" transfer-ownership="none">
  2122. <doc xml:space="preserve">a #GstEncodingTarget</doc>
  2123. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2124. </instance-parameter>
  2125. </parameters>
  2126. </method>
  2127. <method name="get_description"
  2128. c:identifier="gst_encoding_target_get_description">
  2129. <return-value transfer-ownership="none">
  2130. <doc xml:space="preserve">The description of the @target.</doc>
  2131. <type name="utf8" c:type="const gchar*"/>
  2132. </return-value>
  2133. <parameters>
  2134. <instance-parameter name="target" transfer-ownership="none">
  2135. <doc xml:space="preserve">a #GstEncodingTarget</doc>
  2136. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2137. </instance-parameter>
  2138. </parameters>
  2139. </method>
  2140. <method name="get_name" c:identifier="gst_encoding_target_get_name">
  2141. <return-value transfer-ownership="none">
  2142. <doc xml:space="preserve">The name of the @target.</doc>
  2143. <type name="utf8" c:type="const gchar*"/>
  2144. </return-value>
  2145. <parameters>
  2146. <instance-parameter name="target" transfer-ownership="none">
  2147. <doc xml:space="preserve">a #GstEncodingTarget</doc>
  2148. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2149. </instance-parameter>
  2150. </parameters>
  2151. </method>
  2152. <method name="get_profile"
  2153. c:identifier="gst_encoding_target_get_profile">
  2154. <return-value transfer-ownership="full">
  2155. <doc xml:space="preserve">The matching #GstEncodingProfile, or %NULL.</doc>
  2156. <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
  2157. </return-value>
  2158. <parameters>
  2159. <instance-parameter name="target" transfer-ownership="none">
  2160. <doc xml:space="preserve">a #GstEncodingTarget</doc>
  2161. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2162. </instance-parameter>
  2163. <parameter name="name" transfer-ownership="none">
  2164. <doc xml:space="preserve">the name of the profile to retrieve</doc>
  2165. <type name="utf8" c:type="const gchar*"/>
  2166. </parameter>
  2167. </parameters>
  2168. </method>
  2169. <method name="get_profiles"
  2170. c:identifier="gst_encoding_target_get_profiles">
  2171. <return-value transfer-ownership="none">
  2172. <doc xml:space="preserve">A list of
  2173. #GstEncodingProfile(s) this @target handles.</doc>
  2174. <type name="GLib.List" c:type="const GList*">
  2175. <type name="EncodingProfile"/>
  2176. </type>
  2177. </return-value>
  2178. <parameters>
  2179. <instance-parameter name="target" transfer-ownership="none">
  2180. <doc xml:space="preserve">a #GstEncodingTarget</doc>
  2181. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2182. </instance-parameter>
  2183. </parameters>
  2184. </method>
  2185. <method name="save" c:identifier="gst_encoding_target_save" throws="1">
  2186. <doc xml:space="preserve">Saves the @target to a default user-local directory.</doc>
  2187. <return-value transfer-ownership="none">
  2188. <doc xml:space="preserve">%TRUE if the target was correctly saved, else %FALSE.</doc>
  2189. <type name="gboolean" c:type="gboolean"/>
  2190. </return-value>
  2191. <parameters>
  2192. <instance-parameter name="target" transfer-ownership="none">
  2193. <doc xml:space="preserve">a #GstEncodingTarget</doc>
  2194. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2195. </instance-parameter>
  2196. </parameters>
  2197. </method>
  2198. <method name="save_to_file"
  2199. c:identifier="gst_encoding_target_save_to_file"
  2200. throws="1">
  2201. <doc xml:space="preserve">Saves the @target to the provided file location.</doc>
  2202. <return-value transfer-ownership="none">
  2203. <doc xml:space="preserve">%TRUE if the target was correctly saved, else %FALSE.</doc>
  2204. <type name="gboolean" c:type="gboolean"/>
  2205. </return-value>
  2206. <parameters>
  2207. <instance-parameter name="target" transfer-ownership="none">
  2208. <doc xml:space="preserve">a #GstEncodingTarget</doc>
  2209. <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
  2210. </instance-parameter>
  2211. <parameter name="filepath" transfer-ownership="none">
  2212. <doc xml:space="preserve">the location to store the @target at.</doc>
  2213. <type name="utf8" c:type="const gchar*"/>
  2214. </parameter>
  2215. </parameters>
  2216. </method>
  2217. </class>
  2218. <class name="EncodingVideoProfile"
  2219. c:symbol-prefix="encoding_video_profile"
  2220. c:type="GstEncodingVideoProfile"
  2221. parent="EncodingProfile"
  2222. glib:type-name="GstEncodingVideoProfile"
  2223. glib:get-type="gst_encoding_video_profile_get_type"
  2224. glib:type-struct="EncodingVideoProfileClass">
  2225. <doc xml:space="preserve">Variant of #GstEncodingProfile for video streams, allows specifying the @pass.</doc>
  2226. <constructor name="new" c:identifier="gst_encoding_video_profile_new">
  2227. <doc xml:space="preserve">Creates a new #GstEncodingVideoProfile
  2228. All provided allocatable arguments will be internally copied, so can be
  2229. safely freed/unreferenced after calling this method.
  2230. If you wish to control the pass number (in case of multi-pass scenarios),
  2231. please refer to the gst_encoding_video_profile_set_pass() documentation.
  2232. If you wish to use/force a constant framerate please refer to the
  2233. gst_encoding_video_profile_set_variableframerate() documentation.</doc>
  2234. <return-value transfer-ownership="full">
  2235. <doc xml:space="preserve">the newly created #GstEncodingVideoProfile.</doc>
  2236. <type name="EncodingVideoProfile" c:type="GstEncodingVideoProfile*"/>
  2237. </return-value>
  2238. <parameters>
  2239. <parameter name="format" transfer-ownership="none">
  2240. <doc xml:space="preserve">the #GstCaps</doc>
  2241. <type name="Gst.Caps" c:type="GstCaps*"/>
  2242. </parameter>
  2243. <parameter name="preset"
  2244. transfer-ownership="none"
  2245. nullable="1"
  2246. allow-none="1">
  2247. <doc xml:space="preserve">the preset(s) to use on the encoder, can be #NULL</doc>
  2248. <type name="utf8" c:type="const gchar*"/>
  2249. </parameter>
  2250. <parameter name="restriction"
  2251. transfer-ownership="none"
  2252. nullable="1"
  2253. allow-none="1">
  2254. <doc xml:space="preserve">the #GstCaps used to restrict the input to the encoder, can be
  2255. NULL. See gst_encoding_profile_get_restriction() for more details.</doc>
  2256. <type name="Gst.Caps" c:type="GstCaps*"/>
  2257. </parameter>
  2258. <parameter name="presence" transfer-ownership="none">
  2259. <doc xml:space="preserve">the number of time this stream must be used. 0 means any number of
  2260. times (including never)</doc>
  2261. <type name="guint" c:type="guint"/>
  2262. </parameter>
  2263. </parameters>
  2264. </constructor>
  2265. <method name="get_pass"
  2266. c:identifier="gst_encoding_video_profile_get_pass">
  2267. <doc xml:space="preserve">Get the pass number if this is part of a multi-pass profile.</doc>
  2268. <return-value transfer-ownership="none">
  2269. <doc xml:space="preserve">The pass number. Starts at 1 for multi-pass. 0 if this is
  2270. not a multi-pass profile</doc>
  2271. <type name="guint" c:type="guint"/>
  2272. </return-value>
  2273. <parameters>
  2274. <instance-parameter name="prof" transfer-ownership="none">
  2275. <doc xml:space="preserve">a #GstEncodingVideoProfile</doc>
  2276. <type name="EncodingVideoProfile"
  2277. c:type="GstEncodingVideoProfile*"/>
  2278. </instance-parameter>
  2279. </parameters>
  2280. </method>
  2281. <method name="get_variableframerate"
  2282. c:identifier="gst_encoding_video_profile_get_variableframerate">
  2283. <return-value transfer-ownership="none">
  2284. <doc xml:space="preserve">Whether non-constant video framerate is allowed for encoding.</doc>
  2285. <type name="gboolean" c:type="gboolean"/>
  2286. </return-value>
  2287. <parameters>
  2288. <instance-parameter name="prof" transfer-ownership="none">
  2289. <doc xml:space="preserve">a #GstEncodingVideoProfile</doc>
  2290. <type name="EncodingVideoProfile"
  2291. c:type="GstEncodingVideoProfile*"/>
  2292. </instance-parameter>
  2293. </parameters>
  2294. </method>
  2295. <method name="set_pass"
  2296. c:identifier="gst_encoding_video_profile_set_pass">
  2297. <doc xml:space="preserve">Sets the pass number of this video profile. The first pass profile should have
  2298. this value set to 1. If this video profile isn't part of a multi-pass profile,
  2299. you may set it to 0 (the default value).</doc>
  2300. <return-value transfer-ownership="none">
  2301. <type name="none" c:type="void"/>
  2302. </return-value>
  2303. <parameters>
  2304. <instance-parameter name="prof" transfer-ownership="none">
  2305. <doc xml:space="preserve">a #GstEncodingVideoProfile</doc>
  2306. <type name="EncodingVideoProfile"
  2307. c:type="GstEncodingVideoProfile*"/>
  2308. </instance-parameter>
  2309. <parameter name="pass" transfer-ownership="none">
  2310. <doc xml:space="preserve">the pass number for this profile</doc>
  2311. <type name="guint" c:type="guint"/>
  2312. </parameter>
  2313. </parameters>
  2314. </method>
  2315. <method name="set_variableframerate"
  2316. c:identifier="gst_encoding_video_profile_set_variableframerate">
  2317. <doc xml:space="preserve">If set to %TRUE, then the incoming stream will be allowed to have non-constant
  2318. framerate. If set to %FALSE (default value), then the incoming stream will
  2319. be normalized by dropping/duplicating frames in order to produce a
  2320. constance framerate.</doc>
  2321. <return-value transfer-ownership="none">
  2322. <type name="none" c:type="void"/>
  2323. </return-value>
  2324. <parameters>
  2325. <instance-parameter name="prof" transfer-ownership="none">
  2326. <doc xml:space="preserve">a #GstEncodingVideoProfile</doc>
  2327. <type name="EncodingVideoProfile"
  2328. c:type="GstEncodingVideoProfile*"/>
  2329. </instance-parameter>
  2330. <parameter name="variableframerate" transfer-ownership="none">
  2331. <doc xml:space="preserve">a boolean</doc>
  2332. <type name="gboolean" c:type="gboolean"/>
  2333. </parameter>
  2334. </parameters>
  2335. </method>
  2336. </class>
  2337. <record name="EncodingVideoProfileClass"
  2338. c:type="GstEncodingVideoProfileClass"
  2339. disguised="1"
  2340. glib:is-gtype-struct-for="EncodingVideoProfile">
  2341. </record>
  2342. <record name="InstallPluginsContext"
  2343. c:type="GstInstallPluginsContext"
  2344. glib:type-name="GstInstallPluginsContext"
  2345. glib:get-type="gst_install_plugins_context_get_type"
  2346. c:symbol-prefix="install_plugins_context">
  2347. <doc xml:space="preserve">Opaque context structure for the plugin installation. Use the provided
  2348. API to set details on it.</doc>
  2349. <constructor name="new" c:identifier="gst_install_plugins_context_new">
  2350. <doc xml:space="preserve">Creates a new #GstInstallPluginsContext.</doc>
  2351. <return-value transfer-ownership="full">
  2352. <doc xml:space="preserve">a new #GstInstallPluginsContext. Free with
  2353. gst_install_plugins_context_free() when no longer needed</doc>
  2354. <type name="InstallPluginsContext"
  2355. c:type="GstInstallPluginsContext*"/>
  2356. </return-value>
  2357. </constructor>
  2358. <method name="free" c:identifier="gst_install_plugins_context_free">
  2359. <doc xml:space="preserve">Frees a #GstInstallPluginsContext.</doc>
  2360. <return-value transfer-ownership="none">
  2361. <type name="none" c:type="void"/>
  2362. </return-value>
  2363. <parameters>
  2364. <instance-parameter name="ctx" transfer-ownership="none">
  2365. <doc xml:space="preserve">a #GstInstallPluginsContext</doc>
  2366. <type name="InstallPluginsContext"
  2367. c:type="GstInstallPluginsContext*"/>
  2368. </instance-parameter>
  2369. </parameters>
  2370. </method>
  2371. <method name="set_confirm_search"
  2372. c:identifier="gst_install_plugins_context_set_confirm_search"
  2373. version="1.6">
  2374. <doc xml:space="preserve">This function is used to tell the external installer process whether it
  2375. should ask for confirmation or not before searching for missing plugins.
  2376. If set, this option will be passed to the installer via a
  2377. --interaction=[show-confirm-search|hide-confirm-search] command line option.</doc>
  2378. <return-value transfer-ownership="none">
  2379. <type name="none" c:type="void"/>
  2380. </return-value>
  2381. <parameters>
  2382. <instance-parameter name="ctx" transfer-ownership="none">
  2383. <doc xml:space="preserve">a #GstInstallPluginsContext</doc>
  2384. <type name="InstallPluginsContext"
  2385. c:type="GstInstallPluginsContext*"/>
  2386. </instance-parameter>
  2387. <parameter name="confirm_search" transfer-ownership="none">
  2388. <doc xml:space="preserve">whether to ask for confirmation before searching for plugins</doc>
  2389. <type name="gboolean" c:type="gboolean"/>
  2390. </parameter>
  2391. </parameters>
  2392. </method>
  2393. <method name="set_desktop_id"
  2394. c:identifier="gst_install_plugins_context_set_desktop_id"
  2395. version="1.6">
  2396. <doc xml:space="preserve">This function is used to pass the calling application's desktop file ID to
  2397. the external installer process.
  2398. A desktop file ID is the basename of the desktop file, including the
  2399. .desktop extension.
  2400. If set, the desktop file ID will be passed to the installer via a
  2401. --desktop-id= command line option.</doc>
  2402. <return-value transfer-ownership="none">
  2403. <type name="none" c:type="void"/>
  2404. </return-value>
  2405. <parameters>
  2406. <instance-parameter name="ctx" transfer-ownership="none">
  2407. <doc xml:space="preserve">a #GstInstallPluginsContext</doc>
  2408. <type name="InstallPluginsContext"
  2409. c:type="GstInstallPluginsContext*"/>
  2410. </instance-parameter>
  2411. <parameter name="desktop_id" transfer-ownership="none">
  2412. <doc xml:space="preserve">the desktop file ID of the calling application</doc>
  2413. <type name="utf8" c:type="const gchar*"/>
  2414. </parameter>
  2415. </parameters>
  2416. </method>
  2417. <method name="set_startup_notification_id"
  2418. c:identifier="gst_install_plugins_context_set_startup_notification_id"
  2419. version="1.6">
  2420. <doc xml:space="preserve">Sets the startup notification ID for the launched process.
  2421. This is typically used to to pass the current X11 event timestamp to the
  2422. external installer process.
  2423. Startup notification IDs are defined in the
  2424. [FreeDesktop.Org Startup Notifications standard](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt).
  2425. If set, the ID will be passed to the installer via a
  2426. --startup-notification-id= command line option.
  2427. GTK+/GNOME applications should be able to create a startup notification ID
  2428. like this:
  2429. &lt;programlisting&gt;
  2430. timestamp = gtk_get_current_event_time ();
  2431. startup_id = g_strdup_printf ("_TIME%u", timestamp);
  2432. ...
  2433. &lt;/programlisting&gt;</doc>
  2434. <return-value transfer-ownership="none">
  2435. <type name="none" c:type="void"/>
  2436. </return-value>
  2437. <parameters>
  2438. <instance-parameter name="ctx" transfer-ownership="none">
  2439. <doc xml:space="preserve">a #GstInstallPluginsContext</doc>
  2440. <type name="InstallPluginsContext"
  2441. c:type="GstInstallPluginsContext*"/>
  2442. </instance-parameter>
  2443. <parameter name="startup_id" transfer-ownership="none">
  2444. <doc xml:space="preserve">the startup notification ID</doc>
  2445. <type name="utf8" c:type="const gchar*"/>
  2446. </parameter>
  2447. </parameters>
  2448. </method>
  2449. <method name="set_xid"
  2450. c:identifier="gst_install_plugins_context_set_xid">
  2451. <doc xml:space="preserve">This function is for X11-based applications (such as most Gtk/Qt
  2452. applications on linux/unix) only. You can use it to tell the external
  2453. installer the XID of your main application window. That way the installer
  2454. can make its own window transient to your application window during the
  2455. installation.
  2456. If set, the XID will be passed to the installer via a --transient-for=XID
  2457. command line option.
  2458. Gtk+/Gnome application should be able to obtain the XID of the top-level
  2459. window like this:
  2460. &lt;programlisting&gt;
  2461. ##include &amp;lt;gtk/gtk.h&amp;gt;
  2462. ##ifdef GDK_WINDOWING_X11
  2463. ##include &amp;lt;gdk/gdkx.h&amp;gt;
  2464. ##endif
  2465. ...
  2466. ##ifdef GDK_WINDOWING_X11
  2467. xid = GDK_WINDOW_XWINDOW (GTK_WIDGET (application_window)-&amp;gt;window);
  2468. ##endif
  2469. ...
  2470. &lt;/programlisting&gt;</doc>
  2471. <return-value transfer-ownership="none">
  2472. <type name="none" c:type="void"/>
  2473. </return-value>
  2474. <parameters>
  2475. <instance-parameter name="ctx" transfer-ownership="none">
  2476. <doc xml:space="preserve">a #GstInstallPluginsContext</doc>
  2477. <type name="InstallPluginsContext"
  2478. c:type="GstInstallPluginsContext*"/>
  2479. </instance-parameter>
  2480. <parameter name="xid" transfer-ownership="none">
  2481. <doc xml:space="preserve">the XWindow ID (XID) of the top-level application</doc>
  2482. <type name="guint" c:type="guint"/>
  2483. </parameter>
  2484. </parameters>
  2485. </method>
  2486. </record>
  2487. <callback name="InstallPluginsResultFunc"
  2488. c:type="GstInstallPluginsResultFunc">
  2489. <doc xml:space="preserve">The prototype of the callback function that will be called once the
  2490. external plugin installer program has returned. You only need to provide
  2491. a callback function if you are using the asynchronous interface.</doc>
  2492. <return-value transfer-ownership="none">
  2493. <type name="none" c:type="void"/>
  2494. </return-value>
  2495. <parameters>
  2496. <parameter name="result" transfer-ownership="none">
  2497. <doc xml:space="preserve">whether the installation of the requested plugins succeeded or not</doc>
  2498. <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
  2499. </parameter>
  2500. <parameter name="user_data"
  2501. transfer-ownership="none"
  2502. nullable="1"
  2503. allow-none="1"
  2504. closure="1">
  2505. <doc xml:space="preserve">the user data passed to gst_install_plugins_async()</doc>
  2506. <type name="gpointer" c:type="gpointer"/>
  2507. </parameter>
  2508. </parameters>
  2509. </callback>
  2510. <enumeration name="InstallPluginsReturn"
  2511. glib:type-name="GstInstallPluginsReturn"
  2512. glib:get-type="gst_install_plugins_return_get_type"
  2513. c:type="GstInstallPluginsReturn">
  2514. <doc xml:space="preserve">Result codes returned by gst_install_plugins_async() and
  2515. gst_install_plugins_sync(), and also the result code passed to the
  2516. #GstInstallPluginsResultFunc specified with gst_install_plugins_async().
  2517. These codes indicate success or failure of starting an external installer
  2518. program and to what extent the requested plugins could be installed.</doc>
  2519. <member name="success"
  2520. value="0"
  2521. c:identifier="GST_INSTALL_PLUGINS_SUCCESS"
  2522. glib:nick="success">
  2523. <doc xml:space="preserve">all of the requested plugins could be
  2524. installed</doc>
  2525. </member>
  2526. <member name="not_found"
  2527. value="1"
  2528. c:identifier="GST_INSTALL_PLUGINS_NOT_FOUND"
  2529. glib:nick="not-found">
  2530. <doc xml:space="preserve">no appropriate installation candidate for
  2531. any of the requested plugins could be found. Only return this if nothing
  2532. has been installed. Return #GST_INSTALL_PLUGINS_PARTIAL_SUCCESS if
  2533. some (but not all) of the requested plugins could be installed.</doc>
  2534. </member>
  2535. <member name="error"
  2536. value="2"
  2537. c:identifier="GST_INSTALL_PLUGINS_ERROR"
  2538. glib:nick="error">
  2539. <doc xml:space="preserve">an error occured during the installation. If
  2540. this happens, the user has already seen an error message and another
  2541. one should not be displayed</doc>
  2542. </member>
  2543. <member name="partial_success"
  2544. value="3"
  2545. c:identifier="GST_INSTALL_PLUGINS_PARTIAL_SUCCESS"
  2546. glib:nick="partial-success">
  2547. <doc xml:space="preserve">some of the requested plugins could
  2548. be installed, but not all</doc>
  2549. </member>
  2550. <member name="user_abort"
  2551. value="4"
  2552. c:identifier="GST_INSTALL_PLUGINS_USER_ABORT"
  2553. glib:nick="user-abort">
  2554. <doc xml:space="preserve">the user has aborted the installation</doc>
  2555. </member>
  2556. <member name="crashed"
  2557. value="100"
  2558. c:identifier="GST_INSTALL_PLUGINS_CRASHED"
  2559. glib:nick="crashed">
  2560. <doc xml:space="preserve">the installer had an unclean exit code
  2561. (ie. death by signal)</doc>
  2562. </member>
  2563. <member name="invalid"
  2564. value="101"
  2565. c:identifier="GST_INSTALL_PLUGINS_INVALID"
  2566. glib:nick="invalid">
  2567. <doc xml:space="preserve">the helper returned an invalid status code</doc>
  2568. </member>
  2569. <member name="started_ok"
  2570. value="200"
  2571. c:identifier="GST_INSTALL_PLUGINS_STARTED_OK"
  2572. glib:nick="started-ok">
  2573. <doc xml:space="preserve">returned by gst_install_plugins_async() to
  2574. indicate that everything went fine so far and the provided callback
  2575. will be called with the result of the installation later</doc>
  2576. </member>
  2577. <member name="internal_failure"
  2578. value="201"
  2579. c:identifier="GST_INSTALL_PLUGINS_INTERNAL_FAILURE"
  2580. glib:nick="internal-failure">
  2581. <doc xml:space="preserve">some internal failure has
  2582. occured when trying to start the installer</doc>
  2583. </member>
  2584. <member name="helper_missing"
  2585. value="202"
  2586. c:identifier="GST_INSTALL_PLUGINS_HELPER_MISSING"
  2587. glib:nick="helper-missing">
  2588. <doc xml:space="preserve">the helper script to call the
  2589. actual installer is not installed</doc>
  2590. </member>
  2591. <member name="install_in_progress"
  2592. value="203"
  2593. c:identifier="GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS"
  2594. glib:nick="install-in-progress">
  2595. <doc xml:space="preserve">a previously-started plugin
  2596. installation is still in progress, try again later</doc>
  2597. </member>
  2598. <function name="get_name"
  2599. c:identifier="gst_install_plugins_return_get_name">
  2600. <doc xml:space="preserve">Convenience function to return the descriptive string associated
  2601. with a status code. This function returns English strings and
  2602. should not be used for user messages. It is here only to assist
  2603. in debugging.</doc>
  2604. <return-value transfer-ownership="none">
  2605. <doc xml:space="preserve">a descriptive string for the status code in @ret</doc>
  2606. <type name="utf8" c:type="const gchar*"/>
  2607. </return-value>
  2608. <parameters>
  2609. <parameter name="ret" transfer-ownership="none">
  2610. <doc xml:space="preserve">the return status code</doc>
  2611. <type name="InstallPluginsReturn"
  2612. c:type="GstInstallPluginsReturn"/>
  2613. </parameter>
  2614. </parameters>
  2615. </function>
  2616. </enumeration>
  2617. <constant name="PLUGINS_BASE_VERSION_MAJOR"
  2618. value="1"
  2619. c:type="GST_PLUGINS_BASE_VERSION_MAJOR">
  2620. <doc xml:space="preserve">The major version of GStreamer's gst-plugins-base libraries at compile time.</doc>
  2621. <type name="gint" c:type="gint"/>
  2622. </constant>
  2623. <constant name="PLUGINS_BASE_VERSION_MICRO"
  2624. value="3"
  2625. c:type="GST_PLUGINS_BASE_VERSION_MICRO">
  2626. <doc xml:space="preserve">The micro version of GStreamer's gst-plugins-base libraries at compile time.</doc>
  2627. <type name="gint" c:type="gint"/>
  2628. </constant>
  2629. <constant name="PLUGINS_BASE_VERSION_MINOR"
  2630. value="8"
  2631. c:type="GST_PLUGINS_BASE_VERSION_MINOR">
  2632. <doc xml:space="preserve">The minor version of GStreamer's gst-plugins-base libraries at compile time.</doc>
  2633. <type name="gint" c:type="gint"/>
  2634. </constant>
  2635. <constant name="PLUGINS_BASE_VERSION_NANO"
  2636. value="0"
  2637. c:type="GST_PLUGINS_BASE_VERSION_NANO">
  2638. <doc xml:space="preserve">The nano version of GStreamer's gst-plugins-base libraries at compile time.
  2639. Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</doc>
  2640. <type name="gint" c:type="gint"/>
  2641. </constant>
  2642. <function name="codec_utils_aac_caps_set_level_and_profile"
  2643. c:identifier="gst_codec_utils_aac_caps_set_level_and_profile">
  2644. <doc xml:space="preserve">Sets the level and profile on @caps if it can be determined from
  2645. @audio_config. See gst_codec_utils_aac_get_level() and
  2646. gst_codec_utils_aac_get_profile() for more details on the parameters.
  2647. @caps must be audio/mpeg caps with an "mpegversion" field of either 2 or 4.
  2648. If mpegversion is 4, the "base-profile" field is also set in @caps.</doc>
  2649. <return-value transfer-ownership="none">
  2650. <doc xml:space="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
  2651. <type name="gboolean" c:type="gboolean"/>
  2652. </return-value>
  2653. <parameters>
  2654. <parameter name="caps" transfer-ownership="none">
  2655. <doc xml:space="preserve">the #GstCaps to which level and profile fields are to be added</doc>
  2656. <type name="Gst.Caps" c:type="GstCaps*"/>
  2657. </parameter>
  2658. <parameter name="audio_config" transfer-ownership="none">
  2659. <doc xml:space="preserve">a pointer to the AudioSpecificConfig as specified in the
  2660. Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see
  2661. below for a more details).</doc>
  2662. <type name="guint8" c:type="const guint8*"/>
  2663. </parameter>
  2664. <parameter name="len" transfer-ownership="none">
  2665. <doc xml:space="preserve">Length of @audio_config in bytes</doc>
  2666. <type name="guint" c:type="guint"/>
  2667. </parameter>
  2668. </parameters>
  2669. </function>
  2670. <function name="codec_utils_aac_get_index_from_sample_rate"
  2671. c:identifier="gst_codec_utils_aac_get_index_from_sample_rate">
  2672. <doc xml:space="preserve">Translates the sample rate to the index corresponding to it in AAC spec.</doc>
  2673. <return-value transfer-ownership="none">
  2674. <doc xml:space="preserve">The AAC index for this sample rate, -1 if the rate is not a
  2675. valid AAC sample rate.</doc>
  2676. <type name="gint" c:type="gint"/>
  2677. </return-value>
  2678. <parameters>
  2679. <parameter name="rate" transfer-ownership="none">
  2680. <doc xml:space="preserve">Sample rate</doc>
  2681. <type name="guint" c:type="guint"/>
  2682. </parameter>
  2683. </parameters>
  2684. </function>
  2685. <function name="codec_utils_aac_get_level"
  2686. c:identifier="gst_codec_utils_aac_get_level">
  2687. <doc xml:space="preserve">Determines the level of a stream as defined in ISO/IEC 14496-3. For AAC LC
  2688. streams, the constraints from the AAC audio profile are applied. For AAC
  2689. Main, LTP, SSR and others, the Main profile is used.
  2690. The @audio_config parameter follows the following format, starting from the
  2691. most significant bit of the first byte:
  2692. &lt;itemizedlist&gt;
  2693. &lt;listitem&gt;&lt;para&gt;
  2694. Bit 0:4 contains the AudioObjectType
  2695. &lt;/para&gt;&lt;/listitem&gt;
  2696. &lt;listitem&gt;&lt;para&gt;
  2697. Bit 5:8 contains the sample frequency index (if this is 0xf, then the
  2698. next 24 bits define the actual sample frequency, and subsequent
  2699. fields are appropriately shifted).
  2700. &lt;/para&gt;&lt;/listitem&gt;
  2701. &lt;listitem&gt;&lt;para&gt;
  2702. Bit 9:12 contains the channel configuration
  2703. &lt;/para&gt;&lt;/listitem&gt;
  2704. &lt;/itemizedlist&gt;
  2705. &lt;note&gt;
  2706. HE-AAC support has not yet been implemented.
  2707. &lt;/note&gt;</doc>
  2708. <return-value transfer-ownership="none">
  2709. <doc xml:space="preserve">The level as a const string and %NULL if the level could not be
  2710. determined.</doc>
  2711. <type name="utf8" c:type="const gchar*"/>
  2712. </return-value>
  2713. <parameters>
  2714. <parameter name="audio_config" transfer-ownership="none">
  2715. <doc xml:space="preserve">a pointer to the AudioSpecificConfig as specified in the
  2716. Elementary Stream Descriptor (esds) in ISO/IEC 14496-1.</doc>
  2717. <type name="guint8" c:type="const guint8*"/>
  2718. </parameter>
  2719. <parameter name="len" transfer-ownership="none">
  2720. <doc xml:space="preserve">Length of @audio_config in bytes</doc>
  2721. <type name="guint" c:type="guint"/>
  2722. </parameter>
  2723. </parameters>
  2724. </function>
  2725. <function name="codec_utils_aac_get_profile"
  2726. c:identifier="gst_codec_utils_aac_get_profile">
  2727. <doc xml:space="preserve">Returns the profile of the given AAC stream as a string. The profile is
  2728. determined using the AudioObjectType field which is in the first 5 bits of
  2729. @audio_config.
  2730. &lt;note&gt;
  2731. HE-AAC support has not yet been implemented.
  2732. &lt;/note&gt;</doc>
  2733. <return-value transfer-ownership="none">
  2734. <doc xml:space="preserve">The profile as a const string and %NULL if the profile could not be
  2735. determined.</doc>
  2736. <type name="utf8" c:type="const gchar*"/>
  2737. </return-value>
  2738. <parameters>
  2739. <parameter name="audio_config" transfer-ownership="none">
  2740. <doc xml:space="preserve">a pointer to the AudioSpecificConfig as specified in the
  2741. Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see
  2742. gst_codec_utils_aac_get_level() for a more details).</doc>
  2743. <type name="guint8" c:type="const guint8*"/>
  2744. </parameter>
  2745. <parameter name="len" transfer-ownership="none">
  2746. <doc xml:space="preserve">Length of @audio_config in bytes</doc>
  2747. <type name="guint" c:type="guint"/>
  2748. </parameter>
  2749. </parameters>
  2750. </function>
  2751. <function name="codec_utils_aac_get_sample_rate_from_index"
  2752. c:identifier="gst_codec_utils_aac_get_sample_rate_from_index">
  2753. <doc xml:space="preserve">Translates the sample rate index found in AAC headers to the actual sample
  2754. rate.</doc>
  2755. <return-value transfer-ownership="none">
  2756. <doc xml:space="preserve">The sample rate if @sr_idx is valid, 0 otherwise.</doc>
  2757. <type name="guint" c:type="guint"/>
  2758. </return-value>
  2759. <parameters>
  2760. <parameter name="sr_idx" transfer-ownership="none">
  2761. <doc xml:space="preserve">Sample rate index as from the AudioSpecificConfig (MPEG-4
  2762. container) or ADTS frame header</doc>
  2763. <type name="guint" c:type="guint"/>
  2764. </parameter>
  2765. </parameters>
  2766. </function>
  2767. <function name="codec_utils_h264_caps_set_level_and_profile"
  2768. c:identifier="gst_codec_utils_h264_caps_set_level_and_profile">
  2769. <doc xml:space="preserve">Sets the level and profile in @caps if it can be determined from @sps. See
  2770. gst_codec_utils_h264_get_level() and gst_codec_utils_h264_get_profile()
  2771. for more details on the parameters.</doc>
  2772. <return-value transfer-ownership="none">
  2773. <doc xml:space="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
  2774. <type name="gboolean" c:type="gboolean"/>
  2775. </return-value>
  2776. <parameters>
  2777. <parameter name="caps" transfer-ownership="none">
  2778. <doc xml:space="preserve">the #GstCaps to which the level and profile are to be added</doc>
  2779. <type name="Gst.Caps" c:type="GstCaps*"/>
  2780. </parameter>
  2781. <parameter name="sps" transfer-ownership="none">
  2782. <doc xml:space="preserve">Pointer to the sequence parameter set for the stream.</doc>
  2783. <type name="guint8" c:type="const guint8*"/>
  2784. </parameter>
  2785. <parameter name="len" transfer-ownership="none">
  2786. <doc xml:space="preserve">Length of the data available in @sps.</doc>
  2787. <type name="guint" c:type="guint"/>
  2788. </parameter>
  2789. </parameters>
  2790. </function>
  2791. <function name="codec_utils_h264_get_level"
  2792. c:identifier="gst_codec_utils_h264_get_level">
  2793. <doc xml:space="preserve">Converts the level indication (level_idc) in the stream's
  2794. sequence parameter set into a string. The SPS is expected to have the
  2795. same format as for gst_codec_utils_h264_get_profile().</doc>
  2796. <return-value transfer-ownership="none">
  2797. <doc xml:space="preserve">The level as a const string, or %NULL if there is an error.</doc>
  2798. <type name="utf8" c:type="const gchar*"/>
  2799. </return-value>
  2800. <parameters>
  2801. <parameter name="sps" transfer-ownership="none">
  2802. <doc xml:space="preserve">Pointer to the sequence parameter set for the stream.</doc>
  2803. <type name="guint8" c:type="const guint8*"/>
  2804. </parameter>
  2805. <parameter name="len" transfer-ownership="none">
  2806. <doc xml:space="preserve">Length of the data available in @sps.</doc>
  2807. <type name="guint" c:type="guint"/>
  2808. </parameter>
  2809. </parameters>
  2810. </function>
  2811. <function name="codec_utils_h264_get_level_idc"
  2812. c:identifier="gst_codec_utils_h264_get_level_idc">
  2813. <doc xml:space="preserve">Transform a level string from the caps into the level_idc</doc>
  2814. <return-value transfer-ownership="none">
  2815. <doc xml:space="preserve">the level_idc or 0 if the level is unknown</doc>
  2816. <type name="guint8" c:type="guint8"/>
  2817. </return-value>
  2818. <parameters>
  2819. <parameter name="level" transfer-ownership="none">
  2820. <doc xml:space="preserve">A level string from caps</doc>
  2821. <type name="utf8" c:type="const gchar*"/>
  2822. </parameter>
  2823. </parameters>
  2824. </function>
  2825. <function name="codec_utils_h264_get_profile"
  2826. c:identifier="gst_codec_utils_h264_get_profile">
  2827. <doc xml:space="preserve">Converts the profile indication (profile_idc) in the stream's
  2828. sequence parameter set into a string. The SPS is expected to have the
  2829. following format, as defined in the H.264 specification. The SPS is viewed
  2830. as a bitstream here, with bit 0 being the most significant bit of the first
  2831. byte.
  2832. &lt;itemizedlist&gt;
  2833. &lt;listitem&gt;&lt;para&gt;Bit 0:7 - Profile indication&lt;/para&gt;&lt;/listitem&gt;
  2834. &lt;listitem&gt;&lt;para&gt;Bit 8 - constraint_set0_flag&lt;/para&gt;&lt;/listitem&gt;
  2835. &lt;listitem&gt;&lt;para&gt;Bit 9 - constraint_set1_flag&lt;/para&gt;&lt;/listitem&gt;
  2836. &lt;listitem&gt;&lt;para&gt;Bit 10 - constraint_set2_flag&lt;/para&gt;&lt;/listitem&gt;
  2837. &lt;listitem&gt;&lt;para&gt;Bit 11 - constraint_set3_flag&lt;/para&gt;&lt;/listitem&gt;
  2838. &lt;listitem&gt;&lt;para&gt;Bit 12 - constraint_set3_flag&lt;/para&gt;&lt;/listitem&gt;
  2839. &lt;listitem&gt;&lt;para&gt;Bit 13:15 - Reserved&lt;/para&gt;&lt;/listitem&gt;
  2840. &lt;listitem&gt;&lt;para&gt;Bit 16:24 - Level indication&lt;/para&gt;&lt;/listitem&gt;
  2841. &lt;/itemizedlist&gt;</doc>
  2842. <return-value transfer-ownership="none">
  2843. <doc xml:space="preserve">The profile as a const string, or %NULL if there is an error.</doc>
  2844. <type name="utf8" c:type="const gchar*"/>
  2845. </return-value>
  2846. <parameters>
  2847. <parameter name="sps" transfer-ownership="none">
  2848. <doc xml:space="preserve">Pointer to the sequence parameter set for the stream.</doc>
  2849. <type name="guint8" c:type="const guint8*"/>
  2850. </parameter>
  2851. <parameter name="len" transfer-ownership="none">
  2852. <doc xml:space="preserve">Length of the data available in @sps.</doc>
  2853. <type name="guint" c:type="guint"/>
  2854. </parameter>
  2855. </parameters>
  2856. </function>
  2857. <function name="codec_utils_h265_caps_set_level_tier_and_profile"
  2858. c:identifier="gst_codec_utils_h265_caps_set_level_tier_and_profile">
  2859. <doc xml:space="preserve">Sets the level, tier and profile in @caps if it can be determined from
  2860. @profile_tier_level. See gst_codec_utils_h265_get_level(),
  2861. gst_codec_utils_h265_get_tier() and gst_codec_utils_h265_get_profile()
  2862. for more details on the parameters.</doc>
  2863. <return-value transfer-ownership="none">
  2864. <doc xml:space="preserve">%TRUE if the level, tier, profile could be set, %FALSE otherwise.
  2865. Since 1.4</doc>
  2866. <type name="gboolean" c:type="gboolean"/>
  2867. </return-value>
  2868. <parameters>
  2869. <parameter name="caps" transfer-ownership="none">
  2870. <doc xml:space="preserve">the #GstCaps to which the level, tier and profile are to be added</doc>
  2871. <type name="Gst.Caps" c:type="GstCaps*"/>
  2872. </parameter>
  2873. <parameter name="profile_tier_level" transfer-ownership="none">
  2874. <doc xml:space="preserve">Pointer to the profile_tier_level struct</doc>
  2875. <type name="guint8" c:type="const guint8*"/>
  2876. </parameter>
  2877. <parameter name="len" transfer-ownership="none">
  2878. <doc xml:space="preserve">Length of the data available in @profile_tier_level.</doc>
  2879. <type name="guint" c:type="guint"/>
  2880. </parameter>
  2881. </parameters>
  2882. </function>
  2883. <function name="codec_utils_h265_get_level"
  2884. c:identifier="gst_codec_utils_h265_get_level">
  2885. <doc xml:space="preserve">Converts the level indication (general_level_idc) in the stream's
  2886. profile_tier_level structure into a string. The profiel_tier_level is
  2887. expected to have the same format as for gst_codec_utils_h264_get_profile().</doc>
  2888. <return-value transfer-ownership="none">
  2889. <doc xml:space="preserve">The level as a const string, or %NULL if there is an error.
  2890. Since 1.4</doc>
  2891. <type name="utf8" c:type="const gchar*"/>
  2892. </return-value>
  2893. <parameters>
  2894. <parameter name="profile_tier_level" transfer-ownership="none">
  2895. <doc xml:space="preserve">Pointer to the profile_tier_level structure
  2896. for the stream</doc>
  2897. <type name="guint8" c:type="const guint8*"/>
  2898. </parameter>
  2899. <parameter name="len" transfer-ownership="none">
  2900. <doc xml:space="preserve">Length of the data available in @profile_tier_level.</doc>
  2901. <type name="guint" c:type="guint"/>
  2902. </parameter>
  2903. </parameters>
  2904. </function>
  2905. <function name="codec_utils_h265_get_level_idc"
  2906. c:identifier="gst_codec_utils_h265_get_level_idc">
  2907. <doc xml:space="preserve">Transform a level string from the caps into the level_idc</doc>
  2908. <return-value transfer-ownership="none">
  2909. <doc xml:space="preserve">the level_idc or 0 if the level is unknown
  2910. Since 1.4</doc>
  2911. <type name="guint8" c:type="guint8"/>
  2912. </return-value>
  2913. <parameters>
  2914. <parameter name="level" transfer-ownership="none">
  2915. <doc xml:space="preserve">A level string from caps</doc>
  2916. <type name="utf8" c:type="const gchar*"/>
  2917. </parameter>
  2918. </parameters>
  2919. </function>
  2920. <function name="codec_utils_h265_get_profile"
  2921. c:identifier="gst_codec_utils_h265_get_profile">
  2922. <doc xml:space="preserve">Converts the profile indication (general_profile_idc) in the stream's
  2923. profile_level_tier structure into a string. The profile_tier_level is
  2924. expected to have the following format, as defined in the H.265
  2925. specification. The profile_tier_level is viewed as a bitstream here,
  2926. with bit 0 being the most significant bit of the first byte.
  2927. &lt;itemizedlist&gt;
  2928. &lt;listitem&gt;&lt;para&gt;Bit 0:1 - general_profile_space&lt;/para&gt;&lt;/listitem&gt;
  2929. &lt;listitem&gt;&lt;para&gt;Bit 2 - general_tier_flag&lt;/para&gt;&lt;/listitem&gt;
  2930. &lt;listitem&gt;&lt;para&gt;Bit 3:7 - general_profile_idc&lt;/para&gt;&lt;/listitem&gt;
  2931. &lt;listitem&gt;&lt;para&gt;Bit 8:39 - gernal_profile_compatibility_flags&lt;/para&gt;&lt;/listitem&gt;
  2932. &lt;listitem&gt;&lt;para&gt;Bit 40 - general_progressive_source_flag&lt;/para&gt;&lt;/listitem&gt;
  2933. &lt;listitem&gt;&lt;para&gt;Bit 41 - general_interlaced_source_flag&lt;/para&gt;&lt;/listitem&gt;
  2934. &lt;listitem&gt;&lt;para&gt;Bit 42 - general_non_packed_constraint_flag&lt;/para&gt;&lt;/listitem&gt;
  2935. &lt;listitem&gt;&lt;para&gt;Bit 43 - general_frame_only_constraint_flag&lt;/para&gt;&lt;/listitem&gt;
  2936. &lt;listitem&gt;&lt;para&gt;Bit 44:87 - general_reserved_zero_44bits&lt;/para&gt;&lt;/listitem&gt;
  2937. &lt;listitem&gt;&lt;para&gt;Bit 88:95 - general_level_idc&lt;/para&gt;&lt;/listitem&gt;
  2938. &lt;/itemizedlist&gt;</doc>
  2939. <return-value transfer-ownership="none">
  2940. <doc xml:space="preserve">The profile as a const string, or %NULL if there is an error.
  2941. Since 1.4</doc>
  2942. <type name="utf8" c:type="const gchar*"/>
  2943. </return-value>
  2944. <parameters>
  2945. <parameter name="profile_tier_level" transfer-ownership="none">
  2946. <doc xml:space="preserve">Pointer to the profile_tier_level
  2947. structure for the stream.</doc>
  2948. <type name="guint8" c:type="const guint8*"/>
  2949. </parameter>
  2950. <parameter name="len" transfer-ownership="none">
  2951. <doc xml:space="preserve">Length of the data available in @profile_tier_level</doc>
  2952. <type name="guint" c:type="guint"/>
  2953. </parameter>
  2954. </parameters>
  2955. </function>
  2956. <function name="codec_utils_h265_get_tier"
  2957. c:identifier="gst_codec_utils_h265_get_tier">
  2958. <doc xml:space="preserve">Converts the tier indication (general_tier_flag) in the stream's
  2959. profile_tier_level structure into a string. The profile_tier_level
  2960. is expected to have the same format as for gst_codec_utils_h264_get_profile().</doc>
  2961. <return-value transfer-ownership="none">
  2962. <doc xml:space="preserve">The tier as a const string, or %NULL if there is an error.
  2963. Since 1.4</doc>
  2964. <type name="utf8" c:type="const gchar*"/>
  2965. </return-value>
  2966. <parameters>
  2967. <parameter name="profile_tier_level" transfer-ownership="none">
  2968. <doc xml:space="preserve">Pointer to the profile_tier_level structure
  2969. for the stream.</doc>
  2970. <type name="guint8" c:type="const guint8*"/>
  2971. </parameter>
  2972. <parameter name="len" transfer-ownership="none">
  2973. <doc xml:space="preserve">Length of the data available in @profile_tier_level.</doc>
  2974. <type name="guint" c:type="guint"/>
  2975. </parameter>
  2976. </parameters>
  2977. </function>
  2978. <function name="codec_utils_mpeg4video_caps_set_level_and_profile"
  2979. c:identifier="gst_codec_utils_mpeg4video_caps_set_level_and_profile">
  2980. <doc xml:space="preserve">Sets the level and profile in @caps if it can be determined from
  2981. @vis_obj_seq. See gst_codec_utils_mpeg4video_get_level() and
  2982. gst_codec_utils_mpeg4video_get_profile() for more details on the
  2983. parameters.</doc>
  2984. <return-value transfer-ownership="none">
  2985. <doc xml:space="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
  2986. <type name="gboolean" c:type="gboolean"/>
  2987. </return-value>
  2988. <parameters>
  2989. <parameter name="caps" transfer-ownership="none">
  2990. <doc xml:space="preserve">the #GstCaps to which the level and profile are to be added</doc>
  2991. <type name="Gst.Caps" c:type="GstCaps*"/>
  2992. </parameter>
  2993. <parameter name="vis_obj_seq" transfer-ownership="none">
  2994. <doc xml:space="preserve">Pointer to the visual object sequence for the stream.</doc>
  2995. <type name="guint8" c:type="const guint8*"/>
  2996. </parameter>
  2997. <parameter name="len" transfer-ownership="none">
  2998. <doc xml:space="preserve">Length of the data available in @sps.</doc>
  2999. <type name="guint" c:type="guint"/>
  3000. </parameter>
  3001. </parameters>
  3002. </function>
  3003. <function name="codec_utils_mpeg4video_get_level"
  3004. c:identifier="gst_codec_utils_mpeg4video_get_level">
  3005. <doc xml:space="preserve">Converts the level indication in the stream's visual object sequence into
  3006. a string. @vis_obj_seq is expected to be the data following the visual
  3007. object sequence start code. Only the first byte
  3008. (profile_and_level_indication) is used.</doc>
  3009. <return-value transfer-ownership="none">
  3010. <doc xml:space="preserve">The level as a const string, or NULL if there is an error.</doc>
  3011. <type name="utf8" c:type="const gchar*"/>
  3012. </return-value>
  3013. <parameters>
  3014. <parameter name="vis_obj_seq" transfer-ownership="none">
  3015. <doc xml:space="preserve">Pointer to the visual object sequence for the stream.</doc>
  3016. <type name="guint8" c:type="const guint8*"/>
  3017. </parameter>
  3018. <parameter name="len" transfer-ownership="none">
  3019. <doc xml:space="preserve">Length of the data available in @sps.</doc>
  3020. <type name="guint" c:type="guint"/>
  3021. </parameter>
  3022. </parameters>
  3023. </function>
  3024. <function name="codec_utils_mpeg4video_get_profile"
  3025. c:identifier="gst_codec_utils_mpeg4video_get_profile">
  3026. <doc xml:space="preserve">Converts the profile indication in the stream's visual object sequence into
  3027. a string. @vis_obj_seq is expected to be the data following the visual
  3028. object sequence start code. Only the first byte
  3029. (profile_and_level_indication) is used.</doc>
  3030. <return-value transfer-ownership="none">
  3031. <doc xml:space="preserve">The profile as a const string, or NULL if there is an error.</doc>
  3032. <type name="utf8" c:type="const gchar*"/>
  3033. </return-value>
  3034. <parameters>
  3035. <parameter name="vis_obj_seq" transfer-ownership="none">
  3036. <doc xml:space="preserve">Pointer to the visual object sequence for the stream.</doc>
  3037. <type name="guint8" c:type="const guint8*"/>
  3038. </parameter>
  3039. <parameter name="len" transfer-ownership="none">
  3040. <doc xml:space="preserve">Length of the data available in @sps.</doc>
  3041. <type name="guint" c:type="guint"/>
  3042. </parameter>
  3043. </parameters>
  3044. </function>
  3045. <function name="codec_utils_opus_create_caps"
  3046. c:identifier="gst_codec_utils_opus_create_caps"
  3047. version="1.8">
  3048. <doc xml:space="preserve">Creates Opus caps from the given parameters.</doc>
  3049. <return-value transfer-ownership="full">
  3050. <doc xml:space="preserve">The #GstCaps.</doc>
  3051. <type name="Gst.Caps" c:type="GstCaps*"/>
  3052. </return-value>
  3053. <parameters>
  3054. <parameter name="rate" transfer-ownership="none">
  3055. <doc xml:space="preserve">the sample rate</doc>
  3056. <type name="guint32" c:type="guint32"/>
  3057. </parameter>
  3058. <parameter name="channels" transfer-ownership="none">
  3059. <doc xml:space="preserve">the number of channels</doc>
  3060. <type name="guint8" c:type="guint8"/>
  3061. </parameter>
  3062. <parameter name="channel_mapping_family" transfer-ownership="none">
  3063. <doc xml:space="preserve">the channel mapping family</doc>
  3064. <type name="guint8" c:type="guint8"/>
  3065. </parameter>
  3066. <parameter name="stream_count" transfer-ownership="none">
  3067. <doc xml:space="preserve">the number of independent streams</doc>
  3068. <type name="guint8" c:type="guint8"/>
  3069. </parameter>
  3070. <parameter name="coupled_count" transfer-ownership="none">
  3071. <doc xml:space="preserve">the number of stereo streams</doc>
  3072. <type name="guint8" c:type="guint8"/>
  3073. </parameter>
  3074. <parameter name="channel_mapping"
  3075. transfer-ownership="none"
  3076. nullable="1"
  3077. allow-none="1">
  3078. <doc xml:space="preserve">the mapping between the streams</doc>
  3079. <type name="guint8" c:type="const guint8*"/>
  3080. </parameter>
  3081. </parameters>
  3082. </function>
  3083. <function name="codec_utils_opus_create_caps_from_header"
  3084. c:identifier="gst_codec_utils_opus_create_caps_from_header"
  3085. version="1.8">
  3086. <doc xml:space="preserve">Creates Opus caps from the given OpusHead @header and comment header
  3087. @comments.</doc>
  3088. <return-value transfer-ownership="full">
  3089. <doc xml:space="preserve">The #GstCaps.</doc>
  3090. <type name="Gst.Caps" c:type="GstCaps*"/>
  3091. </return-value>
  3092. <parameters>
  3093. <parameter name="header" transfer-ownership="none">
  3094. <doc xml:space="preserve">OpusHead header</doc>
  3095. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3096. </parameter>
  3097. <parameter name="comments"
  3098. transfer-ownership="none"
  3099. nullable="1"
  3100. allow-none="1">
  3101. <doc xml:space="preserve">Comment header or NULL</doc>
  3102. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3103. </parameter>
  3104. </parameters>
  3105. </function>
  3106. <function name="codec_utils_opus_create_header"
  3107. c:identifier="gst_codec_utils_opus_create_header"
  3108. version="1.8">
  3109. <doc xml:space="preserve">Creates OpusHead header from the given parameters.</doc>
  3110. <return-value transfer-ownership="full">
  3111. <doc xml:space="preserve">The #GstBuffer containing the OpusHead.</doc>
  3112. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3113. </return-value>
  3114. <parameters>
  3115. <parameter name="rate" transfer-ownership="none">
  3116. <doc xml:space="preserve">the sample rate</doc>
  3117. <type name="guint32" c:type="guint32"/>
  3118. </parameter>
  3119. <parameter name="channels" transfer-ownership="none">
  3120. <doc xml:space="preserve">the number of channels</doc>
  3121. <type name="guint8" c:type="guint8"/>
  3122. </parameter>
  3123. <parameter name="channel_mapping_family" transfer-ownership="none">
  3124. <doc xml:space="preserve">the channel mapping family</doc>
  3125. <type name="guint8" c:type="guint8"/>
  3126. </parameter>
  3127. <parameter name="stream_count" transfer-ownership="none">
  3128. <doc xml:space="preserve">the number of independent streams</doc>
  3129. <type name="guint8" c:type="guint8"/>
  3130. </parameter>
  3131. <parameter name="coupled_count" transfer-ownership="none">
  3132. <doc xml:space="preserve">the number of stereo streams</doc>
  3133. <type name="guint8" c:type="guint8"/>
  3134. </parameter>
  3135. <parameter name="channel_mapping"
  3136. transfer-ownership="none"
  3137. nullable="1"
  3138. allow-none="1">
  3139. <doc xml:space="preserve">the mapping between the streams</doc>
  3140. <type name="guint8" c:type="const guint8*"/>
  3141. </parameter>
  3142. <parameter name="pre_skip" transfer-ownership="none">
  3143. <doc xml:space="preserve">Pre-skip in 48kHz samples or 0</doc>
  3144. <type name="guint16" c:type="guint16"/>
  3145. </parameter>
  3146. <parameter name="output_gain" transfer-ownership="none">
  3147. <doc xml:space="preserve">Output gain or 0</doc>
  3148. <type name="gint16" c:type="gint16"/>
  3149. </parameter>
  3150. </parameters>
  3151. </function>
  3152. <function name="codec_utils_opus_parse_caps"
  3153. c:identifier="gst_codec_utils_opus_parse_caps"
  3154. version="1.8">
  3155. <doc xml:space="preserve">Parses Opus caps and fills the different fields with defaults if possible.</doc>
  3156. <return-value transfer-ownership="none">
  3157. <doc xml:space="preserve">%TRUE if parsing was successful, %FALSE otherwise.</doc>
  3158. <type name="gboolean" c:type="gboolean"/>
  3159. </return-value>
  3160. <parameters>
  3161. <parameter name="caps" transfer-ownership="none">
  3162. <doc xml:space="preserve">the #GstCaps to which the level and profile are to be added</doc>
  3163. <type name="Gst.Caps" c:type="GstCaps*"/>
  3164. </parameter>
  3165. <parameter name="rate" transfer-ownership="none">
  3166. <doc xml:space="preserve">the sample rate</doc>
  3167. <type name="guint32" c:type="guint32*"/>
  3168. </parameter>
  3169. <parameter name="channels" transfer-ownership="none">
  3170. <doc xml:space="preserve">the number of channels</doc>
  3171. <type name="guint8" c:type="guint8*"/>
  3172. </parameter>
  3173. <parameter name="channel_mapping_family" transfer-ownership="none">
  3174. <doc xml:space="preserve">the channel mapping family</doc>
  3175. <type name="guint8" c:type="guint8*"/>
  3176. </parameter>
  3177. <parameter name="stream_count" transfer-ownership="none">
  3178. <doc xml:space="preserve">the number of independent streams</doc>
  3179. <type name="guint8" c:type="guint8*"/>
  3180. </parameter>
  3181. <parameter name="coupled_count" transfer-ownership="none">
  3182. <doc xml:space="preserve">the number of stereo streams</doc>
  3183. <type name="guint8" c:type="guint8*"/>
  3184. </parameter>
  3185. <parameter name="channel_mapping" transfer-ownership="none">
  3186. <doc xml:space="preserve">the mapping between the streams</doc>
  3187. <type name="guint8" c:type="guint8"/>
  3188. </parameter>
  3189. </parameters>
  3190. </function>
  3191. <function name="codec_utils_opus_parse_header"
  3192. c:identifier="gst_codec_utils_opus_parse_header"
  3193. version="1.8">
  3194. <doc xml:space="preserve">Parses the OpusHead header.</doc>
  3195. <return-value transfer-ownership="none">
  3196. <doc xml:space="preserve">%TRUE if parsing was successful, %FALSE otherwise.</doc>
  3197. <type name="gboolean" c:type="gboolean"/>
  3198. </return-value>
  3199. <parameters>
  3200. <parameter name="header" transfer-ownership="none">
  3201. <doc xml:space="preserve">the OpusHead #GstBuffer</doc>
  3202. <type name="Gst.Buffer" c:type="GstBuffer*"/>
  3203. </parameter>
  3204. <parameter name="rate" transfer-ownership="none">
  3205. <doc xml:space="preserve">the sample rate</doc>
  3206. <type name="guint32" c:type="guint32*"/>
  3207. </parameter>
  3208. <parameter name="channels" transfer-ownership="none">
  3209. <doc xml:space="preserve">the number of channels</doc>
  3210. <type name="guint8" c:type="guint8*"/>
  3211. </parameter>
  3212. <parameter name="channel_mapping_family" transfer-ownership="none">
  3213. <doc xml:space="preserve">the channel mapping family</doc>
  3214. <type name="guint8" c:type="guint8*"/>
  3215. </parameter>
  3216. <parameter name="stream_count" transfer-ownership="none">
  3217. <doc xml:space="preserve">the number of independent streams</doc>
  3218. <type name="guint8" c:type="guint8*"/>
  3219. </parameter>
  3220. <parameter name="coupled_count" transfer-ownership="none">
  3221. <doc xml:space="preserve">the number of stereo streams</doc>
  3222. <type name="guint8" c:type="guint8*"/>
  3223. </parameter>
  3224. <parameter name="channel_mapping" transfer-ownership="none">
  3225. <doc xml:space="preserve">the mapping between the streams</doc>
  3226. <type name="guint8" c:type="guint8"/>
  3227. </parameter>
  3228. <parameter name="pre_skip" transfer-ownership="none">
  3229. <doc xml:space="preserve">Pre-skip in 48kHz samples or 0</doc>
  3230. <type name="guint16" c:type="guint16*"/>
  3231. </parameter>
  3232. <parameter name="output_gain" transfer-ownership="none">
  3233. <doc xml:space="preserve">Output gain or 0</doc>
  3234. <type name="gint16" c:type="gint16*"/>
  3235. </parameter>
  3236. </parameters>
  3237. </function>
  3238. <function name="encoding_list_all_targets"
  3239. c:identifier="gst_encoding_list_all_targets">
  3240. <doc xml:space="preserve">List all available #GstEncodingTarget for the specified category, or all categories
  3241. if @categoryname is %NULL.</doc>
  3242. <return-value transfer-ownership="full">
  3243. <doc xml:space="preserve">The list of #GstEncodingTarget</doc>
  3244. <type name="GLib.List" c:type="GList*">
  3245. <type name="EncodingTarget"/>
  3246. </type>
  3247. </return-value>
  3248. <parameters>
  3249. <parameter name="categoryname"
  3250. transfer-ownership="none"
  3251. nullable="1"
  3252. allow-none="1">
  3253. <doc xml:space="preserve">The category, for ex: #GST_ENCODING_CATEGORY_DEVICE.
  3254. Can be %NULL.</doc>
  3255. <type name="utf8" c:type="const gchar*"/>
  3256. </parameter>
  3257. </parameters>
  3258. </function>
  3259. <function name="encoding_list_available_categories"
  3260. c:identifier="gst_encoding_list_available_categories">
  3261. <doc xml:space="preserve">Lists all #GstEncodingTarget categories present on disk.</doc>
  3262. <return-value transfer-ownership="full">
  3263. <doc xml:space="preserve">A list
  3264. of #GstEncodingTarget categories.</doc>
  3265. <type name="GLib.List" c:type="GList*">
  3266. <type name="utf8"/>
  3267. </type>
  3268. </return-value>
  3269. </function>
  3270. <function name="install_plugins_async"
  3271. c:identifier="gst_install_plugins_async">
  3272. <doc xml:space="preserve">Requests plugin installation without blocking. Once the plugins have been
  3273. installed or installation has failed, @func will be called with the result
  3274. of the installation and your provided @user_data pointer.
  3275. This function requires a running GLib/Gtk main loop. If you are not
  3276. running a GLib/Gtk main loop, make sure to regularly call
  3277. g_main_context_iteration(NULL,FALSE).
  3278. The installer strings that make up @detail are typically obtained by
  3279. calling gst_missing_plugin_message_get_installer_detail() on missing-plugin
  3280. messages that have been caught on a pipeline's bus or created by the
  3281. application via the provided API, such as gst_missing_element_message_new().
  3282. It is possible to request the installation of multiple missing plugins in
  3283. one go (as might be required if there is a demuxer for a certain format
  3284. installed but no suitable video decoder and no suitable audio decoder).</doc>
  3285. <return-value transfer-ownership="none">
  3286. <doc xml:space="preserve">result code whether an external installer could be started</doc>
  3287. <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
  3288. </return-value>
  3289. <parameters>
  3290. <parameter name="details" transfer-ownership="none">
  3291. <doc xml:space="preserve">NULL-terminated array
  3292. of installer string details (see below)</doc>
  3293. <array c:type="gchar**">
  3294. <type name="utf8" c:type="gchar*"/>
  3295. </array>
  3296. </parameter>
  3297. <parameter name="ctx"
  3298. transfer-ownership="none"
  3299. nullable="1"
  3300. allow-none="1">
  3301. <doc xml:space="preserve">a #GstInstallPluginsContext, or NULL</doc>
  3302. <type name="InstallPluginsContext"
  3303. c:type="GstInstallPluginsContext*"/>
  3304. </parameter>
  3305. <parameter name="func"
  3306. transfer-ownership="none"
  3307. scope="async"
  3308. closure="3">
  3309. <doc xml:space="preserve">the function to call when the installer program returns</doc>
  3310. <type name="InstallPluginsResultFunc"
  3311. c:type="GstInstallPluginsResultFunc"/>
  3312. </parameter>
  3313. <parameter name="user_data"
  3314. transfer-ownership="none"
  3315. nullable="1"
  3316. allow-none="1">
  3317. <doc xml:space="preserve">the user data to pass to @func when called, or NULL</doc>
  3318. <type name="gpointer" c:type="gpointer"/>
  3319. </parameter>
  3320. </parameters>
  3321. </function>
  3322. <function name="install_plugins_installation_in_progress"
  3323. c:identifier="gst_install_plugins_installation_in_progress">
  3324. <doc xml:space="preserve">Checks whether plugin installation (initiated by this application only)
  3325. is currently in progress.</doc>
  3326. <return-value transfer-ownership="none">
  3327. <doc xml:space="preserve">TRUE if plugin installation is in progress, otherwise FALSE</doc>
  3328. <type name="gboolean" c:type="gboolean"/>
  3329. </return-value>
  3330. </function>
  3331. <function name="install_plugins_return_get_name"
  3332. c:identifier="gst_install_plugins_return_get_name"
  3333. moved-to="InstallPluginsReturn.get_name">
  3334. <doc xml:space="preserve">Convenience function to return the descriptive string associated
  3335. with a status code. This function returns English strings and
  3336. should not be used for user messages. It is here only to assist
  3337. in debugging.</doc>
  3338. <return-value transfer-ownership="none">
  3339. <doc xml:space="preserve">a descriptive string for the status code in @ret</doc>
  3340. <type name="utf8" c:type="const gchar*"/>
  3341. </return-value>
  3342. <parameters>
  3343. <parameter name="ret" transfer-ownership="none">
  3344. <doc xml:space="preserve">the return status code</doc>
  3345. <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
  3346. </parameter>
  3347. </parameters>
  3348. </function>
  3349. <function name="install_plugins_supported"
  3350. c:identifier="gst_install_plugins_supported">
  3351. <doc xml:space="preserve">Checks whether plugin installation is likely to be supported by the
  3352. current environment. This currently only checks whether the helper script
  3353. that is to be provided by the distribution or operating system vendor
  3354. exists.</doc>
  3355. <return-value transfer-ownership="none">
  3356. <doc xml:space="preserve">TRUE if plugin installation is likely to be supported.</doc>
  3357. <type name="gboolean" c:type="gboolean"/>
  3358. </return-value>
  3359. </function>
  3360. <function name="install_plugins_sync"
  3361. c:identifier="gst_install_plugins_sync">
  3362. <doc xml:space="preserve">Requests plugin installation and block until the plugins have been
  3363. installed or installation has failed.
  3364. This function should almost never be used, it only exists for cases where
  3365. a non-GLib main loop is running and the user wants to run it in a separate
  3366. thread and marshal the result back asynchronously into the main thread
  3367. using the other non-GLib main loop. You should almost always use
  3368. gst_install_plugins_async() instead of this function.</doc>
  3369. <return-value transfer-ownership="none">
  3370. <doc xml:space="preserve">the result of the installation.</doc>
  3371. <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
  3372. </return-value>
  3373. <parameters>
  3374. <parameter name="details" transfer-ownership="none">
  3375. <doc xml:space="preserve">NULL-terminated array
  3376. of installer string details</doc>
  3377. <array c:type="gchar**">
  3378. <type name="utf8" c:type="gchar*"/>
  3379. </array>
  3380. </parameter>
  3381. <parameter name="ctx"
  3382. transfer-ownership="none"
  3383. nullable="1"
  3384. allow-none="1">
  3385. <doc xml:space="preserve">a #GstInstallPluginsContext, or NULL</doc>
  3386. <type name="InstallPluginsContext"
  3387. c:type="GstInstallPluginsContext*"/>
  3388. </parameter>
  3389. </parameters>
  3390. </function>
  3391. <function name="is_missing_plugin_message"
  3392. c:identifier="gst_is_missing_plugin_message">
  3393. <doc xml:space="preserve">Checks whether @msg is a missing plugins message.</doc>
  3394. <return-value transfer-ownership="none">
  3395. <doc xml:space="preserve">%TRUE if @msg is a missing-plugins message, otherwise %FALSE.</doc>
  3396. <type name="gboolean" c:type="gboolean"/>
  3397. </return-value>
  3398. <parameters>
  3399. <parameter name="msg" transfer-ownership="none">
  3400. <doc xml:space="preserve">a #GstMessage</doc>
  3401. <type name="Gst.Message" c:type="GstMessage*"/>
  3402. </parameter>
  3403. </parameters>
  3404. </function>
  3405. <function name="missing_decoder_installer_detail_new"
  3406. c:identifier="gst_missing_decoder_installer_detail_new">
  3407. <doc xml:space="preserve">Returns an opaque string containing all the details about the missing
  3408. element to be passed to an external installer called via
  3409. gst_install_plugins_async() or gst_install_plugins_sync().
  3410. This function is mainly for applications that call external plugin
  3411. installation mechanisms using one of the two above-mentioned functions in
  3412. the case where the application knows exactly what kind of plugin it is
  3413. missing.</doc>
  3414. <return-value transfer-ownership="full">
  3415. <doc xml:space="preserve">a newly-allocated detail string, or NULL on error. Free string
  3416. with g_free() when not needed any longer.</doc>
  3417. <type name="utf8" c:type="gchar*"/>
  3418. </return-value>
  3419. <parameters>
  3420. <parameter name="decode_caps" transfer-ownership="none">
  3421. <doc xml:space="preserve">the (fixed) caps for which a decoder element is needed</doc>
  3422. <type name="Gst.Caps" c:type="const GstCaps*"/>
  3423. </parameter>
  3424. </parameters>
  3425. </function>
  3426. <function name="missing_decoder_message_new"
  3427. c:identifier="gst_missing_decoder_message_new">
  3428. <doc xml:space="preserve">Creates a missing-plugin message for @element to notify the application
  3429. that a decoder element for a particular set of (fixed) caps is missing.
  3430. This function is mainly for use in plugins.</doc>
  3431. <return-value transfer-ownership="full">
  3432. <doc xml:space="preserve">a new #GstMessage, or NULL on error</doc>
  3433. <type name="Gst.Message" c:type="GstMessage*"/>
  3434. </return-value>
  3435. <parameters>
  3436. <parameter name="element" transfer-ownership="none">
  3437. <doc xml:space="preserve">the #GstElement posting the message</doc>
  3438. <type name="Gst.Element" c:type="GstElement*"/>
  3439. </parameter>
  3440. <parameter name="decode_caps" transfer-ownership="none">
  3441. <doc xml:space="preserve">the (fixed) caps for which a decoder element is needed</doc>
  3442. <type name="Gst.Caps" c:type="const GstCaps*"/>
  3443. </parameter>
  3444. </parameters>
  3445. </function>
  3446. <function name="missing_element_installer_detail_new"
  3447. c:identifier="gst_missing_element_installer_detail_new">
  3448. <doc xml:space="preserve">Returns an opaque string containing all the details about the missing
  3449. element to be passed to an external installer called via
  3450. gst_install_plugins_async() or gst_install_plugins_sync().
  3451. This function is mainly for applications that call external plugin
  3452. installation mechanisms using one of the two above-mentioned functions in
  3453. the case where the application knows exactly what kind of plugin it is
  3454. missing.</doc>
  3455. <return-value transfer-ownership="full">
  3456. <doc xml:space="preserve">a newly-allocated detail string, or NULL on error. Free string
  3457. with g_free() when not needed any longer.</doc>
  3458. <type name="utf8" c:type="gchar*"/>
  3459. </return-value>
  3460. <parameters>
  3461. <parameter name="factory_name" transfer-ownership="none">
  3462. <doc xml:space="preserve">the name of the missing element (element factory),
  3463. e.g. "videoscale" or "cdparanoiasrc"</doc>
  3464. <type name="utf8" c:type="const gchar*"/>
  3465. </parameter>
  3466. </parameters>
  3467. </function>
  3468. <function name="missing_element_message_new"
  3469. c:identifier="gst_missing_element_message_new">
  3470. <doc xml:space="preserve">Creates a missing-plugin message for @element to notify the application
  3471. that a certain required element is missing. This function is mainly for
  3472. use in plugins.</doc>
  3473. <return-value transfer-ownership="full">
  3474. <doc xml:space="preserve">a new #GstMessage, or NULL on error</doc>
  3475. <type name="Gst.Message" c:type="GstMessage*"/>
  3476. </return-value>
  3477. <parameters>
  3478. <parameter name="element" transfer-ownership="none">
  3479. <doc xml:space="preserve">the #GstElement posting the message</doc>
  3480. <type name="Gst.Element" c:type="GstElement*"/>
  3481. </parameter>
  3482. <parameter name="factory_name" transfer-ownership="none">
  3483. <doc xml:space="preserve">the name of the missing element (element factory),
  3484. e.g. "videoscale" or "cdparanoiasrc"</doc>
  3485. <type name="utf8" c:type="const gchar*"/>
  3486. </parameter>
  3487. </parameters>
  3488. </function>
  3489. <function name="missing_encoder_installer_detail_new"
  3490. c:identifier="gst_missing_encoder_installer_detail_new">
  3491. <doc xml:space="preserve">Returns an opaque string containing all the details about the missing
  3492. element to be passed to an external installer called via
  3493. gst_install_plugins_async() or gst_install_plugins_sync().
  3494. This function is mainly for applications that call external plugin
  3495. installation mechanisms using one of the two above-mentioned functions in
  3496. the case where the application knows exactly what kind of plugin it is
  3497. missing.</doc>
  3498. <return-value transfer-ownership="full">
  3499. <doc xml:space="preserve">a newly-allocated detail string, or NULL on error. Free string
  3500. with g_free() when not needed any longer.</doc>
  3501. <type name="utf8" c:type="gchar*"/>
  3502. </return-value>
  3503. <parameters>
  3504. <parameter name="encode_caps" transfer-ownership="none">
  3505. <doc xml:space="preserve">the (fixed) caps for which an encoder element is needed</doc>
  3506. <type name="Gst.Caps" c:type="const GstCaps*"/>
  3507. </parameter>
  3508. </parameters>
  3509. </function>
  3510. <function name="missing_encoder_message_new"
  3511. c:identifier="gst_missing_encoder_message_new">
  3512. <doc xml:space="preserve">Creates a missing-plugin message for @element to notify the application
  3513. that an encoder element for a particular set of (fixed) caps is missing.
  3514. This function is mainly for use in plugins.</doc>
  3515. <return-value transfer-ownership="full">
  3516. <doc xml:space="preserve">a new #GstMessage, or NULL on error</doc>
  3517. <type name="Gst.Message" c:type="GstMessage*"/>
  3518. </return-value>
  3519. <parameters>
  3520. <parameter name="element" transfer-ownership="none">
  3521. <doc xml:space="preserve">the #GstElement posting the message</doc>
  3522. <type name="Gst.Element" c:type="GstElement*"/>
  3523. </parameter>
  3524. <parameter name="encode_caps" transfer-ownership="none">
  3525. <doc xml:space="preserve">the (fixed) caps for which an encoder element is needed</doc>
  3526. <type name="Gst.Caps" c:type="const GstCaps*"/>
  3527. </parameter>
  3528. </parameters>
  3529. </function>
  3530. <function name="missing_plugin_message_get_description"
  3531. c:identifier="gst_missing_plugin_message_get_description">
  3532. <doc xml:space="preserve">Returns a localised string describing the missing feature, for use in
  3533. error dialogs and the like. Should never return NULL unless @msg is not
  3534. a valid missing-plugin message.
  3535. This function is mainly for applications that need a human-readable string
  3536. describing a missing plugin, given a previously collected missing-plugin
  3537. message</doc>
  3538. <return-value transfer-ownership="full">
  3539. <doc xml:space="preserve">a newly-allocated description string, or NULL on error. Free
  3540. string with g_free() when not needed any longer.</doc>
  3541. <type name="utf8" c:type="gchar*"/>
  3542. </return-value>
  3543. <parameters>
  3544. <parameter name="msg" transfer-ownership="none">
  3545. <doc xml:space="preserve">a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
  3546. <type name="Gst.Message" c:type="GstMessage*"/>
  3547. </parameter>
  3548. </parameters>
  3549. </function>
  3550. <function name="missing_plugin_message_get_installer_detail"
  3551. c:identifier="gst_missing_plugin_message_get_installer_detail">
  3552. <doc xml:space="preserve">Returns an opaque string containing all the details about the missing
  3553. element to be passed to an external installer called via
  3554. gst_install_plugins_async() or gst_install_plugins_sync().
  3555. This function is mainly for applications that call external plugin
  3556. installation mechanisms using one of the two above-mentioned functions.</doc>
  3557. <return-value transfer-ownership="full">
  3558. <doc xml:space="preserve">a newly-allocated detail string, or NULL on error. Free string
  3559. with g_free() when not needed any longer.</doc>
  3560. <type name="utf8" c:type="gchar*"/>
  3561. </return-value>
  3562. <parameters>
  3563. <parameter name="msg" transfer-ownership="none">
  3564. <doc xml:space="preserve">a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
  3565. <type name="Gst.Message" c:type="GstMessage*"/>
  3566. </parameter>
  3567. </parameters>
  3568. </function>
  3569. <function name="missing_uri_sink_installer_detail_new"
  3570. c:identifier="gst_missing_uri_sink_installer_detail_new">
  3571. <doc xml:space="preserve">Returns an opaque string containing all the details about the missing
  3572. element to be passed to an external installer called via
  3573. gst_install_plugins_async() or gst_install_plugins_sync().
  3574. This function is mainly for applications that call external plugin
  3575. installation mechanisms using one of the two above-mentioned functions in
  3576. the case where the application knows exactly what kind of plugin it is
  3577. missing.</doc>
  3578. <return-value transfer-ownership="full">
  3579. <doc xml:space="preserve">a newly-allocated detail string, or NULL on error. Free string
  3580. with g_free() when not needed any longer.</doc>
  3581. <type name="utf8" c:type="gchar*"/>
  3582. </return-value>
  3583. <parameters>
  3584. <parameter name="protocol" transfer-ownership="none">
  3585. <doc xml:space="preserve">the URI protocol the missing source needs to implement,
  3586. e.g. "http" or "mms"</doc>
  3587. <type name="utf8" c:type="const gchar*"/>
  3588. </parameter>
  3589. </parameters>
  3590. </function>
  3591. <function name="missing_uri_sink_message_new"
  3592. c:identifier="gst_missing_uri_sink_message_new">
  3593. <doc xml:space="preserve">Creates a missing-plugin message for @element to notify the application
  3594. that a sink element for a particular URI protocol is missing. This
  3595. function is mainly for use in plugins.</doc>
  3596. <return-value transfer-ownership="full">
  3597. <doc xml:space="preserve">a new #GstMessage, or NULL on error</doc>
  3598. <type name="Gst.Message" c:type="GstMessage*"/>
  3599. </return-value>
  3600. <parameters>
  3601. <parameter name="element" transfer-ownership="none">
  3602. <doc xml:space="preserve">the #GstElement posting the message</doc>
  3603. <type name="Gst.Element" c:type="GstElement*"/>
  3604. </parameter>
  3605. <parameter name="protocol" transfer-ownership="none">
  3606. <doc xml:space="preserve">the URI protocol the missing sink needs to implement,
  3607. e.g. "http" or "smb"</doc>
  3608. <type name="utf8" c:type="const gchar*"/>
  3609. </parameter>
  3610. </parameters>
  3611. </function>
  3612. <function name="missing_uri_source_installer_detail_new"
  3613. c:identifier="gst_missing_uri_source_installer_detail_new">
  3614. <doc xml:space="preserve">Returns an opaque string containing all the details about the missing
  3615. element to be passed to an external installer called via
  3616. gst_install_plugins_async() or gst_install_plugins_sync().
  3617. This function is mainly for applications that call external plugin
  3618. installation mechanisms using one of the two above-mentioned functions in
  3619. the case where the application knows exactly what kind of plugin it is
  3620. missing.</doc>
  3621. <return-value transfer-ownership="full">
  3622. <doc xml:space="preserve">a newly-allocated detail string, or NULL on error. Free string
  3623. with g_free() when not needed any longer.</doc>
  3624. <type name="utf8" c:type="gchar*"/>
  3625. </return-value>
  3626. <parameters>
  3627. <parameter name="protocol" transfer-ownership="none">
  3628. <doc xml:space="preserve">the URI protocol the missing source needs to implement,
  3629. e.g. "http" or "mms"</doc>
  3630. <type name="utf8" c:type="const gchar*"/>
  3631. </parameter>
  3632. </parameters>
  3633. </function>
  3634. <function name="missing_uri_source_message_new"
  3635. c:identifier="gst_missing_uri_source_message_new">
  3636. <doc xml:space="preserve">Creates a missing-plugin message for @element to notify the application
  3637. that a source element for a particular URI protocol is missing. This
  3638. function is mainly for use in plugins.</doc>
  3639. <return-value transfer-ownership="full">
  3640. <doc xml:space="preserve">a new #GstMessage, or NULL on error</doc>
  3641. <type name="Gst.Message" c:type="GstMessage*"/>
  3642. </return-value>
  3643. <parameters>
  3644. <parameter name="element" transfer-ownership="none">
  3645. <doc xml:space="preserve">the #GstElement posting the message</doc>
  3646. <type name="Gst.Element" c:type="GstElement*"/>
  3647. </parameter>
  3648. <parameter name="protocol" transfer-ownership="none">
  3649. <doc xml:space="preserve">the URI protocol the missing source needs to implement,
  3650. e.g. "http" or "mms"</doc>
  3651. <type name="utf8" c:type="const gchar*"/>
  3652. </parameter>
  3653. </parameters>
  3654. </function>
  3655. <function name="pb_utils_add_codec_description_to_tag_list"
  3656. c:identifier="gst_pb_utils_add_codec_description_to_tag_list">
  3657. <doc xml:space="preserve">Adds a codec tag describing the format specified by @caps to @taglist.</doc>
  3658. <return-value transfer-ownership="none">
  3659. <doc xml:space="preserve">TRUE if a codec tag was added, FALSE otherwise.</doc>
  3660. <type name="gboolean" c:type="gboolean"/>
  3661. </return-value>
  3662. <parameters>
  3663. <parameter name="taglist" transfer-ownership="none">
  3664. <doc xml:space="preserve">a #GstTagList</doc>
  3665. <type name="Gst.TagList" c:type="GstTagList*"/>
  3666. </parameter>
  3667. <parameter name="codec_tag"
  3668. transfer-ownership="none"
  3669. nullable="1"
  3670. allow-none="1">
  3671. <doc xml:space="preserve">a GStreamer codec tag such as #GST_TAG_AUDIO_CODEC,
  3672. #GST_TAG_VIDEO_CODEC or #GST_TAG_CODEC. If none is specified,
  3673. the function will attempt to detect the appropriate category.</doc>
  3674. <type name="utf8" c:type="const gchar*"/>
  3675. </parameter>
  3676. <parameter name="caps" transfer-ownership="none">
  3677. <doc xml:space="preserve">the (fixed) #GstCaps for which a codec tag should be added.</doc>
  3678. <type name="Gst.Caps" c:type="const GstCaps*"/>
  3679. </parameter>
  3680. </parameters>
  3681. </function>
  3682. <function name="pb_utils_get_codec_description"
  3683. c:identifier="gst_pb_utils_get_codec_description">
  3684. <doc xml:space="preserve">Returns a localised (as far as this is possible) string describing the
  3685. media format specified in @caps, for use in error dialogs or other messages
  3686. to be seen by the user. Should never return NULL unless @caps is invalid.
  3687. Also see the convenience function
  3688. gst_pb_utils_add_codec_description_to_tag_list().</doc>
  3689. <return-value transfer-ownership="full">
  3690. <doc xml:space="preserve">a newly-allocated description string, or NULL on error. Free
  3691. string with g_free() when not needed any longer.</doc>
  3692. <type name="utf8" c:type="gchar*"/>
  3693. </return-value>
  3694. <parameters>
  3695. <parameter name="caps" transfer-ownership="none">
  3696. <doc xml:space="preserve">the (fixed) #GstCaps for which an format description is needed</doc>
  3697. <type name="Gst.Caps" c:type="const GstCaps*"/>
  3698. </parameter>
  3699. </parameters>
  3700. </function>
  3701. <function name="pb_utils_get_decoder_description"
  3702. c:identifier="gst_pb_utils_get_decoder_description">
  3703. <doc xml:space="preserve">Returns a localised string describing an decoder for the format specified
  3704. in @caps, for use in error dialogs or other messages to be seen by the user.
  3705. Should never return NULL unless @factory_name or @caps are invalid.
  3706. This function is mainly for internal use, applications would typically
  3707. use gst_missing_plugin_message_get_description() to get a description of
  3708. a missing feature from a missing-plugin message.</doc>
  3709. <return-value transfer-ownership="full">
  3710. <doc xml:space="preserve">a newly-allocated description string, or NULL on error. Free
  3711. string with g_free() when not needed any longer.</doc>
  3712. <type name="utf8" c:type="gchar*"/>
  3713. </return-value>
  3714. <parameters>
  3715. <parameter name="caps" transfer-ownership="none">
  3716. <doc xml:space="preserve">the (fixed) #GstCaps for which an decoder description is needed</doc>
  3717. <type name="Gst.Caps" c:type="const GstCaps*"/>
  3718. </parameter>
  3719. </parameters>
  3720. </function>
  3721. <function name="pb_utils_get_element_description"
  3722. c:identifier="gst_pb_utils_get_element_description">
  3723. <doc xml:space="preserve">Returns a localised string describing the given element, for use in
  3724. error dialogs or other messages to be seen by the user. Should never
  3725. return NULL unless @factory_name is invalid.
  3726. This function is mainly for internal use, applications would typically
  3727. use gst_missing_plugin_message_get_description() to get a description of
  3728. a missing feature from a missing-plugin message.</doc>
  3729. <return-value transfer-ownership="full">
  3730. <doc xml:space="preserve">a newly-allocated description string, or NULL on error. Free
  3731. string with g_free() when not needed any longer.</doc>
  3732. <type name="utf8" c:type="gchar*"/>
  3733. </return-value>
  3734. <parameters>
  3735. <parameter name="factory_name" transfer-ownership="none">
  3736. <doc xml:space="preserve">the name of the element, e.g. "giosrc"</doc>
  3737. <type name="utf8" c:type="const gchar*"/>
  3738. </parameter>
  3739. </parameters>
  3740. </function>
  3741. <function name="pb_utils_get_encoder_description"
  3742. c:identifier="gst_pb_utils_get_encoder_description">
  3743. <doc xml:space="preserve">Returns a localised string describing an encoder for the format specified
  3744. in @caps, for use in error dialogs or other messages to be seen by the user.
  3745. Should never return NULL unless @factory_name or @caps are invalid.
  3746. This function is mainly for internal use, applications would typically
  3747. use gst_missing_plugin_message_get_description() to get a description of
  3748. a missing feature from a missing-plugin message.</doc>
  3749. <return-value transfer-ownership="full">
  3750. <doc xml:space="preserve">a newly-allocated description string, or NULL on error. Free
  3751. string with g_free() when not needed any longer.</doc>
  3752. <type name="utf8" c:type="gchar*"/>
  3753. </return-value>
  3754. <parameters>
  3755. <parameter name="caps" transfer-ownership="none">
  3756. <doc xml:space="preserve">the (fixed) #GstCaps for which an encoder description is needed</doc>
  3757. <type name="Gst.Caps" c:type="const GstCaps*"/>
  3758. </parameter>
  3759. </parameters>
  3760. </function>
  3761. <function name="pb_utils_get_sink_description"
  3762. c:identifier="gst_pb_utils_get_sink_description">
  3763. <doc xml:space="preserve">Returns a localised string describing a sink element handling the protocol
  3764. specified in @protocol, for use in error dialogs or other messages to be
  3765. seen by the user. Should never return NULL unless @protocol is invalid.
  3766. This function is mainly for internal use, applications would typically
  3767. use gst_missing_plugin_message_get_description() to get a description of
  3768. a missing feature from a missing-plugin message.</doc>
  3769. <return-value transfer-ownership="full">
  3770. <doc xml:space="preserve">a newly-allocated description string, or NULL on error. Free
  3771. string with g_free() when not needed any longer.</doc>
  3772. <type name="utf8" c:type="gchar*"/>
  3773. </return-value>
  3774. <parameters>
  3775. <parameter name="protocol" transfer-ownership="none">
  3776. <doc xml:space="preserve">the protocol the sink element needs to handle, e.g. "http"</doc>
  3777. <type name="utf8" c:type="const gchar*"/>
  3778. </parameter>
  3779. </parameters>
  3780. </function>
  3781. <function name="pb_utils_get_source_description"
  3782. c:identifier="gst_pb_utils_get_source_description">
  3783. <doc xml:space="preserve">Returns a localised string describing a source element handling the protocol
  3784. specified in @protocol, for use in error dialogs or other messages to be
  3785. seen by the user. Should never return NULL unless @protocol is invalid.
  3786. This function is mainly for internal use, applications would typically
  3787. use gst_missing_plugin_message_get_description() to get a description of
  3788. a missing feature from a missing-plugin message.</doc>
  3789. <return-value transfer-ownership="full">
  3790. <doc xml:space="preserve">a newly-allocated description string, or NULL on error. Free
  3791. string with g_free() when not needed any longer.</doc>
  3792. <type name="utf8" c:type="gchar*"/>
  3793. </return-value>
  3794. <parameters>
  3795. <parameter name="protocol" transfer-ownership="none">
  3796. <doc xml:space="preserve">the protocol the source element needs to handle, e.g. "http"</doc>
  3797. <type name="utf8" c:type="const gchar*"/>
  3798. </parameter>
  3799. </parameters>
  3800. </function>
  3801. <function name="pb_utils_init" c:identifier="gst_pb_utils_init">
  3802. <doc xml:space="preserve">Initialises the base utils support library. This function is not
  3803. thread-safe. Applications should call it after calling gst_init(),
  3804. plugins should call it from their plugin_init function.
  3805. This function may be called multiple times. It will do nothing if the
  3806. library has already been initialised.</doc>
  3807. <return-value transfer-ownership="none">
  3808. <type name="none" c:type="void"/>
  3809. </return-value>
  3810. </function>
  3811. <function name="plugins_base_version"
  3812. c:identifier="gst_plugins_base_version">
  3813. <doc xml:space="preserve">Gets the version number of the GStreamer Plugins Base libraries.</doc>
  3814. <return-value transfer-ownership="none">
  3815. <type name="none" c:type="void"/>
  3816. </return-value>
  3817. <parameters>
  3818. <parameter name="major"
  3819. direction="out"
  3820. caller-allocates="0"
  3821. transfer-ownership="full">
  3822. <doc xml:space="preserve">pointer to a guint to store the major version number, or %NULL</doc>
  3823. <type name="guint" c:type="guint*"/>
  3824. </parameter>
  3825. <parameter name="minor"
  3826. direction="out"
  3827. caller-allocates="0"
  3828. transfer-ownership="full">
  3829. <doc xml:space="preserve">pointer to a guint to store the minor version number, or %NULL</doc>
  3830. <type name="guint" c:type="guint*"/>
  3831. </parameter>
  3832. <parameter name="micro"
  3833. direction="out"
  3834. caller-allocates="0"
  3835. transfer-ownership="full">
  3836. <doc xml:space="preserve">pointer to a guint to store the micro version number, or %NULL</doc>
  3837. <type name="guint" c:type="guint*"/>
  3838. </parameter>
  3839. <parameter name="nano"
  3840. direction="out"
  3841. caller-allocates="0"
  3842. transfer-ownership="full">
  3843. <doc xml:space="preserve">pointer to a guint to store the nano version number, or %NULL</doc>
  3844. <type name="guint" c:type="guint*"/>
  3845. </parameter>
  3846. </parameters>
  3847. </function>
  3848. <function name="plugins_base_version_string"
  3849. c:identifier="gst_plugins_base_version_string">
  3850. <doc xml:space="preserve">This function returns a string that is useful for describing this version
  3851. of GStreamer's gst-plugins-base libraries to the outside world: user agent
  3852. strings, logging, about dialogs ...</doc>
  3853. <return-value transfer-ownership="full">
  3854. <doc xml:space="preserve">a newly allocated string describing this version of gst-plugins-base</doc>
  3855. <type name="utf8" c:type="gchar*"/>
  3856. </return-value>
  3857. </function>
  3858. </namespace>
  3859. </repository>