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="GLib" version="2.0"/>
10 <include name="GModule" version="2.0"/>
11 <include name="GObject" version="2.0"/>
12 <include name="Gst" version="0.10"/>
13 <include name="libxml2" version="2.0"/>
14 <package name="gstreamer-pbutils-0.10"/>
15 <c:include name="gst/pbutils/codec-utils.h"/>
16 <c:include name="gst/pbutils/descriptions.h"/>
17 <c:include name="gst/pbutils/encoding-profile.h"/>
18 <c:include name="gst/pbutils/encoding-target.h"/>
19 <c:include name="gst/pbutils/gstdiscoverer.h"/>
20 <c:include name="gst/pbutils/gstpluginsbaseversion.h"/>
21 <c:include name="gst/pbutils/install-plugins.h"/>
22 <c:include name="gst/pbutils/missing-plugins.h"/>
23 <c:include name="gst/pbutils/pbutils-enumtypes.h"/>
24 <c:include name="gst/pbutils/pbutils.h"/>
25 <namespace name="GstPbutils"
27 shared-library="libgstpbutils-0.10.so.0,libgstreamer-0.10.so.0"
28 c:identifier-prefixes="Gst"
29 c:symbol-prefixes="gst">
30 <alias name="DiscovererAudioInfoClass"
31 c:type="GstDiscovererAudioInfoClass">
32 <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
34 <alias name="DiscovererContainerInfoClass"
35 c:type="GstDiscovererContainerInfoClass">
36 <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
38 <alias name="DiscovererInfoClass" c:type="GstDiscovererInfoClass">
39 <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
41 <alias name="DiscovererStreamInfoClass"
42 c:type="GstDiscovererStreamInfoClass">
43 <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
45 <alias name="DiscovererVideoInfoClass"
46 c:type="GstDiscovererVideoInfoClass">
47 <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
49 <alias name="EncodingAudioProfileClass"
50 c:type="GstEncodingAudioProfileClass">
51 <type name="EncodingProfileClass" c:type="GstEncodingProfileClass"/>
53 <alias name="EncodingContainerProfileClass"
54 c:type="GstEncodingContainerProfileClass">
55 <type name="EncodingProfileClass" c:type="GstEncodingProfileClass"/>
57 <alias name="EncodingProfileClass" c:type="GstEncodingProfileClass">
58 <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
60 <alias name="EncodingTargetClass" c:type="GstEncodingTargetClass">
61 <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
63 <alias name="EncodingVideoProfileClass"
64 c:type="GstEncodingVideoProfileClass">
65 <type name="EncodingProfileClass" c:type="GstEncodingProfileClass"/>
67 <class name="Discoverer"
68 c:symbol-prefix="discoverer"
69 c:type="GstDiscoverer"
71 parent="GObject.Object"
72 glib:type-name="GstDiscoverer"
73 glib:get-type="gst_discoverer_get_type"
74 glib:type-struct="DiscovererClass">
75 <doc xml:whitespace="preserve">The #GstDiscoverer structure.</doc>
76 <constructor name="new"
77 c:identifier="gst_discoverer_new"
80 <doc xml:whitespace="preserve">Creates a new #GstDiscoverer with the provided timeout.
81 If an error occurred when creating the discoverer, @err will be set
82 accordingly and %NULL will be returned. If @err is set, the caller must
83 free it when no longer needed using g_error_free().</doc>
84 <return-value transfer-ownership="full">
85 <doc xml:whitespace="preserve">The new #GstDiscoverer.</doc>
86 <type name="Discoverer" c:type="GstDiscoverer*"/>
89 <parameter name="timeout" transfer-ownership="none">
90 <doc xml:whitespace="preserve">timeout per file, in nanoseconds. Allowed are values between one second (#GST_SECOND) and one hour (3600 * #GST_SECOND)</doc>
91 <type name="Gst.ClockTime" c:type="GstClockTime"/>
95 <method name="discover_uri"
96 c:identifier="gst_discoverer_discover_uri"
99 <doc xml:whitespace="preserve">Synchronously discovers the given @uri.
100 A copy of @uri will be made internally, so the caller can safely g_free()
102 error occurred.</doc>
103 <return-value transfer-ownership="full">
104 <doc xml:whitespace="preserve">the result of the scanning. Can be %NULL if an</doc>
105 <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
108 <parameter name="uri" transfer-ownership="none">
109 <doc xml:whitespace="preserve">The URI to run on.</doc>
110 <type name="utf8" c:type="gchar*"/>
114 <method name="discover_uri_async"
115 c:identifier="gst_discoverer_discover_uri_async"
117 <doc xml:whitespace="preserve">Appends the given @uri to the list of URIs to discoverer. The actual
118 discovery of the @uri will only take place if gst_discoverer_start() has
120 A copy of @uri will be made internally, so the caller can safely g_free()
122 uris, else %FALSE</doc>
123 <return-value transfer-ownership="none">
124 <doc xml:whitespace="preserve">%TRUE if the @uri was succesfully appended to the list of pending</doc>
125 <type name="gboolean" c:type="gboolean"/>
128 <parameter name="uri" transfer-ownership="none">
129 <doc xml:whitespace="preserve">the URI to add.</doc>
130 <type name="utf8" c:type="gchar*"/>
135 c:identifier="gst_discoverer_start"
137 <doc xml:whitespace="preserve">Allow asynchronous discovering of URIs to take place.
138 A #GMainLoop must be available for #GstDiscoverer to properly work in
139 asynchronous mode.</doc>
140 <return-value transfer-ownership="none">
141 <type name="none" c:type="void"/>
144 <method name="stop" c:identifier="gst_discoverer_stop" version="0.10.31">
145 <doc xml:whitespace="preserve">Stop the discovery of any pending URIs and clears the list of
146 pending URIS (if any).</doc>
147 <return-value transfer-ownership="none">
148 <type name="none" c:type="void"/>
151 <property name="timeout"
154 transfer-ownership="none">
155 <type name="guint64"/>
157 <field name="parent">
158 <type name="GObject.Object" c:type="GObject"/>
161 <type name="DiscovererPrivate" c:type="GstDiscovererPrivate*"/>
163 <field name="_reserved">
164 <array zero-terminated="0" c:type="gpointer" fixed-size="4">
165 <type name="gpointer" c:type="gpointer"/>
168 <glib:signal name="discovered">
169 <doc xml:whitespace="preserve">Will be emitted when all information on a URI could be discovered.</doc>
170 <return-value transfer-ownership="none">
174 <parameter name="object" transfer-ownership="none">
175 <doc xml:whitespace="preserve">the results #GstDiscovererInfo</doc>
176 <type name="DiscovererInfo"/>
178 <parameter name="p0" transfer-ownership="none">
179 <doc xml:whitespace="preserve">#GError, which will be non-NULL if an error occurred during discovery</doc>
180 <type name="GLib.Error"/>
184 <glib:signal name="finished">
185 <doc xml:whitespace="preserve">Will be emitted when all pending URIs have been processed.</doc>
186 <return-value transfer-ownership="none">
190 <glib:signal name="starting">
191 <doc xml:whitespace="preserve">Will be emitted when the discover starts analyzing the pending URIs</doc>
192 <return-value transfer-ownership="none">
197 <class name="DiscovererAudioInfo"
198 c:symbol-prefix="discoverer_audio_info"
199 c:type="GstDiscovererAudioInfo"
201 parent="DiscovererStreamInfo"
202 glib:type-name="GstDiscovererAudioInfo"
203 glib:get-type="gst_discoverer_audio_info_get_type"
204 glib:fundamental="1">
205 <doc xml:whitespace="preserve">#GstDiscovererStreamInfo specific to audio streams.</doc>
206 <method name="get_bitrate"
207 c:identifier="gst_discoverer_audio_info_get_bitrate"
209 <return-value transfer-ownership="none">
210 <doc xml:whitespace="preserve">the average or nominal bitrate of the stream in bits/second.</doc>
211 <type name="guint" c:type="guint"/>
214 <method name="get_channels"
215 c:identifier="gst_discoverer_audio_info_get_channels"
217 <return-value transfer-ownership="none">
218 <doc xml:whitespace="preserve">the number of channels in the stream.</doc>
219 <type name="guint" c:type="guint"/>
222 <method name="get_depth"
223 c:identifier="gst_discoverer_audio_info_get_depth"
225 <return-value transfer-ownership="none">
226 <doc xml:whitespace="preserve">the number of bits used per sample in each channel.</doc>
227 <type name="guint" c:type="guint"/>
230 <method name="get_max_bitrate"
231 c:identifier="gst_discoverer_audio_info_get_max_bitrate"
233 <return-value transfer-ownership="none">
234 <doc xml:whitespace="preserve">the maximum bitrate of the stream in bits/second.</doc>
235 <type name="guint" c:type="guint"/>
238 <method name="get_sample_rate"
239 c:identifier="gst_discoverer_audio_info_get_sample_rate"
241 <return-value transfer-ownership="none">
242 <doc xml:whitespace="preserve">the sample rate of the stream in Hertz.</doc>
243 <type name="guint" c:type="guint"/>
247 <record name="DiscovererClass"
248 c:type="GstDiscovererClass"
249 glib:is-gtype-struct-for="Discoverer">
250 <field name="parentclass">
251 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
253 <field name="finished">
254 <callback name="finished">
255 <return-value transfer-ownership="none">
256 <type name="none" c:type="void"/>
259 <parameter name="discoverer" transfer-ownership="none">
260 <type name="Discoverer" c:type="GstDiscoverer*"/>
265 <field name="starting">
266 <callback name="starting">
267 <return-value transfer-ownership="none">
268 <type name="none" c:type="void"/>
271 <parameter name="discoverer" transfer-ownership="none">
272 <type name="Discoverer" c:type="GstDiscoverer*"/>
277 <field name="discovered">
278 <callback name="discovered">
279 <return-value transfer-ownership="none">
280 <type name="none" c:type="void"/>
283 <parameter name="discoverer" transfer-ownership="none">
284 <type name="Discoverer" c:type="GstDiscoverer*"/>
286 <parameter name="info" transfer-ownership="none">
287 <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
289 <parameter name="err" transfer-ownership="none">
290 <type name="GLib.Error" c:type="GError*"/>
295 <field name="_reserved">
296 <array zero-terminated="0" c:type="gpointer" fixed-size="4">
297 <type name="gpointer" c:type="gpointer"/>
301 <class name="DiscovererContainerInfo"
302 c:symbol-prefix="discoverer_container_info"
303 c:type="GstDiscovererContainerInfo"
305 parent="DiscovererStreamInfo"
306 glib:type-name="GstDiscovererContainerInfo"
307 glib:get-type="gst_discoverer_container_info_get_type"
308 glib:fundamental="1">
309 <doc xml:whitespace="preserve">#GstDiscovererStreamInfo specific to container streams.</doc>
310 <method name="get_streams"
311 c:identifier="gst_discoverer_container_info_get_streams"
314 <doc xml:whitespace="preserve">#GstDiscovererStreamInfo this container stream offers.
315 Free with gst_discoverer_stream_info_list_free() after usage.</doc>
316 <return-value transfer-ownership="full">
317 <doc xml:whitespace="preserve">the list of</doc>
318 <type name="GLib.List" c:type="GList*">
319 <type name="Gst.DiscovererStreamInfo"/>
324 <class name="DiscovererInfo"
325 c:symbol-prefix="discoverer_info"
326 c:type="GstDiscovererInfo"
328 parent="Gst.MiniObject"
329 glib:type-name="GstDiscovererInfo"
330 glib:get-type="gst_discoverer_info_get_type"
331 glib:fundamental="1">
332 <doc xml:whitespace="preserve">Structure containing the information of a URI analyzed by #GstDiscoverer.</doc>
334 c:identifier="gst_discoverer_info_copy"
337 <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
340 <method name="get_audio_streams"
341 c:identifier="gst_discoverer_info_get_audio_streams"
344 <doc xml:whitespace="preserve">Finds all the #GstDiscovererAudioInfo contained in @info
345 matching #GstDiscovererStreamInfo. The caller should free it with
346 gst_discoverer_stream_info_list_free().</doc>
347 <return-value transfer-ownership="full">
348 <doc xml:whitespace="preserve">A #GList of</doc>
349 <type name="GLib.List" c:type="GList*">
350 <type name="Gst.DiscovererStreamInfo"/>
354 <method name="get_container_streams"
355 c:identifier="gst_discoverer_info_get_container_streams"
358 <doc xml:whitespace="preserve">Finds all the #GstDiscovererContainerInfo contained in @info
359 matching #GstDiscovererStreamInfo. The caller should free it with
360 gst_discoverer_stream_info_list_free().</doc>
361 <return-value transfer-ownership="full">
362 <doc xml:whitespace="preserve">A #GList of</doc>
363 <type name="GLib.List" c:type="GList*">
364 <type name="Gst.DiscovererStreamInfo"/>
368 <method name="get_duration"
369 c:identifier="gst_discoverer_info_get_duration"
371 <return-value transfer-ownership="none">
372 <doc xml:whitespace="preserve">the duration of the URI in #GstClockTime (nanoseconds).</doc>
373 <type name="Gst.ClockTime" c:type="GstClockTime"/>
376 <method name="get_misc"
377 c:identifier="gst_discoverer_info_get_misc"
379 <doc xml:whitespace="preserve">(for example: information about missing plugins). If you wish to use the
380 #GstStructure after the life-time of @info, you will need to copy it.</doc>
381 <return-value transfer-ownership="none">
382 <doc xml:whitespace="preserve">Miscellaneous information stored as a #GstStructure</doc>
383 <type name="Gst.Structure" c:type="GstStructure*"/>
386 <method name="get_result"
387 c:identifier="gst_discoverer_info_get_result"
389 <return-value transfer-ownership="none">
390 <doc xml:whitespace="preserve">the result of the discovery as a #GstDiscovererResult.</doc>
391 <type name="DiscovererResult" c:type="GstDiscovererResult"/>
394 <method name="get_seekable"
395 c:identifier="gst_discoverer_info_get_seekable"
397 <return-value transfer-ownership="none">
398 <doc xml:whitespace="preserve">the wheter the URI is seekable.</doc>
399 <type name="gboolean" c:type="gboolean"/>
402 <method name="get_stream_info"
403 c:identifier="gst_discoverer_info_get_stream_info"
405 <doc xml:whitespace="preserve">#GstDiscovererStreamInfo.
406 This structure can be traversed to see the original hierarchy. Unref with
407 gst_discoverer_stream_info_unref() after usage.</doc>
408 <return-value transfer-ownership="full">
409 <doc xml:whitespace="preserve">the structure (or topology) of the URI as a</doc>
410 <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
413 <method name="get_stream_list"
414 c:identifier="gst_discoverer_info_get_stream_list"
417 <doc xml:whitespace="preserve">all streams contained in the #info. Free after usage
418 with gst_discoverer_stream_info_list_free().</doc>
419 <return-value transfer-ownership="full">
420 <doc xml:whitespace="preserve">the list of</doc>
421 <type name="GLib.List" c:type="GList*">
422 <type name="Gst.DiscovererStreamInfo"/>
426 <method name="get_streams"
427 c:identifier="gst_discoverer_info_get_streams"
430 <doc xml:whitespace="preserve">Finds the #GstDiscovererStreamInfo contained in @info that match the
432 matching #GstDiscovererStreamInfo. The caller should free it with
433 gst_discoverer_stream_info_list_free().</doc>
434 <return-value transfer-ownership="full">
435 <doc xml:whitespace="preserve">A #GList of</doc>
436 <type name="GLib.List" c:type="GList*">
437 <type name="Gst.DiscovererStreamInfo"/>
441 <parameter name="streamtype" transfer-ownership="none">
442 <doc xml:whitespace="preserve">a #GType derived from #GstDiscovererStreamInfo</doc>
443 <type name="GType" c:type="GType"/>
447 <method name="get_tags"
448 c:identifier="gst_discoverer_info_get_tags"
450 <doc xml:whitespace="preserve">the tags after the life-time of @info, you will need to copy them.</doc>
451 <return-value transfer-ownership="none">
452 <doc xml:whitespace="preserve">all tags contained in the %URI. If you wish to use</doc>
453 <type name="Gst.TagList" c:type="GstTagList*"/>
456 <method name="get_uri"
457 c:identifier="gst_discoverer_info_get_uri"
459 <doc xml:whitespace="preserve">Copy it if you wish to use it after the life-time of @info.</doc>
460 <return-value transfer-ownership="none">
461 <doc xml:whitespace="preserve">the URI to which this information corresponds to.</doc>
462 <type name="utf8" c:type="gchar*"/>
465 <method name="get_video_streams"
466 c:identifier="gst_discoverer_info_get_video_streams"
469 <doc xml:whitespace="preserve">Finds all the #GstDiscovererVideoInfo contained in @info
470 matching #GstDiscovererStreamInfo. The caller should free it with
471 gst_discoverer_stream_info_list_free().</doc>
472 <return-value transfer-ownership="full">
473 <doc xml:whitespace="preserve">A #GList of</doc>
474 <type name="GLib.List" c:type="GList*">
475 <type name="Gst.DiscovererStreamInfo"/>
480 <record name="DiscovererPrivate"
481 c:type="GstDiscovererPrivate"
484 <enumeration name="DiscovererResult"
486 glib:type-name="GstDiscovererResult"
487 glib:get-type="gst_discoverer_result_get_type"
488 c:type="GstDiscovererResult">
489 <doc xml:whitespace="preserve">Result values for the discovery process.</doc>
492 c:identifier="GST_DISCOVERER_OK"
494 <member name="uri_invalid"
496 c:identifier="GST_DISCOVERER_URI_INVALID"
497 glib:nick="uri-invalid"/>
500 c:identifier="GST_DISCOVERER_ERROR"
502 <member name="timeout"
504 c:identifier="GST_DISCOVERER_TIMEOUT"
505 glib:nick="timeout"/>
508 c:identifier="GST_DISCOVERER_BUSY"
510 <member name="missing_plugins"
512 c:identifier="GST_DISCOVERER_MISSING_PLUGINS"
513 glib:nick="missing-plugins"/>
515 <class name="DiscovererStreamInfo"
516 c:symbol-prefix="discoverer_stream_info"
517 c:type="GstDiscovererStreamInfo"
519 parent="Gst.MiniObject"
520 glib:type-name="GstDiscovererStreamInfo"
521 glib:get-type="gst_discoverer_stream_info_get_type"
522 glib:fundamental="1">
523 <doc xml:whitespace="preserve">Base structure for information concerning a media stream. Depending on the
524 stream type, one can find more media-specific information in
525 #GstDiscovererAudioInfo, #GstDiscovererVideoInfo, and
526 #GstDiscovererContainerInfo.
527 The #GstDiscovererStreamInfo represents the topology of the stream. Siblings
528 can be iterated over with gst_discoverer_stream_info_get_next() and
529 gst_discoverer_stream_info_get_previous(). Children (sub-streams) of a
530 stream can be accessed using the #GstDiscovererContainerInfo API.
531 As a simple example, if you run #GstDiscoverer on an AVI file with one audio
532 and one video stream, you will get a #GstDiscovererContainerInfo
533 corresponding to the AVI container, which in turn will have a
534 #GstDiscovererAudioInfo sub-stream and a #GstDiscovererVideoInfo sub-stream
535 for the audio and video streams respectively.</doc>
536 <function name="list_free"
537 c:identifier="gst_discoverer_stream_info_list_free">
538 <doc xml:whitespace="preserve">Decrements the reference count of all contained #GstDiscovererStreamInfo
539 and fress the #GList.</doc>
540 <return-value transfer-ownership="none">
541 <type name="none" c:type="void"/>
544 <parameter name="infos" transfer-ownership="none">
545 <doc xml:whitespace="preserve">a #GList of #GstDiscovererStreamInfo</doc>
546 <type name="GLib.List" c:type="GList*">
547 <type name="gpointer" c:type="gpointer"/>
552 <method name="get_caps"
553 c:identifier="gst_discoverer_stream_info_get_caps"
555 <doc xml:whitespace="preserve">#gst_caps_unref after usage.</doc>
556 <return-value transfer-ownership="full">
557 <doc xml:whitespace="preserve">the #GstCaps of the stream. Unref with</doc>
558 <type name="Gst.Caps" c:type="GstCaps*"/>
561 <method name="get_misc"
562 c:identifier="gst_discoverer_stream_info_get_misc"
564 <doc xml:whitespace="preserve">example codec version, profile, etc..). If you wish to use the #GstStructure
565 after the life-time of @info you will need to copy it.</doc>
566 <return-value transfer-ownership="none">
567 <doc xml:whitespace="preserve">additional information regarding the stream (for</doc>
568 <type name="Gst.Structure" c:type="GstStructure*"/>
571 <method name="get_next"
572 c:identifier="gst_discoverer_stream_info_get_next"
574 <doc xml:whitespace="preserve">for final streams.
575 Unref with #gst_discoverer_stream_info_unref after usage.</doc>
576 <return-value transfer-ownership="full">
577 <doc xml:whitespace="preserve">the next #GstDiscovererStreamInfo in a chain. %NULL</doc>
578 <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
581 <method name="get_previous"
582 c:identifier="gst_discoverer_stream_info_get_previous"
584 <doc xml:whitespace="preserve">%NULL for starting points. Unref with #gst_discoverer_stream_info_unref
586 <return-value transfer-ownership="full">
587 <doc xml:whitespace="preserve">the previous #GstDiscovererStreamInfo in a chain.</doc>
588 <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
591 <method name="get_stream_type_nick"
592 c:identifier="gst_discoverer_stream_info_get_stream_type_nick"
594 <doc xml:whitespace="preserve">"container",...).</doc>
595 <return-value transfer-ownership="none">
596 <doc xml:whitespace="preserve">a human readable name for the stream type of the given @info (ex : "audio",</doc>
597 <type name="utf8" c:type="gchar*"/>
600 <method name="get_tags"
601 c:identifier="gst_discoverer_stream_info_get_tags"
603 <doc xml:whitespace="preserve">use the tags after the life-time of @info you will need to copy them.</doc>
604 <return-value transfer-ownership="none">
605 <doc xml:whitespace="preserve">the tags contained in this stream. If you wish to</doc>
606 <type name="Gst.TagList" c:type="GstTagList*"/>
610 <class name="DiscovererVideoInfo"
611 c:symbol-prefix="discoverer_video_info"
612 c:type="GstDiscovererVideoInfo"
614 parent="DiscovererStreamInfo"
615 glib:type-name="GstDiscovererVideoInfo"
616 glib:get-type="gst_discoverer_video_info_get_type"
617 glib:fundamental="1">
618 <doc xml:whitespace="preserve">#GstDiscovererStreamInfo specific to video streams (this includes images).</doc>
619 <method name="get_bitrate"
620 c:identifier="gst_discoverer_video_info_get_bitrate"
622 <return-value transfer-ownership="none">
623 <doc xml:whitespace="preserve">the average or nominal bitrate of the video stream in bits/second.</doc>
624 <type name="guint" c:type="guint"/>
627 <method name="get_depth"
628 c:identifier="gst_discoverer_video_info_get_depth"
630 <return-value transfer-ownership="none">
631 <doc xml:whitespace="preserve">the depth in bits of the video stream.</doc>
632 <type name="guint" c:type="guint"/>
635 <method name="get_framerate_denom"
636 c:identifier="gst_discoverer_video_info_get_framerate_denom"
638 <return-value transfer-ownership="none">
639 <doc xml:whitespace="preserve">the framerate of the video stream (denominator).</doc>
640 <type name="guint" c:type="guint"/>
643 <method name="get_framerate_num"
644 c:identifier="gst_discoverer_video_info_get_framerate_num"
646 <return-value transfer-ownership="none">
647 <doc xml:whitespace="preserve">the framerate of the video stream (numerator).</doc>
648 <type name="guint" c:type="guint"/>
651 <method name="get_height"
652 c:identifier="gst_discoverer_video_info_get_height"
654 <return-value transfer-ownership="none">
655 <doc xml:whitespace="preserve">the height of the video stream in pixels.</doc>
656 <type name="guint" c:type="guint"/>
659 <method name="get_max_bitrate"
660 c:identifier="gst_discoverer_video_info_get_max_bitrate"
662 <return-value transfer-ownership="none">
663 <doc xml:whitespace="preserve">the maximum bitrate of the video stream in bits/second.</doc>
664 <type name="guint" c:type="guint"/>
667 <method name="get_par_denom"
668 c:identifier="gst_discoverer_video_info_get_par_denom"
670 <return-value transfer-ownership="none">
671 <doc xml:whitespace="preserve">the Pixel Aspect Ratio (PAR) of the video stream (denominator).</doc>
672 <type name="guint" c:type="guint"/>
675 <method name="get_par_num"
676 c:identifier="gst_discoverer_video_info_get_par_num"
678 <return-value transfer-ownership="none">
679 <doc xml:whitespace="preserve">the Pixel Aspect Ratio (PAR) of the video stream (numerator).</doc>
680 <type name="guint" c:type="guint"/>
683 <method name="get_width"
684 c:identifier="gst_discoverer_video_info_get_width"
686 <return-value transfer-ownership="none">
687 <doc xml:whitespace="preserve">the width of the video stream in pixels.</doc>
688 <type name="guint" c:type="guint"/>
691 <method name="is_image"
692 c:identifier="gst_discoverer_video_info_is_image"
694 <doc xml:whitespace="preserve">one frame).</doc>
695 <return-value transfer-ownership="none">
696 <doc xml:whitespace="preserve">#TRUE if the video stream corresponds to an image (i.e. only contains</doc>
697 <type name="gboolean" c:type="gboolean"/>
700 <method name="is_interlaced"
701 c:identifier="gst_discoverer_video_info_is_interlaced"
703 <return-value transfer-ownership="none">
704 <doc xml:whitespace="preserve">%TRUE if the stream is interlaced, else %FALSE.</doc>
705 <type name="gboolean" c:type="gboolean"/>
709 <constant name="ENCODING_CATEGORY_CAPTURE" value="capture">
710 <type name="utf8" c:type="gchar*"/>
712 <constant name="ENCODING_CATEGORY_DEVICE" value="device">
713 <type name="utf8" c:type="gchar*"/>
715 <constant name="ENCODING_CATEGORY_ONLINE_SERVICE" value="online-service">
716 <type name="utf8" c:type="gchar*"/>
718 <constant name="ENCODING_CATEGORY_STORAGE_EDITING" value="storage-editing">
719 <type name="utf8" c:type="gchar*"/>
721 <class name="EncodingAudioProfile"
722 c:symbol-prefix="encoding_audio_profile"
723 c:type="GstEncodingAudioProfile"
725 parent="EncodingProfile"
726 glib:type-name="GstEncodingAudioProfile"
727 glib:get-type="gst_encoding_audio_profile_get_type"
728 glib:fundamental="1">
729 <doc xml:whitespace="preserve">Variant of #GstEncodingProfile for audio streams.</doc>
730 <constructor name="new"
731 c:identifier="gst_encoding_audio_profile_new"
733 <doc xml:whitespace="preserve">Creates a new #GstEncodingAudioProfile
734 All provided allocatable arguments will be internally copied, so can be
735 safely freed/unreferenced after calling this method.</doc>
736 <return-value transfer-ownership="full">
737 <doc xml:whitespace="preserve">the newly created #GstEncodingAudioProfile.</doc>
738 <type name="EncodingAudioProfile" c:type="GstEncodingAudioProfile*"/>
741 <parameter name="format" transfer-ownership="none">
742 <doc xml:whitespace="preserve">the #GstCaps</doc>
743 <type name="Gst.Caps" c:type="GstCaps*"/>
745 <parameter name="preset" transfer-ownership="none">
746 <doc xml:whitespace="preserve">the preset(s) to use on the encoder, can be #NULL</doc>
747 <type name="utf8" c:type="gchar*"/>
749 <parameter name="restriction" transfer-ownership="none">
750 <doc xml:whitespace="preserve">the #GstCaps used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details.</doc>
751 <type name="Gst.Caps" c:type="GstCaps*"/>
753 <parameter name="presence" transfer-ownership="none">
754 <doc xml:whitespace="preserve">the number of time this stream must be used. 0 means any number of times (including never)</doc>
755 <type name="guint" c:type="guint"/>
760 <class name="EncodingContainerProfile"
761 c:symbol-prefix="encoding_container_profile"
762 c:type="GstEncodingContainerProfile"
764 parent="EncodingProfile"
765 glib:type-name="GstEncodingContainerProfile"
766 glib:get-type="gst_encoding_container_profile_get_type"
767 glib:fundamental="1">
768 <doc xml:whitespace="preserve">Encoding profiles for containers. Keeps track of a list of #GstEncodingProfile</doc>
769 <constructor name="new"
770 c:identifier="gst_encoding_container_profile_new"
772 <doc xml:whitespace="preserve">Creates a new #GstEncodingContainerProfile.</doc>
773 <return-value transfer-ownership="full">
774 <doc xml:whitespace="preserve">The newly created #GstEncodingContainerProfile.</doc>
775 <type name="EncodingContainerProfile"
776 c:type="GstEncodingContainerProfile*"/>
779 <parameter name="name" transfer-ownership="none">
780 <doc xml:whitespace="preserve">The name of the container profile, can be %NULL</doc>
781 <type name="utf8" c:type="gchar*"/>
783 <parameter name="description" transfer-ownership="none">
784 <doc xml:whitespace="preserve">The description of the container profile, can be %NULL</doc>
785 <type name="utf8" c:type="gchar*"/>
787 <parameter name="format" transfer-ownership="none">
788 <doc xml:whitespace="preserve">The format to use for this profile</doc>
789 <type name="Gst.Caps" c:type="GstCaps*"/>
791 <parameter name="preset" transfer-ownership="none">
792 <doc xml:whitespace="preserve">The preset to use for this profile</doc>
793 <type name="utf8" c:type="gchar*"/>
797 <method name="add_profile"
798 c:identifier="gst_encoding_container_profile_add_profile"
800 <doc xml:whitespace="preserve">Add a #GstEncodingProfile to the list of profiles handled by @container.
801 No copy of @profile will be made, if you wish to use it elsewhere after this
802 method you should increment its reference count.</doc>
803 <return-value transfer-ownership="none">
804 <doc xml:whitespace="preserve">%TRUE if the @stream was properly added, else %FALSE.</doc>
805 <type name="gboolean" c:type="gboolean"/>
808 <parameter name="profile" transfer-ownership="none">
809 <doc xml:whitespace="preserve">the #GstEncodingProfile to add.</doc>
810 <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
814 <method name="contains_profile"
815 c:identifier="gst_encoding_container_profile_contains_profile"
817 <doc xml:whitespace="preserve">Checks if @container contains a #GstEncodingProfile identical to
818 to @profile, else %FALSE.</doc>
819 <return-value transfer-ownership="none">
820 <doc xml:whitespace="preserve">%TRUE if @container contains a #GstEncodingProfile identical</doc>
821 <type name="gboolean" c:type="gboolean"/>
824 <parameter name="profile" transfer-ownership="none">
825 <doc xml:whitespace="preserve">a #GstEncodingProfile</doc>
826 <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
830 <method name="get_profiles"
831 c:identifier="gst_encoding_container_profile_get_profiles">
832 <return-value transfer-ownership="none">
833 <type name="GLib.List" c:type="GList*">
834 <type name="gpointer" c:type="gpointer"/>
839 <class name="EncodingProfile"
840 c:symbol-prefix="encoding_profile"
841 c:type="GstEncodingProfile"
843 parent="Gst.MiniObject"
844 glib:type-name="GstEncodingProfile"
845 glib:get-type="gst_encoding_profile_get_type"
846 glib:fundamental="1">
847 <doc xml:whitespace="preserve">The opaque base class object for all encoding profiles. This contains generic
848 information like name, description, format and preset.</doc>
849 <function name="find"
850 c:identifier="gst_encoding_profile_find"
852 <doc xml:whitespace="preserve">Find the #GstEncodingProfile with the specified name and category.</doc>
853 <return-value transfer-ownership="full">
854 <doc xml:whitespace="preserve">The matching #GstEncodingProfile or %NULL.</doc>
855 <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
858 <parameter name="targetname" transfer-ownership="none">
859 <doc xml:whitespace="preserve">The name of the target</doc>
860 <type name="utf8" c:type="gchar*"/>
862 <parameter name="profilename" transfer-ownership="none">
863 <doc xml:whitespace="preserve">The name of the profile</doc>
864 <type name="utf8" c:type="gchar*"/>
866 <parameter name="category" transfer-ownership="none" allow-none="1">
867 <doc xml:whitespace="preserve">The target category. Can be %NULL</doc>
868 <type name="utf8" c:type="gchar*"/>
872 <method name="get_description"
873 c:identifier="gst_encoding_profile_get_description"
875 <return-value transfer-ownership="none">
876 <doc xml:whitespace="preserve">the description of the profile, can be %NULL.</doc>
877 <type name="utf8" c:type="gchar*"/>
880 <method name="get_format"
881 c:identifier="gst_encoding_profile_get_format"
883 <return-value transfer-ownership="none">
884 <doc xml:whitespace="preserve">the #GstCaps corresponding to the media format used in the profile.</doc>
885 <type name="Gst.Caps" c:type="GstCaps*"/>
888 <method name="get_input_caps"
889 c:identifier="gst_encoding_profile_get_input_caps"
891 <doc xml:whitespace="preserve">Computes the full output caps that this @profile will be able to consume.
892 when you are done with the caps.</doc>
893 <return-value transfer-ownership="full">
894 <doc xml:whitespace="preserve">The full caps the given @profile can consume. Call gst_caps_unref()</doc>
895 <type name="Gst.Caps" c:type="GstCaps*"/>
898 <method name="get_name"
899 c:identifier="gst_encoding_profile_get_name"
901 <return-value transfer-ownership="none">
902 <doc xml:whitespace="preserve">the name of the profile, can be %NULL.</doc>
903 <type name="utf8" c:type="gchar*"/>
906 <method name="get_presence"
907 c:identifier="gst_encoding_profile_get_presence"
909 <doc xml:whitespace="preserve">container profile. If 0, it is not a mandatory stream.</doc>
910 <return-value transfer-ownership="none">
911 <doc xml:whitespace="preserve">The number of times the profile is used in its parent</doc>
912 <type name="guint" c:type="guint"/>
915 <method name="get_preset"
916 c:identifier="gst_encoding_profile_get_preset"
918 <return-value transfer-ownership="none">
919 <doc xml:whitespace="preserve">the name of the #GstPreset to be used in the profile.</doc>
920 <type name="utf8" c:type="gchar*"/>
923 <method name="get_restriction"
924 c:identifier="gst_encoding_profile_get_restriction"
926 <doc xml:whitespace="preserve">that will be used in the profile. The fields present in restriction caps are
927 properties of the raw stream (that is before encoding), such as height and
928 width for video and depth and sampling rate for audio. Does not apply to
929 #GstEncodingContainerProfile (since there is no corresponding raw stream).
931 <return-value transfer-ownership="none">
932 <doc xml:whitespace="preserve">The restriction #GstCaps to apply before the encoder</doc>
933 <type name="Gst.Caps" c:type="GstCaps*"/>
936 <method name="get_type_nick"
937 c:identifier="gst_encoding_profile_get_type_nick"
939 <return-value transfer-ownership="none">
940 <doc xml:whitespace="preserve">the human-readable name of the type of @profile.</doc>
941 <type name="utf8" c:type="gchar*"/>
944 <method name="is_equal"
945 c:identifier="gst_encoding_profile_is_equal"
947 <doc xml:whitespace="preserve">Checks whether the two #GstEncodingProfile are equal</doc>
948 <return-value transfer-ownership="none">
949 <doc xml:whitespace="preserve">%TRUE if @a and @b are equal, else %FALSE.</doc>
950 <type name="gboolean" c:type="gboolean"/>
953 <parameter name="b" transfer-ownership="none">
954 <doc xml:whitespace="preserve">a #GstEncodingProfile</doc>
955 <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
959 <method name="set_description"
960 c:identifier="gst_encoding_profile_set_description"
962 <doc xml:whitespace="preserve">Set @description as the given description for the @profile. A copy of @description will be made
964 <return-value transfer-ownership="none">
965 <type name="none" c:type="void"/>
968 <parameter name="description" transfer-ownership="none">
969 <doc xml:whitespace="preserve">the description to set on the profile</doc>
970 <type name="utf8" c:type="gchar*"/>
974 <method name="set_format"
975 c:identifier="gst_encoding_profile_set_format"
977 <doc xml:whitespace="preserve">Sets the media format used in the profile.</doc>
978 <return-value transfer-ownership="none">
979 <type name="none" c:type="void"/>
982 <parameter name="format" transfer-ownership="none">
983 <doc xml:whitespace="preserve">the media format to use in the profile.</doc>
984 <type name="Gst.Caps" c:type="GstCaps*"/>
988 <method name="set_name"
989 c:identifier="gst_encoding_profile_set_name"
991 <doc xml:whitespace="preserve">Set @name as the given name for the @profile. A copy of @name will be made
993 <return-value transfer-ownership="none">
994 <type name="none" c:type="void"/>
997 <parameter name="name" transfer-ownership="none">
998 <doc xml:whitespace="preserve">the name to set on the profile</doc>
999 <type name="utf8" c:type="gchar*"/>
1003 <method name="set_presence"
1004 c:identifier="gst_encoding_profile_set_presence"
1006 <doc xml:whitespace="preserve">Set the number of time the profile is used in its parent
1007 container profile. If 0, it is not a mandatory stream</doc>
1008 <return-value transfer-ownership="none">
1009 <type name="none" c:type="void"/>
1012 <parameter name="presence" transfer-ownership="none">
1013 <doc xml:whitespace="preserve">the number of time the profile can be used</doc>
1014 <type name="guint" c:type="guint"/>
1018 <method name="set_preset"
1019 c:identifier="gst_encoding_profile_set_preset"
1021 <doc xml:whitespace="preserve">Sets the preset to use for the profile.</doc>
1022 <return-value transfer-ownership="none">
1023 <type name="none" c:type="void"/>
1026 <parameter name="preset" transfer-ownership="none">
1027 <doc xml:whitespace="preserve">the element preset to use</doc>
1028 <type name="utf8" c:type="gchar*"/>
1032 <method name="set_restriction"
1033 c:identifier="gst_encoding_profile_set_restriction"
1035 <doc xml:whitespace="preserve">Set the restriction #GstCaps to apply before the encoder
1036 that will be used in the profile. See gst_encoding_profile_set_restriction()
1037 for more about restrictions. Does not apply to #GstEncodingContainerProfile.</doc>
1038 <return-value transfer-ownership="none">
1039 <type name="none" c:type="void"/>
1042 <parameter name="restriction" transfer-ownership="none">
1043 <doc xml:whitespace="preserve">the restriction to apply</doc>
1044 <type name="Gst.Caps" c:type="GstCaps*"/>
1049 <class name="EncodingTarget"
1050 c:symbol-prefix="encoding_target"
1051 c:type="GstEncodingTarget"
1053 parent="Gst.MiniObject"
1054 glib:type-name="GstEncodingTarget"
1055 glib:get-type="gst_encoding_target_get_type"
1056 glib:fundamental="1">
1057 <doc xml:whitespace="preserve">Collection of #GstEncodingProfile for a specific target or use-case.
1058 When being stored/loaded, targets come from a specific category, like
1059 #GST_ENCODING_CATEGORY_DEVICE.</doc>
1060 <constructor name="new"
1061 c:identifier="gst_encoding_target_new"
1064 <doc xml:whitespace="preserve">Creates a new #GstEncodingTarget.
1065 The name and category can only consist of lowercase ASCII letters for the
1066 first character, followed by either lowercase ASCII letters, digits or
1068 The @category <emphasis>should</emphasis> be one of the existing
1069 well-defined categories, like #GST_ENCODING_CATEGORY_DEVICE, but it
1070 <emphasis>can</emphasis> be a application or user specific category if
1072 there was an error.</doc>
1073 <return-value transfer-ownership="full">
1074 <doc xml:whitespace="preserve">The newly created #GstEncodingTarget or %NULL if</doc>
1075 <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
1078 <parameter name="name" transfer-ownership="none">
1079 <doc xml:whitespace="preserve">The name of the target.</doc>
1080 <type name="utf8" c:type="gchar*"/>
1082 <parameter name="category" transfer-ownership="none">
1083 <doc xml:whitespace="preserve">The name of the category to which this @target belongs. For example: #GST_ENCODING_CATEGORY_DEVICE.</doc>
1084 <type name="utf8" c:type="gchar*"/>
1086 <parameter name="description" transfer-ownership="none">
1087 <doc xml:whitespace="preserve">A description of #GstEncodingTarget in the current locale.</doc>
1088 <type name="utf8" c:type="gchar*"/>
1090 <parameter name="profiles" transfer-ownership="none">
1091 <doc xml:whitespace="preserve">A #GList of #GstEncodingProfile.</doc>
1092 <type name="GLib.List" c:type="GList*">
1093 <type name="Gst.EncodingProfile"/>
1098 <function name="load"
1099 c:identifier="gst_encoding_target_load"
1102 <doc xml:whitespace="preserve">Searches for the #GstEncodingTarget with the given name, loads it
1104 If the category name is specified only targets from that category will be
1106 <return-value transfer-ownership="full">
1107 <doc xml:whitespace="preserve">The #GstEncodingTarget if available, else %NULL.</doc>
1108 <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
1111 <parameter name="name" transfer-ownership="none">
1112 <doc xml:whitespace="preserve">the name of the #GstEncodingTarget to load.</doc>
1113 <type name="utf8" c:type="gchar*"/>
1115 <parameter name="category" transfer-ownership="none" allow-none="1">
1116 <doc xml:whitespace="preserve">the name of the target category, like #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL</doc>
1117 <type name="utf8" c:type="gchar*"/>
1121 <function name="load_from_file"
1122 c:identifier="gst_encoding_target_load_from_file"
1125 <doc xml:whitespace="preserve">Opens the provided file and returns the contained #GstEncodingTarget.
1127 <return-value transfer-ownership="full">
1128 <doc xml:whitespace="preserve">The #GstEncodingTarget contained in the file, else</doc>
1129 <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
1132 <parameter name="filepath" transfer-ownership="none">
1133 <doc xml:whitespace="preserve">The file location to load the #GstEncodingTarget from</doc>
1134 <type name="utf8" c:type="gchar*"/>
1138 <method name="add_profile"
1139 c:identifier="gst_encoding_target_add_profile"
1141 <doc xml:whitespace="preserve">Adds the given @profile to the @target. Each added profile must have
1142 a unique name within the profile.
1143 The @target will steal a reference to the @profile. If you wish to use
1144 the profile after calling this method, you should increase its reference
1146 <return-value transfer-ownership="none">
1147 <doc xml:whitespace="preserve">%TRUE if the profile was added, else %FALSE.</doc>
1148 <type name="gboolean" c:type="gboolean"/>
1151 <parameter name="profile" transfer-ownership="full">
1152 <doc xml:whitespace="preserve">the #GstEncodingProfile to add</doc>
1153 <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
1157 <method name="get_category"
1158 c:identifier="gst_encoding_target_get_category"
1160 <doc xml:whitespace="preserve">#GST_ENCODING_CATEGORY_DEVICE.</doc>
1161 <return-value transfer-ownership="none">
1162 <doc xml:whitespace="preserve">The category of the @target. For example:</doc>
1163 <type name="utf8" c:type="gchar*"/>
1166 <method name="get_description"
1167 c:identifier="gst_encoding_target_get_description"
1169 <return-value transfer-ownership="none">
1170 <doc xml:whitespace="preserve">The description of the @target.</doc>
1171 <type name="utf8" c:type="gchar*"/>
1174 <method name="get_name"
1175 c:identifier="gst_encoding_target_get_name"
1177 <return-value transfer-ownership="none">
1178 <doc xml:whitespace="preserve">The name of the @target.</doc>
1179 <type name="utf8" c:type="gchar*"/>
1182 <method name="get_profile"
1183 c:identifier="gst_encoding_target_get_profile"
1185 <return-value transfer-ownership="full">
1186 <doc xml:whitespace="preserve">The matching #GstEncodingProfile, or %NULL.</doc>
1187 <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
1190 <parameter name="name" transfer-ownership="none">
1191 <doc xml:whitespace="preserve">the name of the profile to retrieve</doc>
1192 <type name="utf8" c:type="gchar*"/>
1196 <method name="get_profiles"
1197 c:identifier="gst_encoding_target_get_profiles"
1200 <doc xml:whitespace="preserve">#GstEncodingProfile(s) this @target handles.</doc>
1201 <return-value transfer-ownership="none">
1202 <doc xml:whitespace="preserve">A list of</doc>
1203 <type name="GLib.List" c:type="GList*">
1204 <type name="Gst.EncodingProfile"/>
1209 c:identifier="gst_encoding_target_save"
1212 <doc xml:whitespace="preserve">Saves the @target to a default user-local directory.</doc>
1213 <return-value transfer-ownership="none">
1214 <doc xml:whitespace="preserve">%TRUE if the target was correctly saved, else %FALSE.</doc>
1215 <type name="gboolean" c:type="gboolean"/>
1218 <method name="save_to_file"
1219 c:identifier="gst_encoding_target_save_to_file"
1222 <doc xml:whitespace="preserve">Saves the @target to the provided file location.</doc>
1223 <return-value transfer-ownership="none">
1224 <doc xml:whitespace="preserve">%TRUE if the target was correctly saved, else %FALSE.</doc>
1225 <type name="gboolean" c:type="gboolean"/>
1228 <parameter name="filepath" transfer-ownership="none">
1229 <doc xml:whitespace="preserve">the location to store the @target at.</doc>
1230 <type name="utf8" c:type="gchar*"/>
1235 <class name="EncodingVideoProfile"
1236 c:symbol-prefix="encoding_video_profile"
1237 c:type="GstEncodingVideoProfile"
1239 parent="EncodingProfile"
1240 glib:type-name="GstEncodingVideoProfile"
1241 glib:get-type="gst_encoding_video_profile_get_type"
1242 glib:fundamental="1">
1243 <doc xml:whitespace="preserve">Variant of #GstEncodingProfile for video streams, allows specifying the @pass.</doc>
1244 <constructor name="new"
1245 c:identifier="gst_encoding_video_profile_new"
1247 <doc xml:whitespace="preserve">Creates a new #GstEncodingVideoProfile
1248 All provided allocatable arguments will be internally copied, so can be
1249 safely freed/unreferenced after calling this method.
1250 If you wish to control the pass number (in case of multi-pass scenarios),
1251 please refer to the gst_encoding_video_profile_set_pass() documentation.
1252 If you wish to use/force a constant framerate please refer to the
1253 gst_encoding_video_profile_set_variableframerate() documentation.</doc>
1254 <return-value transfer-ownership="full">
1255 <doc xml:whitespace="preserve">the newly created #GstEncodingVideoProfile.</doc>
1256 <type name="EncodingVideoProfile" c:type="GstEncodingVideoProfile*"/>
1259 <parameter name="format" transfer-ownership="none">
1260 <doc xml:whitespace="preserve">the #GstCaps</doc>
1261 <type name="Gst.Caps" c:type="GstCaps*"/>
1263 <parameter name="preset" transfer-ownership="none">
1264 <doc xml:whitespace="preserve">the preset(s) to use on the encoder, can be #NULL</doc>
1265 <type name="utf8" c:type="gchar*"/>
1267 <parameter name="restriction" transfer-ownership="none">
1268 <doc xml:whitespace="preserve">the #GstCaps used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details.</doc>
1269 <type name="Gst.Caps" c:type="GstCaps*"/>
1271 <parameter name="presence" transfer-ownership="none">
1272 <doc xml:whitespace="preserve">the number of time this stream must be used. 0 means any number of times (including never)</doc>
1273 <type name="guint" c:type="guint"/>
1277 <method name="get_pass"
1278 c:identifier="gst_encoding_video_profile_get_pass"
1280 <doc xml:whitespace="preserve">1 for multi-pass. 0 if this is not a multi-pass profile</doc>
1281 <return-value transfer-ownership="none">
1282 <doc xml:whitespace="preserve">The pass number if this is part of a multi-pass profile. Starts at</doc>
1283 <type name="guint" c:type="guint"/>
1286 <method name="get_variableframerate"
1287 c:identifier="gst_encoding_video_profile_get_variableframerate"
1289 <return-value transfer-ownership="none">
1290 <doc xml:whitespace="preserve">Whether non-constant video framerate is allowed for encoding.</doc>
1291 <type name="gboolean" c:type="gboolean"/>
1294 <method name="set_pass"
1295 c:identifier="gst_encoding_video_profile_set_pass"
1297 <doc xml:whitespace="preserve">Sets the pass number of this video profile. The first pass profile should have
1298 this value set to 1. If this video profile isn't part of a multi-pass profile,
1299 you may set it to 0 (the default value).</doc>
1300 <return-value transfer-ownership="none">
1301 <type name="none" c:type="void"/>
1304 <parameter name="pass" transfer-ownership="none">
1305 <doc xml:whitespace="preserve">the pass number for this profile</doc>
1306 <type name="guint" c:type="guint"/>
1310 <method name="set_variableframerate"
1311 c:identifier="gst_encoding_video_profile_set_variableframerate"
1313 <doc xml:whitespace="preserve">If set to %TRUE, then the incoming streamm will be allowed to have non-constant
1314 framerate. If set to %FALSE (default value), then the incoming stream will
1315 be normalized by dropping/duplicating frames in order to produce a
1316 constance framerate.</doc>
1317 <return-value transfer-ownership="none">
1318 <type name="none" c:type="void"/>
1321 <parameter name="variableframerate" transfer-ownership="none">
1322 <doc xml:whitespace="preserve">a boolean</doc>
1323 <type name="gboolean" c:type="gboolean"/>
1328 <record name="InstallPluginsContext"
1329 c:type="GstInstallPluginsContext"
1331 glib:type-name="GstInstallPluginsContext"
1332 glib:get-type="gst_install_plugins_context_get_type"
1333 c:symbol-prefix="install_plugins_context">
1334 <doc xml:whitespace="preserve">Opaque context structure for the plugin installation. Use the provided
1335 API to set details on it.</doc>
1336 <constructor name="new"
1337 c:identifier="gst_install_plugins_context_new"
1339 <doc xml:whitespace="preserve">Creates a new #GstInstallPluginsContext.
1340 gst_install_plugins_context_free() when no longer needed</doc>
1341 <return-value transfer-ownership="full">
1342 <doc xml:whitespace="preserve">a new #GstInstallPluginsContext. Free with</doc>
1343 <type name="InstallPluginsContext"
1344 c:type="GstInstallPluginsContext*"/>
1348 c:identifier="gst_install_plugins_context_free"
1350 <doc xml:whitespace="preserve">Frees a #GstInstallPluginsContext.</doc>
1351 <return-value transfer-ownership="none">
1352 <type name="none" c:type="void"/>
1355 <method name="set_xid"
1356 c:identifier="gst_install_plugins_context_set_xid"
1358 <doc xml:whitespace="preserve">This function is for X11-based applications (such as most Gtk/Qt
1359 applications on linux/unix) only. You can use it to tell the external
1360 installer the XID of your main application window. That way the installer
1361 can make its own window transient to your application window during the
1363 If set, the XID will be passed to the installer via a --transient-for=XID
1364 command line option.
1365 Gtk+/Gnome application should be able to obtain the XID of the top-level
1367 <programlisting>
1368 ##include &lt;gtk/gtk.h&gt;
1369 ##ifdef GDK_WINDOWING_X11
1370 ##include &lt;gdk/gdkx.h&gt;
1373 ##ifdef GDK_WINDOWING_X11
1374 xid = GDK_WINDOW_XWINDOW (GTK_WIDGET (application_window)-&gt;window);
1377 </programlisting></doc>
1378 <return-value transfer-ownership="none">
1379 <type name="none" c:type="void"/>
1382 <parameter name="xid" transfer-ownership="none">
1383 <doc xml:whitespace="preserve">the XWindow ID (XID) of the top-level application</doc>
1384 <type name="guint" c:type="guint"/>
1389 <callback name="InstallPluginsResultFunc"
1390 c:type="GstInstallPluginsResultFunc"
1392 <doc xml:whitespace="preserve">The prototype of the callback function that will be called once the
1393 external plugin installer program has returned. You only need to provide
1394 a callback function if you are using the asynchronous interface.</doc>
1395 <return-value transfer-ownership="none">
1396 <type name="none" c:type="void"/>
1399 <parameter name="result" transfer-ownership="none">
1400 <doc xml:whitespace="preserve">whether the installation of the requested plugins succeeded or not</doc>
1401 <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
1403 <parameter name="user_data" transfer-ownership="none" closure="1">
1404 <doc xml:whitespace="preserve">the user data passed to gst_install_plugins_async()</doc>
1405 <type name="gpointer" c:type="gpointer"/>
1409 <enumeration name="InstallPluginsReturn"
1411 glib:type-name="GstInstallPluginsReturn"
1412 glib:get-type="gst_install_plugins_return_get_type"
1413 c:type="GstInstallPluginsReturn">
1414 <doc xml:whitespace="preserve">Result codes returned by gst_install_plugins_async() and
1415 gst_install_plugins_sync(), and also the result code passed to the
1416 #GstInstallPluginsResultFunc specified with gst_install_plugin_async().
1417 These codes indicate success or failure of starting an external installer
1418 program and to what extent the requested plugins could be installed.</doc>
1419 <member name="success"
1421 c:identifier="GST_INSTALL_PLUGINS_SUCCESS"
1422 glib:nick="success"/>
1423 <member name="not_found"
1425 c:identifier="GST_INSTALL_PLUGINS_NOT_FOUND"
1426 glib:nick="not-found"/>
1427 <member name="error"
1429 c:identifier="GST_INSTALL_PLUGINS_ERROR"
1431 <member name="partial_success"
1433 c:identifier="GST_INSTALL_PLUGINS_PARTIAL_SUCCESS"
1434 glib:nick="partial-success"/>
1435 <member name="user_abort"
1437 c:identifier="GST_INSTALL_PLUGINS_USER_ABORT"
1438 glib:nick="user-abort"/>
1439 <member name="crashed"
1441 c:identifier="GST_INSTALL_PLUGINS_CRASHED"
1442 glib:nick="crashed"/>
1443 <member name="invalid"
1445 c:identifier="GST_INSTALL_PLUGINS_INVALID"
1446 glib:nick="invalid"/>
1447 <member name="started_ok"
1449 c:identifier="GST_INSTALL_PLUGINS_STARTED_OK"
1450 glib:nick="started-ok"/>
1451 <member name="internal_failure"
1453 c:identifier="GST_INSTALL_PLUGINS_INTERNAL_FAILURE"
1454 glib:nick="internal-failure"/>
1455 <member name="helper_missing"
1457 c:identifier="GST_INSTALL_PLUGINS_HELPER_MISSING"
1458 glib:nick="helper-missing"/>
1459 <member name="install_in_progress"
1461 c:identifier="GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS"
1462 glib:nick="install-in-progress"/>
1464 <constant name="PLUGINS_BASE_VERSION_MAJOR" value="0">
1465 <type name="gint" c:type="gint"/>
1467 <constant name="PLUGINS_BASE_VERSION_MICRO" value="32">
1468 <type name="gint" c:type="gint"/>
1470 <constant name="PLUGINS_BASE_VERSION_MINOR" value="10">
1471 <type name="gint" c:type="gint"/>
1473 <constant name="PLUGINS_BASE_VERSION_NANO" value="0">
1474 <type name="gint" c:type="gint"/>
1476 <function name="codec_utils_aac_caps_set_level_and_profile"
1477 c:identifier="gst_codec_utils_aac_caps_set_level_and_profile"
1479 <doc xml:whitespace="preserve">Sets the level and profile on @caps if it can be determined from
1480 gst_codec_utils_aac_get_profile() for more details on the parameters.
1481 If mpegversion is 4, the "base-profile" field is also set in @caps.</doc>
1482 <return-value transfer-ownership="none">
1483 <doc xml:whitespace="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
1484 <type name="gboolean" c:type="gboolean"/>
1487 <parameter name="caps" transfer-ownership="none">
1488 <doc xml:whitespace="preserve">the #GstCaps to which level and profile fields are to be added</doc>
1489 <type name="Gst.Caps" c:type="GstCaps*"/>
1491 <parameter name="audio_config" transfer-ownership="none">
1492 <doc xml:whitespace="preserve">a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see below for a more details).</doc>
1493 <type name="guint8" c:type="guint8*"/>
1495 <parameter name="len" transfer-ownership="none">
1496 <doc xml:whitespace="preserve">Length of @audio_config in bytes</doc>
1497 <type name="guint" c:type="guint"/>
1501 <function name="codec_utils_aac_get_level"
1502 c:identifier="gst_codec_utils_aac_get_level"
1504 <doc xml:whitespace="preserve">Determines the level of a stream as defined in ISO/IEC 14496-3. For AAC LC
1505 streams, the constraints from the AAC audio profile are applied. For AAC
1506 Main, LTP, SSR and others, the Main profile is used.
1507 The @audio_config parameter follows the following format, starting from the
1508 most significant bit of the first byte:
1509 <itemizedlist>
1510 <listitem><para>
1511 Bit 0:4 contains the AudioObjectType
1512 </para></listitem>
1513 <listitem><para>
1514 Bit 5:8 contains the sample frequency index (if this is 0xf, then the
1515 next 24 bits define the actual sample frequency, and subsequent
1516 fields are appropriately shifted).
1517 </para></listitem>
1518 <listitem><para>
1519 Bit 9:12 contains the channel configuration
1520 </para></listitem>
1521 </itemizedlist>
1523 HE-AAC support has not yet been implemented.
1526 <return-value transfer-ownership="none">
1527 <doc xml:whitespace="preserve">The level as a const string and %NULL if the level could not be</doc>
1528 <type name="utf8" c:type="gchar*"/>
1531 <parameter name="audio_config" transfer-ownership="none">
1532 <doc xml:whitespace="preserve">a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1.</doc>
1533 <type name="guint8" c:type="guint8*"/>
1535 <parameter name="len" transfer-ownership="none">
1536 <doc xml:whitespace="preserve">Length of @audio_config in bytes</doc>
1537 <type name="guint" c:type="guint"/>
1541 <function name="codec_utils_aac_get_profile"
1542 c:identifier="gst_codec_utils_aac_get_profile"
1544 <doc xml:whitespace="preserve">Returns the profile of the given AAC stream as a string. The profile is
1545 determined using the AudioObjectType field which is in the first 5 bits of
1547 HE-AAC support has not yet been implemented.
1550 <return-value transfer-ownership="none">
1551 <doc xml:whitespace="preserve">The profile as a const string and %NULL if the profile could not be</doc>
1552 <type name="utf8" c:type="gchar*"/>
1555 <parameter name="audio_config" transfer-ownership="none">
1556 <doc xml:whitespace="preserve">a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see gst_codec_utils_aac_get_level() for a more details).</doc>
1557 <type name="guint8" c:type="guint8*"/>
1559 <parameter name="len" transfer-ownership="none">
1560 <doc xml:whitespace="preserve">Length of @audio_config in bytes</doc>
1561 <type name="guint" c:type="guint"/>
1565 <function name="codec_utils_aac_get_sample_rate_from_index"
1566 c:identifier="gst_codec_utils_aac_get_sample_rate_from_index"
1568 <doc xml:whitespace="preserve">Translates the sample rate index found in AAC headers to the actual sample
1570 <return-value transfer-ownership="none">
1571 <doc xml:whitespace="preserve">The sample rate if @sr_idx is valid, 0 otherwise.</doc>
1572 <type name="guint" c:type="guint"/>
1575 <parameter name="sr_idx" transfer-ownership="none">
1576 <doc xml:whitespace="preserve">Sample rate index as from the AudioSpecificConfig (MPEG-4 container) or ADTS frame header</doc>
1577 <type name="guint" c:type="guint"/>
1581 <function name="codec_utils_h264_caps_set_level_and_profile"
1582 c:identifier="gst_codec_utils_h264_caps_set_level_and_profile"
1584 <doc xml:whitespace="preserve">Sets the level and profile in @caps if it can be determined from @sps. See
1585 gst_codec_utils_h264_get_level() and gst_codec_utils_h264_get_profile()
1586 for more details on the parameters.</doc>
1587 <return-value transfer-ownership="none">
1588 <doc xml:whitespace="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
1589 <type name="gboolean" c:type="gboolean"/>
1592 <parameter name="caps" transfer-ownership="none">
1593 <doc xml:whitespace="preserve">the #GstCaps to which the level and profile are to be added</doc>
1594 <type name="Gst.Caps" c:type="GstCaps*"/>
1596 <parameter name="sps" transfer-ownership="none">
1597 <doc xml:whitespace="preserve">Pointer to the sequence parameter set for the stream.</doc>
1598 <type name="guint8" c:type="guint8*"/>
1600 <parameter name="len" transfer-ownership="none">
1601 <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
1602 <type name="guint" c:type="guint"/>
1606 <function name="codec_utils_h264_get_level"
1607 c:identifier="gst_codec_utils_h264_get_level"
1609 <doc xml:whitespace="preserve">Converts the level indication (level_idc) in the stream's
1610 sequence parameter set into a string. The SPS is expected to have the
1611 same format as for gst_codec_utils_h264_get_profile().</doc>
1612 <return-value transfer-ownership="none">
1613 <doc xml:whitespace="preserve">The level as a const string, or %NULL if there is an error.</doc>
1614 <type name="utf8" c:type="gchar*"/>
1617 <parameter name="sps" transfer-ownership="none">
1618 <doc xml:whitespace="preserve">Pointer to the sequence parameter set for the stream.</doc>
1619 <type name="guint8" c:type="guint8*"/>
1621 <parameter name="len" transfer-ownership="none">
1622 <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
1623 <type name="guint" c:type="guint"/>
1627 <function name="codec_utils_h264_get_profile"
1628 c:identifier="gst_codec_utils_h264_get_profile"
1630 <doc xml:whitespace="preserve">Converts the profile indication (profile_idc) in the stream's
1631 sequence parameter set into a string. The SPS is expected to have the
1632 following format, as defined in the H.264 specification. The SPS is viewed
1633 as a bitstream here, with bit 0 being the most significant bit of the first
1635 <itemizedlist>
1636 <listitem><para>Bit 0:7 - Profile indication</para></listitem>
1637 <listitem><para>Bit 8 - constraint_set0_flag</para></listitem>
1638 <listitem><para>Bit 9 - constraint_set1_flag</para></listitem>
1639 <listitem><para>Bit 10 - constraint_set2_flag</para></listitem>
1640 <listitem><para>Bit 11 - constraint_set3_flag</para></listitem>
1641 <listitem><para>Bit 12 - constraint_set3_flag</para></listitem>
1642 <listitem><para>Bit 13:15 - Reserved</para></listitem>
1643 <listitem><para>Bit 16:24 - Level indication</para></listitem>
1644 </itemizedlist></doc>
1645 <return-value transfer-ownership="none">
1646 <doc xml:whitespace="preserve">The profile as a const string, or %NULL if there is an error.</doc>
1647 <type name="utf8" c:type="gchar*"/>
1650 <parameter name="sps" transfer-ownership="none">
1651 <doc xml:whitespace="preserve">Pointer to the sequence parameter set for the stream.</doc>
1652 <type name="guint8" c:type="guint8*"/>
1654 <parameter name="len" transfer-ownership="none">
1655 <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
1656 <type name="guint" c:type="guint"/>
1660 <function name="codec_utils_mpeg4video_caps_set_level_and_profile"
1661 c:identifier="gst_codec_utils_mpeg4video_caps_set_level_and_profile"
1663 <doc xml:whitespace="preserve">Sets the level and profile in @caps if it can be determined from
1664 gst_codec_utils_mpeg4video_get_profile() for more details on the
1666 <return-value transfer-ownership="none">
1667 <doc xml:whitespace="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
1668 <type name="gboolean" c:type="gboolean"/>
1671 <parameter name="caps" transfer-ownership="none">
1672 <doc xml:whitespace="preserve">the #GstCaps to which the level and profile are to be added</doc>
1673 <type name="Gst.Caps" c:type="GstCaps*"/>
1675 <parameter name="vis_obj_seq" transfer-ownership="none">
1676 <doc xml:whitespace="preserve">Pointer to the visual object sequence for the stream.</doc>
1677 <type name="guint8" c:type="guint8*"/>
1679 <parameter name="len" transfer-ownership="none">
1680 <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
1681 <type name="guint" c:type="guint"/>
1685 <function name="codec_utils_mpeg4video_get_level"
1686 c:identifier="gst_codec_utils_mpeg4video_get_level"
1688 <doc xml:whitespace="preserve">Converts the level indication in the stream's visual object sequence into
1689 a string. @vis_obj_seq is expected to be the data following the visual
1690 object sequence start code. Only the first byte
1691 (profile_and_level_indication) is used.</doc>
1692 <return-value transfer-ownership="none">
1693 <doc xml:whitespace="preserve">The level as a const string, or NULL if there is an error.</doc>
1694 <type name="utf8" c:type="gchar*"/>
1697 <parameter name="vis_obj_seq" transfer-ownership="none">
1698 <doc xml:whitespace="preserve">Pointer to the visual object sequence for the stream.</doc>
1699 <type name="guint8" c:type="guint8*"/>
1701 <parameter name="len" transfer-ownership="none">
1702 <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
1703 <type name="guint" c:type="guint"/>
1707 <function name="codec_utils_mpeg4video_get_profile"
1708 c:identifier="gst_codec_utils_mpeg4video_get_profile"
1710 <doc xml:whitespace="preserve">Converts the profile indication in the stream's visual object sequence into
1711 a string. @vis_obj_seq is expected to be the data following the visual
1712 object sequence start code. Only the first byte
1713 (profile_and_level_indication) is used.</doc>
1714 <return-value transfer-ownership="none">
1715 <doc xml:whitespace="preserve">The profile as a const string, or NULL if there is an error.</doc>
1716 <type name="utf8" c:type="gchar*"/>
1719 <parameter name="vis_obj_seq" transfer-ownership="none">
1720 <doc xml:whitespace="preserve">Pointer to the visual object sequence for the stream.</doc>
1721 <type name="guint8" c:type="guint8*"/>
1723 <parameter name="len" transfer-ownership="none">
1724 <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
1725 <type name="guint" c:type="guint"/>
1729 <function name="encoding_list_all_targets"
1730 c:identifier="gst_encoding_list_all_targets"
1732 <doc xml:whitespace="preserve">List all available #GstEncodingTarget for the specified category, or all categories
1733 if @categoryname is %NULL.</doc>
1734 <return-value transfer-ownership="full">
1735 <doc xml:whitespace="preserve">The list of #GstEncodingTarget</doc>
1736 <type name="GLib.List" c:type="GList*">
1737 <type name="EncodingTarget"/>
1741 <parameter name="categoryname"
1742 transfer-ownership="none"
1744 <doc xml:whitespace="preserve">The category, for ex: #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL.</doc>
1745 <type name="utf8" c:type="gchar*"/>
1749 <function name="encoding_list_available_categories"
1750 c:identifier="gst_encoding_list_available_categories"
1752 <doc xml:whitespace="preserve">Lists all #GstEncodingTarget categories present on disk.
1753 of #GstEncodingTarget categories.</doc>
1754 <return-value transfer-ownership="full">
1755 <doc xml:whitespace="preserve">A list</doc>
1756 <type name="GLib.List" c:type="GList*">
1761 <function name="install_plugins_async"
1762 c:identifier="gst_install_plugins_async"
1764 <doc xml:whitespace="preserve">Requests plugin installation without blocking. Once the plugins have been
1765 installed or installation has failed, @func will be called with the result
1766 of the installation and your provided @user_data pointer.
1767 This function requires a running GLib/Gtk main loop. If you are not
1768 running a GLib/Gtk main loop, make sure to regularly call
1769 g_main_context_iteration(NULL,FALSE).
1770 The installer strings that make up @detail are typically obtained by
1771 calling gst_missing_plugin_message_get_installer_detail() on missing-plugin
1772 messages that have been caught on a pipeline's bus or created by the
1773 application via the provided API, such as gst_missing_element_message_new().
1774 It is possible to request the installation of multiple missing plugins in
1775 one go (as might be required if there is a demuxer for a certain format
1776 installed but no suitable video decoder and no suitable audio decoder).</doc>
1777 <return-value transfer-ownership="none">
1778 <doc xml:whitespace="preserve">result code whether an external installer could be started</doc>
1779 <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
1782 <parameter name="details" transfer-ownership="none">
1783 <doc xml:whitespace="preserve">NULL-terminated array of installer string details (see below)</doc>
1784 <type name="utf8" c:type="gchar**"/>
1786 <parameter name="ctx" transfer-ownership="none">
1787 <doc xml:whitespace="preserve">a #GstInstallPluginsContext, or NULL</doc>
1788 <type name="InstallPluginsContext"
1789 c:type="GstInstallPluginsContext*"/>
1791 <parameter name="func"
1792 transfer-ownership="none"
1795 <doc xml:whitespace="preserve">the function to call when the installer program returns</doc>
1796 <type name="InstallPluginsResultFunc"
1797 c:type="GstInstallPluginsResultFunc"/>
1799 <parameter name="user_data" transfer-ownership="none">
1800 <doc xml:whitespace="preserve">the user data to pass to @func when called, or NULL</doc>
1801 <type name="gpointer" c:type="gpointer"/>
1805 <function name="install_plugins_installation_in_progress"
1806 c:identifier="gst_install_plugins_installation_in_progress"
1808 <doc xml:whitespace="preserve">Checks whether plugin installation (initiated by this application only)
1809 is currently in progress.</doc>
1810 <return-value transfer-ownership="none">
1811 <doc xml:whitespace="preserve">TRUE if plugin installation is in progress, otherwise FALSE</doc>
1812 <type name="gboolean" c:type="gboolean"/>
1815 <function name="install_plugins_return_get_name"
1816 c:identifier="gst_install_plugins_return_get_name"
1818 <doc xml:whitespace="preserve">Convenience function to return the descriptive string associated
1819 with a status code. This function returns English strings and
1820 should not be used for user messages. It is here only to assist
1822 <return-value transfer-ownership="none">
1823 <doc xml:whitespace="preserve">a descriptive string for the status code in @ret</doc>
1824 <type name="utf8" c:type="gchar*"/>
1827 <parameter name="ret" transfer-ownership="none">
1828 <doc xml:whitespace="preserve">the return status code</doc>
1829 <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
1833 <function name="install_plugins_supported"
1834 c:identifier="gst_install_plugins_supported"
1836 <doc xml:whitespace="preserve">Checks whether plugin installation is likely to be supported by the
1837 current environment. This currently only checks whether the helper script
1838 that is to be provided by the distribution or operating system vendor
1840 <return-value transfer-ownership="none">
1841 <doc xml:whitespace="preserve">TRUE if plugin installation is likely to be supported.</doc>
1842 <type name="gboolean" c:type="gboolean"/>
1845 <function name="install_plugins_sync"
1846 c:identifier="gst_install_plugins_sync"
1848 <doc xml:whitespace="preserve">Requests plugin installation and block until the plugins have been
1849 installed or installation has failed.
1850 This function should almost never be used, it only exists for cases where
1851 a non-GLib main loop is running and the user wants to run it in a separate
1852 thread and marshal the result back asynchronously into the main thread
1853 using the other non-GLib main loop. You should almost always use
1854 gst_install_plugins_async() instead of this function.</doc>
1855 <return-value transfer-ownership="none">
1856 <doc xml:whitespace="preserve">the result of the installation.</doc>
1857 <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
1860 <parameter name="details" transfer-ownership="none">
1861 <doc xml:whitespace="preserve">NULL-terminated array of installer string details</doc>
1862 <type name="utf8" c:type="gchar**"/>
1864 <parameter name="ctx" transfer-ownership="none">
1865 <doc xml:whitespace="preserve">a #GstInstallPluginsContext, or NULL</doc>
1866 <type name="InstallPluginsContext"
1867 c:type="GstInstallPluginsContext*"/>
1871 <function name="is_missing_plugin_message"
1872 c:identifier="gst_is_missing_plugin_message">
1873 <doc xml:whitespace="preserve">Checks whether @msg is a missing plugins message.</doc>
1874 <return-value transfer-ownership="none">
1875 <doc xml:whitespace="preserve">%TRUE if @msg is a missing-plugins message, otherwise %FALSE.</doc>
1876 <type name="gboolean" c:type="gboolean"/>
1879 <parameter name="msg" transfer-ownership="none">
1880 <doc xml:whitespace="preserve">a #GstMessage</doc>
1881 <type name="Gst.Message" c:type="GstMessage*"/>
1885 <function name="missing_decoder_installer_detail_new"
1886 c:identifier="gst_missing_decoder_installer_detail_new"
1888 <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
1889 element to be passed to an external installer called via
1890 gst_install_plugins_async() or gst_install_plugins_sync().
1891 This function is mainly for applications that call external plugin
1892 installation mechanisms using one of the two above-mentioned functions in
1893 the case where the application knows exactly what kind of plugin it is
1895 with g_free() when not needed any longer.</doc>
1896 <return-value transfer-ownership="full">
1897 <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
1898 <type name="utf8" c:type="gchar*"/>
1901 <parameter name="decode_caps" transfer-ownership="none">
1902 <doc xml:whitespace="preserve">the (fixed) caps for which a decoder element is needed</doc>
1903 <type name="Gst.Caps" c:type="GstCaps*"/>
1907 <function name="missing_decoder_message_new"
1908 c:identifier="gst_missing_decoder_message_new">
1909 <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
1910 that a decoder element for a particular set of (fixed) caps is missing.
1911 This function is mainly for use in plugins.</doc>
1912 <return-value transfer-ownership="full">
1913 <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
1914 <type name="Gst.Message" c:type="GstMessage*"/>
1917 <parameter name="element" transfer-ownership="none">
1918 <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
1919 <type name="Gst.Element" c:type="GstElement*"/>
1921 <parameter name="decode_caps" transfer-ownership="none">
1922 <doc xml:whitespace="preserve">the (fixed) caps for which a decoder element is needed</doc>
1923 <type name="Gst.Caps" c:type="GstCaps*"/>
1927 <function name="missing_element_installer_detail_new"
1928 c:identifier="gst_missing_element_installer_detail_new"
1930 <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
1931 element to be passed to an external installer called via
1932 gst_install_plugins_async() or gst_install_plugins_sync().
1933 This function is mainly for applications that call external plugin
1934 installation mechanisms using one of the two above-mentioned functions in
1935 the case where the application knows exactly what kind of plugin it is
1937 with g_free() when not needed any longer.</doc>
1938 <return-value transfer-ownership="full">
1939 <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
1940 <type name="utf8" c:type="gchar*"/>
1943 <parameter name="factory_name" transfer-ownership="none">
1944 <doc xml:whitespace="preserve">the name of the missing element (element factory), e.g. "videoscale" or "cdparanoiasrc"</doc>
1945 <type name="utf8" c:type="gchar*"/>
1949 <function name="missing_element_message_new"
1950 c:identifier="gst_missing_element_message_new">
1951 <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
1952 that a certain required element is missing. This function is mainly for
1953 use in plugins.</doc>
1954 <return-value transfer-ownership="full">
1955 <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
1956 <type name="Gst.Message" c:type="GstMessage*"/>
1959 <parameter name="element" transfer-ownership="none">
1960 <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
1961 <type name="Gst.Element" c:type="GstElement*"/>
1963 <parameter name="factory_name" transfer-ownership="none">
1964 <doc xml:whitespace="preserve">the name of the missing element (element factory), e.g. "videoscale" or "cdparanoiasrc"</doc>
1965 <type name="utf8" c:type="gchar*"/>
1969 <function name="missing_encoder_installer_detail_new"
1970 c:identifier="gst_missing_encoder_installer_detail_new"
1972 <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
1973 element to be passed to an external installer called via
1974 gst_install_plugins_async() or gst_install_plugins_sync().
1975 This function is mainly for applications that call external plugin
1976 installation mechanisms using one of the two above-mentioned functions in
1977 the case where the application knows exactly what kind of plugin it is
1979 with g_free() when not needed any longer.</doc>
1980 <return-value transfer-ownership="full">
1981 <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
1982 <type name="utf8" c:type="gchar*"/>
1985 <parameter name="encode_caps" transfer-ownership="none">
1986 <doc xml:whitespace="preserve">the (fixed) caps for which an encoder element is needed</doc>
1987 <type name="Gst.Caps" c:type="GstCaps*"/>
1991 <function name="missing_encoder_message_new"
1992 c:identifier="gst_missing_encoder_message_new">
1993 <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
1994 that an encoder element for a particular set of (fixed) caps is missing.
1995 This function is mainly for use in plugins.</doc>
1996 <return-value transfer-ownership="full">
1997 <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
1998 <type name="Gst.Message" c:type="GstMessage*"/>
2001 <parameter name="element" transfer-ownership="none">
2002 <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
2003 <type name="Gst.Element" c:type="GstElement*"/>
2005 <parameter name="encode_caps" transfer-ownership="none">
2006 <doc xml:whitespace="preserve">the (fixed) caps for which an encoder element is needed</doc>
2007 <type name="Gst.Caps" c:type="GstCaps*"/>
2011 <function name="missing_plugin_message_get_description"
2012 c:identifier="gst_missing_plugin_message_get_description">
2013 <doc xml:whitespace="preserve">Returns a localised string describing the missing feature, for use in
2014 error dialogs and the like. Should never return NULL unless @msg is not
2015 a valid missing-plugin message.
2016 This function is mainly for applications that need a human-readable string
2017 describing a missing plugin, given a previously collected missing-plugin
2019 string with g_free() when not needed any longer.</doc>
2020 <return-value transfer-ownership="full">
2021 <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
2022 <type name="utf8" c:type="gchar*"/>
2025 <parameter name="msg" transfer-ownership="none">
2026 <doc xml:whitespace="preserve">a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
2027 <type name="Gst.Message" c:type="GstMessage*"/>
2031 <function name="missing_plugin_message_get_installer_detail"
2032 c:identifier="gst_missing_plugin_message_get_installer_detail">
2033 <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
2034 element to be passed to an external installer called via
2035 gst_install_plugins_async() or gst_install_plugins_sync().
2036 This function is mainly for applications that call external plugin
2037 installation mechanisms using one of the two above-mentioned functions.
2038 with g_free() when not needed any longer.</doc>
2039 <return-value transfer-ownership="full">
2040 <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
2041 <type name="utf8" c:type="gchar*"/>
2044 <parameter name="msg" transfer-ownership="none">
2045 <doc xml:whitespace="preserve">a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
2046 <type name="Gst.Message" c:type="GstMessage*"/>
2050 <function name="missing_uri_sink_installer_detail_new"
2051 c:identifier="gst_missing_uri_sink_installer_detail_new"
2053 <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
2054 element to be passed to an external installer called via
2055 gst_install_plugins_async() or gst_install_plugins_sync().
2056 This function is mainly for applications that call external plugin
2057 installation mechanisms using one of the two above-mentioned functions in
2058 the case where the application knows exactly what kind of plugin it is
2060 with g_free() when not needed any longer.</doc>
2061 <return-value transfer-ownership="full">
2062 <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
2063 <type name="utf8" c:type="gchar*"/>
2066 <parameter name="protocol" transfer-ownership="none">
2067 <doc xml:whitespace="preserve">the URI protocol the missing source needs to implement, e.g. "http" or "mms"</doc>
2068 <type name="utf8" c:type="gchar*"/>
2072 <function name="missing_uri_sink_message_new"
2073 c:identifier="gst_missing_uri_sink_message_new">
2074 <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
2075 that a sink element for a particular URI protocol is missing. This
2076 function is mainly for use in plugins.</doc>
2077 <return-value transfer-ownership="full">
2078 <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
2079 <type name="Gst.Message" c:type="GstMessage*"/>
2082 <parameter name="element" transfer-ownership="none">
2083 <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
2084 <type name="Gst.Element" c:type="GstElement*"/>
2086 <parameter name="protocol" transfer-ownership="none">
2087 <doc xml:whitespace="preserve">the URI protocol the missing sink needs to implement, e.g. "http" or "smb"</doc>
2088 <type name="utf8" c:type="gchar*"/>
2092 <function name="missing_uri_source_installer_detail_new"
2093 c:identifier="gst_missing_uri_source_installer_detail_new"
2095 <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
2096 element to be passed to an external installer called via
2097 gst_install_plugins_async() or gst_install_plugins_sync().
2098 This function is mainly for applications that call external plugin
2099 installation mechanisms using one of the two above-mentioned functions in
2100 the case where the application knows exactly what kind of plugin it is
2102 with g_free() when not needed any longer.</doc>
2103 <return-value transfer-ownership="full">
2104 <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
2105 <type name="utf8" c:type="gchar*"/>
2108 <parameter name="protocol" transfer-ownership="none">
2109 <doc xml:whitespace="preserve">the URI protocol the missing source needs to implement, e.g. "http" or "mms"</doc>
2110 <type name="utf8" c:type="gchar*"/>
2114 <function name="missing_uri_source_message_new"
2115 c:identifier="gst_missing_uri_source_message_new">
2116 <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
2117 that a source element for a particular URI protocol is missing. This
2118 function is mainly for use in plugins.</doc>
2119 <return-value transfer-ownership="full">
2120 <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
2121 <type name="Gst.Message" c:type="GstMessage*"/>
2124 <parameter name="element" transfer-ownership="none">
2125 <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
2126 <type name="Gst.Element" c:type="GstElement*"/>
2128 <parameter name="protocol" transfer-ownership="none">
2129 <doc xml:whitespace="preserve">the URI protocol the missing source needs to implement, e.g. "http" or "mms"</doc>
2130 <type name="utf8" c:type="gchar*"/>
2134 <function name="pb_utils_add_codec_description_to_tag_list"
2135 c:identifier="gst_pb_utils_add_codec_description_to_tag_list">
2136 <doc xml:whitespace="preserve">Adds a codec tag describing the format specified by @caps to @taglist.</doc>
2137 <return-value transfer-ownership="none">
2138 <doc xml:whitespace="preserve">TRUE if a codec tag was added, FALSE otherwise.</doc>
2139 <type name="gboolean" c:type="gboolean"/>
2142 <parameter name="taglist" transfer-ownership="none">
2143 <doc xml:whitespace="preserve">a #GstTagList</doc>
2144 <type name="Gst.TagList" c:type="GstTagList*"/>
2146 <parameter name="codec_tag" transfer-ownership="none">
2147 <doc xml:whitespace="preserve">a GStreamer codec tag such as #GST_TAG_AUDIO_CODEC, #GST_TAG_VIDEO_CODEC or #GST_TAG_CODEC</doc>
2148 <type name="utf8" c:type="gchar*"/>
2150 <parameter name="caps" transfer-ownership="none">
2151 <doc xml:whitespace="preserve">the (fixed) #GstCaps for which a codec tag should be added.</doc>
2152 <type name="Gst.Caps" c:type="GstCaps*"/>
2156 <function name="pb_utils_get_codec_description"
2157 c:identifier="gst_pb_utils_get_codec_description">
2158 <doc xml:whitespace="preserve">Returns a localised (as far as this is possible) string describing the
2159 media format specified in @caps, for use in error dialogs or other messages
2160 to be seen by the user. Should never return NULL unless @caps is invalid.
2161 Also see the convenience function
2162 gst_pb_utils_add_codec_description_to_tag_list().
2163 string with g_free() when not needed any longer.</doc>
2164 <return-value transfer-ownership="full">
2165 <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
2166 <type name="utf8" c:type="gchar*"/>
2169 <parameter name="caps" transfer-ownership="none">
2170 <doc xml:whitespace="preserve">the (fixed) #GstCaps for which an format description is needed</doc>
2171 <type name="Gst.Caps" c:type="GstCaps*"/>
2175 <function name="pb_utils_get_decoder_description"
2176 c:identifier="gst_pb_utils_get_decoder_description">
2177 <doc xml:whitespace="preserve">Returns a localised string describing an decoder for the format specified
2178 in @caps, for use in error dialogs or other messages to be seen by the user.
2179 Should never return NULL unless @factory_name or @caps are invalid.
2180 This function is mainly for internal use, applications would typically
2181 use gst_missing_plugin_message_get_description() to get a description of
2182 a missing feature from a missing-plugin message.
2183 string with g_free() when not needed any longer.</doc>
2184 <return-value transfer-ownership="full">
2185 <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
2186 <type name="utf8" c:type="gchar*"/>
2189 <parameter name="caps" transfer-ownership="none">
2190 <doc xml:whitespace="preserve">the (fixed) #GstCaps for which an decoder description is needed</doc>
2191 <type name="Gst.Caps" c:type="GstCaps*"/>
2195 <function name="pb_utils_get_element_description"
2196 c:identifier="gst_pb_utils_get_element_description">
2197 <doc xml:whitespace="preserve">Returns a localised string describing the given element, for use in
2198 error dialogs or other messages to be seen by the user. Should never
2199 return NULL unless @factory_name is invalid.
2200 This function is mainly for internal use, applications would typically
2201 use gst_missing_plugin_message_get_description() to get a description of
2202 a missing feature from a missing-plugin message.
2203 string with g_free() when not needed any longer.</doc>
2204 <return-value transfer-ownership="full">
2205 <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
2206 <type name="utf8" c:type="gchar*"/>
2209 <parameter name="factory_name" transfer-ownership="none">
2210 <doc xml:whitespace="preserve">the name of the element, e.g. "gnomevfssrc"</doc>
2211 <type name="utf8" c:type="gchar*"/>
2215 <function name="pb_utils_get_encoder_description"
2216 c:identifier="gst_pb_utils_get_encoder_description">
2217 <doc xml:whitespace="preserve">Returns a localised string describing an encoder for the format specified
2218 in @caps, for use in error dialogs or other messages to be seen by the user.
2219 Should never return NULL unless @factory_name or @caps are invalid.
2220 This function is mainly for internal use, applications would typically
2221 use gst_missing_plugin_message_get_description() to get a description of
2222 a missing feature from a missing-plugin message.
2223 string with g_free() when not needed any longer.</doc>
2224 <return-value transfer-ownership="full">
2225 <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
2226 <type name="utf8" c:type="gchar*"/>
2229 <parameter name="caps" transfer-ownership="none">
2230 <doc xml:whitespace="preserve">the (fixed) #GstCaps for which an encoder description is needed</doc>
2231 <type name="Gst.Caps" c:type="GstCaps*"/>
2235 <function name="pb_utils_get_sink_description"
2236 c:identifier="gst_pb_utils_get_sink_description">
2237 <doc xml:whitespace="preserve">Returns a localised string describing a sink element handling the protocol
2238 specified in @protocol, for use in error dialogs or other messages to be
2239 seen by the user. Should never return NULL unless @protocol is invalid.
2240 This function is mainly for internal use, applications would typically
2241 use gst_missing_plugin_message_get_description() to get a description of
2242 a missing feature from a missing-plugin message.
2243 string with g_free() when not needed any longer.</doc>
2244 <return-value transfer-ownership="full">
2245 <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
2246 <type name="utf8" c:type="gchar*"/>
2249 <parameter name="protocol" transfer-ownership="none">
2250 <doc xml:whitespace="preserve">the protocol the sink element needs to handle, e.g. "http"</doc>
2251 <type name="utf8" c:type="gchar*"/>
2255 <function name="pb_utils_get_source_description"
2256 c:identifier="gst_pb_utils_get_source_description">
2257 <doc xml:whitespace="preserve">Returns a localised string describing a source element handling the protocol
2258 specified in @protocol, for use in error dialogs or other messages to be
2259 seen by the user. Should never return NULL unless @protocol is invalid.
2260 This function is mainly for internal use, applications would typically
2261 use gst_missing_plugin_message_get_description() to get a description of
2262 a missing feature from a missing-plugin message.
2263 string with g_free() when not needed any longer.</doc>
2264 <return-value transfer-ownership="full">
2265 <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
2266 <type name="utf8" c:type="gchar*"/>
2269 <parameter name="protocol" transfer-ownership="none">
2270 <doc xml:whitespace="preserve">the protocol the source element needs to handle, e.g. "http"</doc>
2271 <type name="utf8" c:type="gchar*"/>
2275 <function name="pb_utils_init"
2276 c:identifier="gst_pb_utils_init"
2278 <doc xml:whitespace="preserve">Initialises the base utils support library. This function is not
2279 thread-safe. Applications should call it after calling gst_init(),
2280 plugins should call it from their plugin_init function.
2281 This function may be called multiple times. It will do nothing if the
2282 library has already been initialised.</doc>
2283 <return-value transfer-ownership="none">
2284 <type name="none" c:type="void"/>
2287 <function name="plugins_base_version"
2288 c:identifier="gst_plugins_base_version"
2290 <doc xml:whitespace="preserve">Gets the version number of the GStreamer Plugins Base libraries.</doc>
2291 <return-value transfer-ownership="none">
2292 <type name="none" c:type="void"/>
2295 <parameter name="major"
2297 caller-allocates="0"
2298 transfer-ownership="full">
2299 <doc xml:whitespace="preserve">pointer to a guint to store the major version number, or %NULL</doc>
2300 <type name="guint" c:type="guint*"/>
2302 <parameter name="minor"
2304 caller-allocates="0"
2305 transfer-ownership="full">
2306 <doc xml:whitespace="preserve">pointer to a guint to store the minor version number, or %NULL</doc>
2307 <type name="guint" c:type="guint*"/>
2309 <parameter name="micro"
2311 caller-allocates="0"
2312 transfer-ownership="full">
2313 <doc xml:whitespace="preserve">pointer to a guint to store the micro version number, or %NULL</doc>
2314 <type name="guint" c:type="guint*"/>
2316 <parameter name="nano"
2318 caller-allocates="0"
2319 transfer-ownership="full">
2320 <doc xml:whitespace="preserve">pointer to a guint to store the nano version number, or %NULL</doc>
2321 <type name="guint" c:type="guint*"/>
2325 <function name="plugins_base_version_string"
2326 c:identifier="gst_plugins_base_version_string"
2328 <doc xml:whitespace="preserve">This function returns a string that is useful for describing this version
2329 strings, logging, about dialogs ...</doc>
2330 <return-value transfer-ownership="full">
2331 <doc xml:whitespace="preserve">a newly allocated string describing this version of gst-plugins-base</doc>
2332 <type name="utf8" c:type="gchar*"/>