diff options
Diffstat (limited to 'girs/GstTag-1.0.gir')
-rw-r--r-- | girs/GstTag-1.0.gir | 1764 |
1 files changed, 1764 insertions, 0 deletions
diff --git a/girs/GstTag-1.0.gir b/girs/GstTag-1.0.gir new file mode 100644 index 0000000000..4634e02333 --- /dev/null +++ b/girs/GstTag-1.0.gir @@ -0,0 +1,1764 @@ +<!-- This file was automatically generated from C sources - DO NOT EDIT! +To affect the contents of this file, edit the original C definitions, +and/or use gtk-doc annotations. --> +<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2"> + <include name="Gst" version="1.0"/> + <include name="GstBase" version="1.0"/> + <package name="gstreamer-tag-1.0"/> + <c:include name="gst/tag/tag.h"/> + <namespace name="GstTag" version="1.0" shared-library="libgsttag-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + <function-macro name="IS_TAG_DEMUX" c:identifier="GST_IS_TAG_DEMUX" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <parameters> + <parameter name="obj"> + </parameter> + </parameters> + </function-macro> + <function-macro name="IS_TAG_DEMUX_CLASS" c:identifier="GST_IS_TAG_DEMUX_CLASS" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <parameters> + <parameter name="klass"> + </parameter> + </parameters> + </function-macro> + <function-macro name="IS_TAG_MUX" c:identifier="GST_IS_TAG_MUX" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <parameters> + <parameter name="obj"> + </parameter> + </parameters> + </function-macro> + <function-macro name="IS_TAG_MUX_CLASS" c:identifier="GST_IS_TAG_MUX_CLASS" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <parameters> + <parameter name="klass"> + </parameter> + </parameters> + </function-macro> + <function-macro name="IS_TAG_XMP_WRITER" c:identifier="GST_IS_TAG_XMP_WRITER" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <parameters> + <parameter name="obj"> + </parameter> + </parameters> + </function-macro> + <constant name="TAG_ACOUSTID_FINGERPRINT" value="chromaprint-fingerprint" c:type="GST_TAG_ACOUSTID_FINGERPRINT" version="1.18"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">AcoustID Fingerprint (Chromaprint)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_ACOUSTID_ID" value="acoustid-id" c:type="GST_TAG_ACOUSTID_ID" version="1.18"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">AcoustID Identifier</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_CONTRAST" value="capturing-contrast" c:type="GST_TAG_CAPTURING_CONTRAST"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Direction of contrast processing applied when capturing an image. (string) + +The allowed values are: + "normal" + "soft" + "hard"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_DIGITAL_ZOOM_RATIO" value="capturing-digital-zoom-ratio" c:type="GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Digital zoom ratio used when capturing an image. (double)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_EXPOSURE_COMPENSATION" value="capturing-exposure-compensation" c:type="GST_TAG_CAPTURING_EXPOSURE_COMPENSATION"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Exposure compensation using when capturing an image in EV. (double)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_EXPOSURE_MODE" value="capturing-exposure-mode" c:type="GST_TAG_CAPTURING_EXPOSURE_MODE"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Exposure mode used when capturing an image. (string) + +The allowed values are: + "auto-exposure" + "manual-exposure" + "auto-bracket"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_EXPOSURE_PROGRAM" value="capturing-exposure-program" c:type="GST_TAG_CAPTURING_EXPOSURE_PROGRAM"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Type of exposure control used when capturing an image. (string) + +The allowed values are: + "undefined" + "manual" + "normal" - automatically controlled + "aperture-priority" - user selects aperture value + "shutter-priority" - user selects shutter speed + "creative" - biased towards depth of field + "action" - biased towards fast shutter speed + "portrait" - closeup, leaving background out of focus + "landscape" - landscape photos, background in focus</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_FLASH_FIRED" value="capturing-flash-fired" c:type="GST_TAG_CAPTURING_FLASH_FIRED"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">If flash was fired during the capture of an image. (boolean) + +Note that if this tag isn't present, it should not be assumed that +the flash did not fire. It should be treated as unknown.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_FLASH_MODE" value="capturing-flash-mode" c:type="GST_TAG_CAPTURING_FLASH_MODE"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">The flash mode selected during the capture of an image. (string) + +The allowed values are: + "auto" + "always" + "never"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_FOCAL_LENGTH" value="capturing-focal-length" c:type="GST_TAG_CAPTURING_FOCAL_LENGTH"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Focal length used when capturing an image, in mm. (double)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_FOCAL_LENGTH_35_MM" value="capturing-focal-length-35mm" c:type="GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM" version="1.10"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">35 mm equivalent focal length used when capturing an image, in mm. (double)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_FOCAL_RATIO" value="capturing-focal-ratio" c:type="GST_TAG_CAPTURING_FOCAL_RATIO"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Focal ratio (f-number) used when capturing an image. (double) + +The value stored is the denominator of the focal ratio (f-number). +For example, if this tag value is 2, the focal ratio is f/2.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_GAIN_ADJUSTMENT" value="capturing-gain-adjustment" c:type="GST_TAG_CAPTURING_GAIN_ADJUSTMENT"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Gain adjustment applied to an image. (string) + +The allowed values are: + "none" + "low-gain-up" + "high-gain-up" + "low-gain-down" + "high-gain-down"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_ISO_SPEED" value="capturing-iso-speed" c:type="GST_TAG_CAPTURING_ISO_SPEED"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">ISO speed used when capturing an image. (integer)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_METERING_MODE" value="capturing-metering-mode" c:type="GST_TAG_CAPTURING_METERING_MODE"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Defines the way a camera determines the exposure. (string) + +The allowed values are: + "unknown" + "average" + "center-weighted-average" + "spot" + "multi-spot" + "pattern" + "partial" + "other"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_SATURATION" value="capturing-saturation" c:type="GST_TAG_CAPTURING_SATURATION"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Direction of saturation processing applied when capturing an image. (string) + +The allowed values are: + "normal" + "low-saturation" + "high-saturation"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_SCENE_CAPTURE_TYPE" value="capturing-scene-capture-type" c:type="GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Scene mode used when capturing an image. (string) + +The allowed values are: + "standard" + "landscape" + "portrait" + "night-scene"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_SHARPNESS" value="capturing-sharpness" c:type="GST_TAG_CAPTURING_SHARPNESS"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Direction of sharpness processing applied when capturing an image. (string) + +The allowed values are: + "normal" + "soft" + "hard"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_SHUTTER_SPEED" value="capturing-shutter-speed" c:type="GST_TAG_CAPTURING_SHUTTER_SPEED"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Shutter speed used when capturing an image, in seconds. (fraction)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_SOURCE" value="capturing-source" c:type="GST_TAG_CAPTURING_SOURCE"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Indicates the source of capture. The device/medium used to do the +capture. (string) + +Allowed values are: + "dsc" (= digital still camera) + "transparent-scanner" + "reflex-scanner" + "other"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CAPTURING_WHITE_BALANCE" value="capturing-white-balance" c:type="GST_TAG_CAPTURING_WHITE_BALANCE"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">White balance mode used when capturing an image. (string) + +The allowed values are: + "auto" + "manual" + "daylight" + "cloudy" + "tungsten" + "fluorescent" + "fluorescent h" (newer daylight-calibrated fluorescents) + "flash"</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CDDA_CDDB_DISCID" value="discid" c:type="GST_TAG_CDDA_CDDB_DISCID"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">CDDB disc id in its short form (e.g. 'aa063d0f')</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CDDA_CDDB_DISCID_FULL" value="discid-full" c:type="GST_TAG_CDDA_CDDB_DISCID_FULL"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">CDDB disc id including all details</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CDDA_MUSICBRAINZ_DISCID" value="musicbrainz-discid" c:type="GST_TAG_CDDA_MUSICBRAINZ_DISCID"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Musicbrainz disc id (e.g. 'ahg7JUcfR3vCYBphSDIogOOWrr0-')</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CDDA_MUSICBRAINZ_DISCID_FULL" value="musicbrainz-discid-full" c:type="GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Musicbrainz disc id details</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CMML_CLIP" value="cmml-clip" c:type="GST_TAG_CMML_CLIP"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Annodex CMML clip element tag</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CMML_HEAD" value="cmml-head" c:type="GST_TAG_CMML_HEAD"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Annodex CMML head element tag</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_CMML_STREAM" value="cmml-stream" c:type="GST_TAG_CMML_STREAM"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Annodex CMML stream element tag</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <function-macro name="TAG_DEMUX" c:identifier="GST_TAG_DEMUX" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <parameters> + <parameter name="obj"> + </parameter> + </parameters> + </function-macro> + <function-macro name="TAG_DEMUX_CLASS" c:identifier="GST_TAG_DEMUX_CLASS" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <parameters> + <parameter name="klass"> + </parameter> + </parameters> + </function-macro> + <constant name="TAG_ID3V2_HEADER_SIZE" value="10" c:type="GST_TAG_ID3V2_HEADER_SIZE"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">ID3V2 header size considered minimum input for some functions such as +gst_tag_list_from_id3v2_tag() and gst_tag_get_id3v2_tag_size() for example.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="gint" c:type="gint"/> + </constant> + <constant name="TAG_IMAGE_HORIZONTAL_PPI" value="image-horizontal-ppi" c:type="GST_TAG_IMAGE_HORIZONTAL_PPI"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Media (image/video) intended horizontal pixel density in ppi. (double)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_IMAGE_VERTICAL_PPI" value="image-vertical-ppi" c:type="GST_TAG_IMAGE_VERTICAL_PPI"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Media (image/video) intended vertical pixel density in ppi. (double)</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_MUSICAL_KEY" value="musical-key" c:type="GST_TAG_MUSICAL_KEY" version="1.2"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Musical key in which the sound starts. It is represented as a string +with a maximum length of three characters. The ground keys are +represented with "A","B","C","D","E", "F" and "G" and halfkeys +represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm"). +Off key is represented with an "o" only. +This notation might be extended in the future to support non-minor/major +keys.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_MUSICBRAINZ_ALBUMARTISTID" value="musicbrainz-albumartistid" c:type="GST_TAG_MUSICBRAINZ_ALBUMARTISTID"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">MusicBrainz album artist ID</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_MUSICBRAINZ_ALBUMID" value="musicbrainz-albumid" c:type="GST_TAG_MUSICBRAINZ_ALBUMID"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">MusicBrainz album ID</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_MUSICBRAINZ_ARTISTID" value="musicbrainz-artistid" c:type="GST_TAG_MUSICBRAINZ_ARTISTID"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">MusicBrainz artist ID</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_MUSICBRAINZ_RELEASEGROUPID" value="musicbrainz-releasegroupid" c:type="GST_TAG_MUSICBRAINZ_RELEASEGROUPID" version="1.18"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">MusicBrainz Release Group ID</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_MUSICBRAINZ_RELEASETRACKID" value="musicbrainz-releasetrackid" c:type="GST_TAG_MUSICBRAINZ_RELEASETRACKID" version="1.18"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">MusicBrainz Release Track ID</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_MUSICBRAINZ_TRACKID" value="musicbrainz-trackid" c:type="GST_TAG_MUSICBRAINZ_TRACKID"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">MusicBrainz track ID</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <constant name="TAG_MUSICBRAINZ_TRMID" value="musicbrainz-trmid" c:type="GST_TAG_MUSICBRAINZ_TRMID"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">MusicBrainz track TRM ID</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <type name="utf8" c:type="gchar*"/> + </constant> + <function-macro name="TAG_MUX" c:identifier="GST_TAG_MUX" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <parameters> + <parameter name="obj"> + </parameter> + </parameters> + </function-macro> + <function-macro name="TAG_MUX_CLASS" c:identifier="GST_TAG_MUX_CLASS" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <parameters> + <parameter name="klass"> + </parameter> + </parameters> + </function-macro> + <function-macro name="TAG_XMP_WRITER" c:identifier="GST_TAG_XMP_WRITER" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <parameters> + <parameter name="obj"> + </parameter> + </parameters> + </function-macro> + <function-macro name="TAG_XMP_WRITER_GET_INTERFACE" c:identifier="GST_TAG_XMP_WRITER_GET_INTERFACE" introspectable="0"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <parameters> + <parameter name="inst"> + </parameter> + </parameters> + </function-macro> + <class name="TagDemux" c:symbol-prefix="tag_demux" c:type="GstTagDemux" parent="Gst.Element" abstract="1" glib:type-name="GstTagDemux" glib:get-type="gst_tag_demux_get_type" glib:type-struct="TagDemuxClass"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.c">Provides a base class for demuxing tags at the beginning or end of a +stream and handles things like typefinding, querying, seeking, and +different modes of operation (chain-based, pull_range-based, and providing +downstream elements with random access if upstream supports that). The tag +is stripped from the output, and all offsets are adjusted for the tag +sizes, so that to the downstream element the stream will appear as if +there was no tag at all. Also, once the tag has been parsed, GstTagDemux +will try to determine the media type of the resulting stream and add a +source pad with the appropriate caps in order to facilitate auto-plugging. + +## Deriving from GstTagDemux + +Subclasses have to do four things: + + * In their base init function, they must add a pad template for the sink + pad to the element class, describing the media type they can parse in + the caps of the pad template. + * In their class init function, they must override + GST_TAG_DEMUX_CLASS(demux_klass)->identify_tag with their own identify + function. + * In their class init function, they must override + GST_TAG_DEMUX_CLASS(demux_klass)->parse_tag with their own parse + function. + * In their class init function, they must also set + GST_TAG_DEMUX_CLASS(demux_klass)->min_start_size and/or + GST_TAG_DEMUX_CLASS(demux_klass)->min_end_size to the minimum size required + for the identify function to decide whether the stream has a supported tag + or not. A class parsing ID3v1 tags, for example, would set min_end_size to + 128 bytes.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <virtual-method name="identify_tag"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <return-value transfer-ownership="none"> + <type name="gboolean" c:type="gboolean"/> + </return-value> + <parameters> + <instance-parameter name="demux" transfer-ownership="none"> + <type name="TagDemux" c:type="GstTagDemux*"/> + </instance-parameter> + <parameter name="buffer" transfer-ownership="none"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + <parameter name="start_tag" transfer-ownership="none"> + <type name="gboolean" c:type="gboolean"/> + </parameter> + <parameter name="tag_size" transfer-ownership="none"> + <type name="guint" c:type="guint*"/> + </parameter> + </parameters> + </virtual-method> + <virtual-method name="merge_tags"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <return-value transfer-ownership="full"> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <instance-parameter name="demux" transfer-ownership="none"> + <type name="TagDemux" c:type="GstTagDemux*"/> + </instance-parameter> + <parameter name="start_tags" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + <parameter name="end_tags" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + </parameters> + </virtual-method> + <virtual-method name="parse_tag"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <return-value transfer-ownership="none"> + <type name="TagDemuxResult" c:type="GstTagDemuxResult"/> + </return-value> + <parameters> + <instance-parameter name="demux" transfer-ownership="none"> + <type name="TagDemux" c:type="GstTagDemux*"/> + </instance-parameter> + <parameter name="buffer" transfer-ownership="none"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + <parameter name="start_tag" transfer-ownership="none"> + <type name="gboolean" c:type="gboolean"/> + </parameter> + <parameter name="tag_size" transfer-ownership="none"> + <type name="guint" c:type="guint*"/> + </parameter> + <parameter name="tags" transfer-ownership="none"> + <type name="Gst.TagList" c:type="GstTagList**"/> + </parameter> + </parameters> + </virtual-method> + <field name="element"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">parent element</doc> + <type name="Gst.Element" c:type="GstElement"/> + </field> + <field name="priv" readable="0" private="1"> + <type name="TagDemuxPrivate" c:type="GstTagDemuxPrivate*"/> + </field> + <field name="reserved" readable="0" private="1"> + <array zero-terminated="0" fixed-size="4"> + <type name="gpointer" c:type="gpointer"/> + </array> + </field> + </class> + <record name="TagDemuxClass" c:type="GstTagDemuxClass" glib:is-gtype-struct-for="TagDemux"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">The #GstTagDemuxClass structure. See documentation at beginning of section +for details about what subclasses need to override and do.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <field name="parent_class"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">the parent class.</doc> + <type name="Gst.ElementClass" c:type="GstElementClass"/> + </field> + <field name="min_start_size"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">minimum size required to identify a tag at the start and +determine its total size. Set to 0 if not interested in start tags. +Subclasses should set this in their class_init function.</doc> + <type name="guint" c:type="guint"/> + </field> + <field name="min_end_size"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">minimum size required to identify a tag at the end and +determine its total size. Set to 0 if not interested in end tags. +Subclasses should set this in their class_init function.</doc> + <type name="guint" c:type="guint"/> + </field> + <field name="identify_tag"> + <callback name="identify_tag"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <return-value transfer-ownership="none"> + <type name="gboolean" c:type="gboolean"/> + </return-value> + <parameters> + <parameter name="demux" transfer-ownership="none"> + <type name="TagDemux" c:type="GstTagDemux*"/> + </parameter> + <parameter name="buffer" transfer-ownership="none"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + <parameter name="start_tag" transfer-ownership="none"> + <type name="gboolean" c:type="gboolean"/> + </parameter> + <parameter name="tag_size" transfer-ownership="none"> + <type name="guint" c:type="guint*"/> + </parameter> + </parameters> + </callback> + </field> + <field name="parse_tag"> + <callback name="parse_tag"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <return-value transfer-ownership="none"> + <type name="TagDemuxResult" c:type="GstTagDemuxResult"/> + </return-value> + <parameters> + <parameter name="demux" transfer-ownership="none"> + <type name="TagDemux" c:type="GstTagDemux*"/> + </parameter> + <parameter name="buffer" transfer-ownership="none"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + <parameter name="start_tag" transfer-ownership="none"> + <type name="gboolean" c:type="gboolean"/> + </parameter> + <parameter name="tag_size" transfer-ownership="none"> + <type name="guint" c:type="guint*"/> + </parameter> + <parameter name="tags" transfer-ownership="none"> + <type name="Gst.TagList" c:type="GstTagList**"/> + </parameter> + </parameters> + </callback> + </field> + <field name="merge_tags"> + <callback name="merge_tags"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + <return-value transfer-ownership="full"> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <parameter name="demux" transfer-ownership="none"> + <type name="TagDemux" c:type="GstTagDemux*"/> + </parameter> + <parameter name="start_tags" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + <parameter name="end_tags" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + </parameters> + </callback> + </field> + <field name="reserved" readable="0" private="1"> + <array zero-terminated="0" fixed-size="4"> + <type name="gpointer" c:type="gpointer"/> + </array> + </field> + </record> + <record name="TagDemuxPrivate" c:type="GstTagDemuxPrivate" disguised="1"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h"/> + </record> + <enumeration name="TagDemuxResult" glib:type-name="GstTagDemuxResult" glib:get-type="gst_tag_demux_result_get_type" c:type="GstTagDemuxResult"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">Result values from the parse_tag virtual function.</doc> + <member name="broken_tag" value="0" c:identifier="GST_TAG_DEMUX_RESULT_BROKEN_TAG" glib:nick="broken-tag"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">cannot parse tag, just skip it</doc> + </member> + <member name="again" value="1" c:identifier="GST_TAG_DEMUX_RESULT_AGAIN" glib:nick="again"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">call again with less or more data</doc> + </member> + <member name="ok" value="2" c:identifier="GST_TAG_DEMUX_RESULT_OK" glib:nick="ok"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h">parsed tag successfully</doc> + </member> + </enumeration> + <enumeration name="TagImageType" glib:type-name="GstTagImageType" glib:get-type="gst_tag_image_type_get_type" c:type="GstTagImageType"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Type of image contained in an image tag (specified as "image-type" field in +the info structure in the image's #GstSample)</doc> + <member name="none" value="-1" c:identifier="GST_TAG_IMAGE_TYPE_NONE" glib:nick="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">No image type. Can be used to + tell functions such as gst_tag_image_data_to_image_sample() that no + image type should be set.</doc> + </member> + <member name="undefined" value="0" c:identifier="GST_TAG_IMAGE_TYPE_UNDEFINED" glib:nick="undefined"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Undefined/other image type</doc> + </member> + <member name="front_cover" value="1" c:identifier="GST_TAG_IMAGE_TYPE_FRONT_COVER" glib:nick="front-cover"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Cover (front)</doc> + </member> + <member name="back_cover" value="2" c:identifier="GST_TAG_IMAGE_TYPE_BACK_COVER" glib:nick="back-cover"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Cover (back)</doc> + </member> + <member name="leaflet_page" value="3" c:identifier="GST_TAG_IMAGE_TYPE_LEAFLET_PAGE" glib:nick="leaflet-page"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Leaflet page</doc> + </member> + <member name="medium" value="4" c:identifier="GST_TAG_IMAGE_TYPE_MEDIUM" glib:nick="medium"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Medium (e.g. label side of CD)</doc> + </member> + <member name="lead_artist" value="5" c:identifier="GST_TAG_IMAGE_TYPE_LEAD_ARTIST" glib:nick="lead-artist"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Lead artist/lead performer/soloist</doc> + </member> + <member name="artist" value="6" c:identifier="GST_TAG_IMAGE_TYPE_ARTIST" glib:nick="artist"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Artist/performer</doc> + </member> + <member name="conductor" value="7" c:identifier="GST_TAG_IMAGE_TYPE_CONDUCTOR" glib:nick="conductor"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Conductor</doc> + </member> + <member name="band_orchestra" value="8" c:identifier="GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA" glib:nick="band-orchestra"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Band/orchestra</doc> + </member> + <member name="composer" value="9" c:identifier="GST_TAG_IMAGE_TYPE_COMPOSER" glib:nick="composer"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Composer</doc> + </member> + <member name="lyricist" value="10" c:identifier="GST_TAG_IMAGE_TYPE_LYRICIST" glib:nick="lyricist"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Lyricist/text writer</doc> + </member> + <member name="recording_location" value="11" c:identifier="GST_TAG_IMAGE_TYPE_RECORDING_LOCATION" glib:nick="recording-location"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Recording location</doc> + </member> + <member name="during_recording" value="12" c:identifier="GST_TAG_IMAGE_TYPE_DURING_RECORDING" glib:nick="during-recording"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">During recording</doc> + </member> + <member name="during_performance" value="13" c:identifier="GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE" glib:nick="during-performance"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">During performance</doc> + </member> + <member name="video_capture" value="14" c:identifier="GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE" glib:nick="video-capture"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Movie/video screen capture</doc> + </member> + <member name="fish" value="15" c:identifier="GST_TAG_IMAGE_TYPE_FISH" glib:nick="fish"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">A fish as funny as the ID3v2 spec</doc> + </member> + <member name="illustration" value="16" c:identifier="GST_TAG_IMAGE_TYPE_ILLUSTRATION" glib:nick="illustration"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Illustration</doc> + </member> + <member name="band_artist_logo" value="17" c:identifier="GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO" glib:nick="band-artist-logo"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Band/artist logotype</doc> + </member> + <member name="publisher_studio_logo" value="18" c:identifier="GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO" glib:nick="publisher-studio-logo"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Publisher/studio logotype</doc> + </member> + </enumeration> + <bitfield name="TagLicenseFlags" glib:type-name="GstTagLicenseFlags" glib:get-type="gst_tag_license_flags_get_type" c:type="GstTagLicenseFlags"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">See http://creativecommons.org/ns for more information.</doc> + <member name="permits_reproduction" value="1" c:identifier="GST_TAG_LICENSE_PERMITS_REPRODUCTION" glib:nick="permits-reproduction"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">making multiple copies + is allowed</doc> + </member> + <member name="permits_distribution" value="2" c:identifier="GST_TAG_LICENSE_PERMITS_DISTRIBUTION" glib:nick="permits-distribution"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">distribution, public display + and public performance are allowed</doc> + </member> + <member name="permits_derivative_works" value="4" c:identifier="GST_TAG_LICENSE_PERMITS_DERIVATIVE_WORKS" glib:nick="permits-derivative-works"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">distribution of derivative + works is allowed</doc> + </member> + <member name="permits_sharing" value="8" c:identifier="GST_TAG_LICENSE_PERMITS_SHARING" glib:nick="permits-sharing"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">commercial derivatives are allowed, + but only non-commercial distribution is allowed</doc> + </member> + <member name="requires_notice" value="256" c:identifier="GST_TAG_LICENSE_REQUIRES_NOTICE" glib:nick="requires-notice"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">copyright and license notices + must be kept intact</doc> + </member> + <member name="requires_attribution" value="512" c:identifier="GST_TAG_LICENSE_REQUIRES_ATTRIBUTION" glib:nick="requires-attribution"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">credit must be given to + copyright holder and/or author</doc> + </member> + <member name="requires_share_alike" value="1024" c:identifier="GST_TAG_LICENSE_REQUIRES_SHARE_ALIKE" glib:nick="requires-share-alike"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">derivative works must be + licensed under the same terms or compatible terms as the original work</doc> + </member> + <member name="requires_source_code" value="2048" c:identifier="GST_TAG_LICENSE_REQUIRES_SOURCE_CODE" glib:nick="requires-source-code"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">source code (the preferred + form for making modifications) must be provided when exercising some + rights granted by the license</doc> + </member> + <member name="requires_copyleft" value="4096" c:identifier="GST_TAG_LICENSE_REQUIRES_COPYLEFT" glib:nick="requires-copyleft"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">derivative and combined works + must be licensed under specified terms, similar to those of the original + work</doc> + </member> + <member name="requires_lesser_copyleft" value="8192" c:identifier="GST_TAG_LICENSE_REQUIRES_LESSER_COPYLEFT" glib:nick="requires-lesser-copyleft"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">derivative works must be + licensed under specified terms, with at least the same conditions as + the original work; combinations with the work may be licensed under + different terms</doc> + </member> + <member name="prohibits_commercial_use" value="65536" c:identifier="GST_TAG_LICENSE_PROHIBITS_COMMERCIAL_USE" glib:nick="prohibits-commercial-use"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">exercising rights for + commercial purposes is prohibited</doc> + </member> + <member name="prohibits_high_income_nation_use" value="131072" c:identifier="GST_TAG_LICENSE_PROHIBITS_HIGH_INCOME_NATION_USE" glib:nick="prohibits-high-income-nation-use"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">use in a + non-developing country is prohibited</doc> + </member> + <member name="creative_commons_license" value="16777216" c:identifier="GST_TAG_LICENSE_CREATIVE_COMMONS_LICENSE" glib:nick="creative-commons-license"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">this license was created + by the Creative Commons project</doc> + </member> + <member name="free_software_foundation_license" value="33554432" c:identifier="GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE" glib:nick="free-software-foundation-license"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">this license was + created by the Free Software Foundation (FSF)</doc> + </member> + </bitfield> + <class name="TagMux" c:symbol-prefix="tag_mux" c:type="GstTagMux" parent="Gst.Element" abstract="1" glib:type-name="GstTagMux" glib:get-type="gst_tag_mux_get_type" glib:type-struct="TagMuxClass"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.c">Provides a base class for adding tags at the beginning or end of a +stream. + +## Deriving from GstTagMux + +Subclasses have to do the following things: + + * In their base init function, they must add pad templates for the sink + pad and the source pad to the element class, describing the media type + they accept and output in the caps of the pad template. + * In their class init function, they must override the + GST_TAG_MUX_CLASS(mux_klass)->render_start_tag and/or + GST_TAG_MUX_CLASS(mux_klass)->render_end_tag vfuncs and set up a render + function.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <implements name="Gst.TagSetter"/> + <virtual-method name="render_end_tag"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <return-value transfer-ownership="full"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <instance-parameter name="mux" transfer-ownership="none"> + <type name="TagMux" c:type="GstTagMux*"/> + </instance-parameter> + <parameter name="tag_list" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + </parameters> + </virtual-method> + <virtual-method name="render_start_tag"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <return-value transfer-ownership="full"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <instance-parameter name="mux" transfer-ownership="none"> + <type name="TagMux" c:type="GstTagMux*"/> + </instance-parameter> + <parameter name="tag_list" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + </parameters> + </virtual-method> + <field name="element"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h">parent element</doc> + <type name="Gst.Element" c:type="GstElement"/> + </field> + <field name="priv" readable="0" private="1"> + <type name="TagMuxPrivate" c:type="GstTagMuxPrivate*"/> + </field> + <field name="_gst_reserved" readable="0" private="1"> + <array zero-terminated="0" fixed-size="4"> + <type name="gpointer" c:type="gpointer"/> + </array> + </field> + </class> + <record name="TagMuxClass" c:type="GstTagMuxClass" glib:is-gtype-struct-for="TagMux"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h">The #GstTagMuxClass structure. Subclasses need to override at least one +of the two render vfuncs.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <field name="parent_class"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h">the parent class.</doc> + <type name="Gst.ElementClass" c:type="GstElementClass"/> + </field> + <field name="render_start_tag"> + <callback name="render_start_tag"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <return-value transfer-ownership="full"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <parameter name="mux" transfer-ownership="none"> + <type name="TagMux" c:type="GstTagMux*"/> + </parameter> + <parameter name="tag_list" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + </parameters> + </callback> + </field> + <field name="render_end_tag"> + <callback name="render_end_tag"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + <return-value transfer-ownership="full"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <parameter name="mux" transfer-ownership="none"> + <type name="TagMux" c:type="GstTagMux*"/> + </parameter> + <parameter name="tag_list" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + </parameters> + </callback> + </field> + <field name="_gst_reserved" readable="0" private="1"> + <array zero-terminated="0" fixed-size="4"> + <type name="gpointer" c:type="gpointer"/> + </array> + </field> + </record> + <record name="TagMuxPrivate" c:type="GstTagMuxPrivate" disguised="1"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gsttagmux.h"/> + </record> + <interface name="TagXmpWriter" c:symbol-prefix="tag_xmp_writer" c:type="GstTagXmpWriter" glib:type-name="GstTagXmpWriter" glib:get-type="gst_tag_xmp_writer_get_type" glib:type-struct="TagXmpWriterInterface"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">This interface is implemented by elements that are able to do XMP serialization. Examples for +such elements are #jifmux and #qtmux. + +Applications can use this interface to configure which XMP schemas should be used when serializing +tags into XMP. Schemas are represented by their names, a full list of the supported schemas can be +obtained from gst_tag_xmp_list_schemas(). By default, all schemas are used.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <prerequisite name="Gst.Element"/> + <method name="add_all_schemas" c:identifier="gst_tag_xmp_writer_add_all_schemas"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">Adds all available XMP schemas to the configuration. Meaning that +all will be used.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <return-value transfer-ownership="none"> + <type name="none" c:type="void"/> + </return-value> + <parameters> + <instance-parameter name="config" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">a #GstTagXmpWriter</doc> + <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/> + </instance-parameter> + </parameters> + </method> + <method name="add_schema" c:identifier="gst_tag_xmp_writer_add_schema"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">Adds @schema to the list schemas</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <return-value transfer-ownership="none"> + <type name="none" c:type="void"/> + </return-value> + <parameters> + <instance-parameter name="config" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">a #GstTagXmpWriter</doc> + <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/> + </instance-parameter> + <parameter name="schema" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">the schema to be added</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </method> + <method name="has_schema" c:identifier="gst_tag_xmp_writer_has_schema"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">Checks if @schema is going to be used</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <return-value transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">%TRUE if it is going to be used</doc> + <type name="gboolean" c:type="gboolean"/> + </return-value> + <parameters> + <instance-parameter name="config" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">a #GstTagXmpWriter</doc> + <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/> + </instance-parameter> + <parameter name="schema" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">the schema to test</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </method> + <method name="remove_all_schemas" c:identifier="gst_tag_xmp_writer_remove_all_schemas"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">Removes all schemas from the list of schemas to use. Meaning that no +XMP will be generated.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <return-value transfer-ownership="none"> + <type name="none" c:type="void"/> + </return-value> + <parameters> + <instance-parameter name="config" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">a #GstTagXmpWriter</doc> + <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/> + </instance-parameter> + </parameters> + </method> + <method name="remove_schema" c:identifier="gst_tag_xmp_writer_remove_schema"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">Removes a schema from the list of schemas to use. Nothing is done if +the schema wasn't in the list</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <return-value transfer-ownership="none"> + <type name="none" c:type="void"/> + </return-value> + <parameters> + <instance-parameter name="config" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">a #GstTagXmpWriter</doc> + <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/> + </instance-parameter> + <parameter name="schema" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.c">the schema to remove</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </method> + <method name="tag_list_to_xmp_buffer" c:identifier="gst_tag_xmp_writer_tag_list_to_xmp_buffer"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <return-value transfer-ownership="full"> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <instance-parameter name="config" transfer-ownership="none"> + <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/> + </instance-parameter> + <parameter name="taglist" transfer-ownership="none"> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + <parameter name="read_only" transfer-ownership="none"> + <type name="gboolean" c:type="gboolean"/> + </parameter> + </parameters> + </method> + </interface> + <record name="TagXmpWriterInterface" c:type="GstTagXmpWriterInterface" glib:is-gtype-struct-for="TagXmpWriter"> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/xmpwriter.h"/> + <field name="parent"> + <type name="GObject.TypeInterface" c:type="GTypeInterface"/> + </field> + </record> + <function name="tag_check_language_code" c:identifier="gst_tag_check_language_code"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">Check if a given string contains a known ISO 639 language code. + +This is useful in situations where it's not clear whether a given +string is a language code (which should be put into a #GST_TAG_LANGUAGE_CODE +tag) or a free-form language name descriptor (which should be put into a +#GST_TAG_LANGUAGE_NAME tag instead).</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">TRUE if the two- or three-letter language code in @lang_code + is a valid ISO-639 language code.</doc> + <type name="gboolean" c:type="gboolean"/> + </return-value> + <parameters> + <parameter name="lang_code" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_freeform_string_to_utf8" c:identifier="gst_tag_freeform_string_to_utf8"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">Convenience function to read a string with unknown character encoding. If +the string is already in UTF-8 encoding, it will be returned right away. +If not it tries to detect byte-order-mark for UTF-16/32 cases and use that. +Otherwise, the environment will be searched for a number of environment +variables (whose names are specified in the NULL-terminated string array +@env_vars) containing a list of character encodings to try/use. If none +are specified, the current locale will be tried. If that also doesn't work, +WINDOWS-1252/ISO-8859-1 is assumed (which will almost always succeed).</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">a newly-allocated string in UTF-8 encoding, or NULL</doc> + <type name="utf8" c:type="gchar*"/> + </return-value> + <parameters> + <parameter name="data" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">string data</doc> + <array length="1" zero-terminated="0" c:type="const gchar*"> + <type name="gchar"/> + </array> + </parameter> + <parameter name="size" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">length of string data, or -1 if the string is NUL-terminated</doc> + <type name="gint" c:type="gint"/> + </parameter> + <parameter name="env_vars" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c"> + a NULL-terminated string array of environment variable names, or NULL</doc> + <array c:type="const gchar**"> + <type name="utf8" c:type="gchar*"/> + </array> + </parameter> + </parameters> + </function> + <function name="tag_from_id3_tag" c:identifier="gst_tag_from_id3_tag"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">Looks up the GStreamer tag for a ID3v2 tag.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">The corresponding GStreamer tag or NULL if none exists.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="id3_tag" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">ID3v2 tag to convert to GStreamer tag</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_from_id3_user_tag" c:identifier="gst_tag_from_id3_user_tag"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in +TXXX frame or owner in UFID frame).</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">The corresponding GStreamer tag or NULL if none exists.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="type" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">the type of ID3v2 user tag (e.g. "TXXX" or "UDIF")</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + <parameter name="id3_user_tag" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">ID3v2 user tag to convert to GStreamer tag</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_from_vorbis_tag" c:identifier="gst_tag_from_vorbis_tag"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">Looks up the GStreamer tag for a vorbiscomment tag.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">The corresponding GStreamer tag or NULL if none exists.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="vorbis_tag" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">vorbiscomment tag to convert to GStreamer tag</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_id3v2_tag_size" c:identifier="gst_tag_get_id3v2_tag_size"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c">Determines size of an ID3v2 tag on buffer containing at least ID3v2 header, +i.e. at least #GST_TAG_ID3V2_HEADER_SIZE (10) bytes;</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c">Size of tag, or 0 if header is invalid or too small.</doc> + <type name="guint" c:type="guint"/> + </return-value> + <parameters> + <parameter name="buffer" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c">buffer holding ID3v2 tag (or at least the start of one)</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + </parameters> + </function> + <function-macro name="tag_get_language_code" c:identifier="gst_tag_get_language_code" introspectable="0"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">Convenience macro wrapping gst_tag_get_language_code_iso_639_1().</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <parameters> + <parameter name="lang_code"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc> + </parameter> + </parameters> + </function-macro> + <function name="tag_get_language_code_iso_639_1" c:identifier="gst_tag_get_language_code_iso_639_1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2 +language code or two-letter ISO-639-1 language code (both are accepted for +convenience). + +Language codes are case-sensitive and expected to be lower case.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">two-letter ISO-639-1 language code string that maps to @lang_code, + or NULL if no mapping is known. The returned string must not be + modified or freed.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="lang_code" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_language_code_iso_639_2B" c:identifier="gst_tag_get_language_code_iso_639_2B"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">Returns three-letter ISO-639-2 "bibliographic" language code given a +two-letter ISO-639-1 language code or a three-letter ISO-639-2 language +code (both are accepted for convenience). + +The "bibliographic" code is derived from the English name of the language +(e.g. "ger" for German instead of "de" or "deu"). In most scenarios, the +"terminological" codes are preferred. + +Language codes are case-sensitive and expected to be lower case.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">three-letter ISO-639-2 language code string that maps to @lang_code, + or NULL if no mapping is known. The returned string must not be + modified or freed.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="lang_code" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_language_code_iso_639_2T" c:identifier="gst_tag_get_language_code_iso_639_2T"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">Returns three-letter ISO-639-2 "terminological" language code given a +two-letter ISO-639-1 language code or a three-letter ISO-639-2 language +code (both are accepted for convenience). + +The "terminological" code is derived from the local name of the language +(e.g. "deu" for German instead of "ger"). In most scenarios, the +"terminological" codes are preferred over the "bibliographic" ones. + +Language codes are case-sensitive and expected to be lower case.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">three-letter ISO-639-2 language code string that maps to @lang_code, + or NULL if no mapping is known. The returned string must not be + modified or freed.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="lang_code" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_language_codes" c:identifier="gst_tag_get_language_codes"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">Returns a list of known language codes (in form of two-letter ISO-639-1 +codes). This is useful for UIs to build a list of available languages for +tagging purposes (e.g. to tag an audio track appropriately in a video or +audio editor).</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">NULL-terminated string array with two-letter + language codes. Free with g_strfreev() when no longer needed.</doc> + <array c:type="gchar**"> + <type name="utf8"/> + </array> + </return-value> + </function> + <function name="tag_get_language_name" c:identifier="gst_tag_get_language_name"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">Returns the name of the language given an ISO-639 language code as +found in a GST_TAG_LANGUAGE_CODE tag. The name will be translated +according to the current locale (if the library was built against the +iso-codes package, otherwise the English name will be returned). + +Language codes are case-sensitive and expected to be lower case.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">language name in UTF-8 format, or NULL if @language_code could + not be mapped to a language name. The returned string must not be + modified and does not need to freed; it will stay valid until the + application is terminated.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="language_code" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">two or three-letter ISO-639 language code</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_license_description" c:identifier="gst_tag_get_license_description"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">Get the description of a license, which is a translated description +of the license's main features.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">the description of the license, or NULL if the license is unknown + or a description is not available.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="license_ref" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">a license reference string in form of a URI, + e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_license_flags" c:identifier="gst_tag_get_license_flags"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">Get the flags of a license, which describe most of the features of +a license in their most general form.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">the flags of the license, or 0 if the license is unknown</doc> + <type name="TagLicenseFlags" c:type="GstTagLicenseFlags"/> + </return-value> + <parameters> + <parameter name="license_ref" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">a license reference string in form of a URI, + e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_license_jurisdiction" c:identifier="gst_tag_get_license_jurisdiction"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">Get the jurisdiction code of a license. This is usually a two-letter +ISO 3166-1 alpha-2 code, but there is also the special case of Scotland, +for which no code exists and which is thus represented as "scotland". + +Known jurisdictions: ar, at, au, be, bg, br, ca, ch, cl, cn, co, de, +dk, es, fi, fr, hr, hu, il, in, it, jp, kr, mk, mt, mx, my, nl, pe, pl, +pt, scotland, se, si, tw, uk, us, za.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">the jurisdiction code of the license, or NULL if the license is + unknown or is not specific to a particular jurisdiction.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="license_ref" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">a license reference string in form of a URI, + e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_license_nick" c:identifier="gst_tag_get_license_nick"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">Get the nick name of a license, which is a short (untranslated) string +such as e.g. "CC BY-NC-ND 2.0 UK".</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">the nick name of the license, or NULL if the license is unknown</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="license_ref" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">a license reference string in form of a URI, + e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_license_title" c:identifier="gst_tag_get_license_title"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">Get the title of a license, which is a short translated description +of the license's features (generally not very pretty though).</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">the title of the license, or NULL if the license is unknown or + no title is available.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="license_ref" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">a license reference string in form of a URI, + e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_license_version" c:identifier="gst_tag_get_license_version"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">Get the version of a license.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">the version of the license, or NULL if the license is not known or + has no version</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="license_ref" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">a license reference string in form of a URI, + e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_get_licenses" c:identifier="gst_tag_get_licenses"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">Returns a list of known license references (in form of URIs). This is +useful for UIs to build a list of available licenses for tagging purposes +(e.g. to tag an audio track appropriately in a video or audio editor, or +an image in a camera application).</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">NULL-terminated array of license strings. Free + with g_strfreev() when no longer needed.</doc> + <array c:type="gchar**"> + <type name="utf8"/> + </array> + </return-value> + </function> + <function name="tag_id3_genre_count" c:identifier="gst_tag_id3_genre_count"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">Gets the number of ID3v1 genres that can be identified. Winamp genres are +included.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">the number of ID3v1 genres that can be identified</doc> + <type name="guint" c:type="guint"/> + </return-value> + </function> + <function name="tag_id3_genre_get" c:identifier="gst_tag_id3_genre_get"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">Gets the ID3v1 genre name for a given ID.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">the genre or NULL if no genre is associated with that ID.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="id" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">ID of genre to query</doc> + <type name="guint" c:type="const guint"/> + </parameter> + </parameters> + </function> + <function name="tag_image_data_to_image_sample" c:identifier="gst_tag_image_data_to_image_sample"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">Helper function for tag-reading plugins to create a #GstSample suitable to +add to a #GstTagList as an image tag (such as #GST_TAG_IMAGE or +#GST_TAG_PREVIEW_IMAGE) from the encoded image data and an (optional) image +type. + +Background: cover art and other images in tags are usually stored as a +blob of binary image data, often accompanied by a MIME type or some other +content type string (e.g. 'png', 'jpeg', 'jpg'). Sometimes there is also an +'image type' to indicate what kind of image this is (e.g. front cover, +back cover, artist, etc.). The image data may also be an URI to the image +rather than the image itself. + +In GStreamer, image tags are #GstSample<!-- -->s containing the raw image +data, with the sample caps describing the content type of the image +(e.g. image/jpeg, image/png, text/uri-list). The sample info may contain +an additional 'image-type' field of #GstTagImageType to describe +the type of image (front cover, back cover etc.). #GST_TAG_PREVIEW_IMAGE +tags should not carry an image type, their type is already indicated via +the special tag name. + +This function will do various checks and typefind the encoded image +data (we can't trust the declared mime type).</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">a newly-allocated image sample for use in tag lists, or NULL</doc> + <type name="Gst.Sample" c:type="GstSample*"/> + </return-value> + <parameters> + <parameter name="image_data" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">the (encoded) image</doc> + <array length="1" zero-terminated="0" c:type="const guint8*"> + <type name="guint8" c:type="guint8"/> + </array> + </parameter> + <parameter name="image_data_len" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">the length of the encoded image data at @image_data</doc> + <type name="guint" c:type="guint"/> + </parameter> + <parameter name="image_type" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">type of the image, or #GST_TAG_IMAGE_TYPE_UNDEFINED. Pass + #GST_TAG_IMAGE_TYPE_NONE if no image type should be set at all (e.g. + for preview images)</doc> + <type name="TagImageType" c:type="GstTagImageType"/> + </parameter> + </parameters> + </function> + <function name="tag_list_add_id3_image" c:identifier="gst_tag_list_add_id3_image"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">Adds an image from an ID3 APIC frame (or similar, such as used in FLAC) +to the given tag list. Also see gst_tag_image_data_to_image_sample() for +more information on image tags in GStreamer.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">%TRUE if the image was processed, otherwise %FALSE</doc> + <type name="gboolean" c:type="gboolean"/> + </return-value> + <parameters> + <parameter name="tag_list" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">a tag list</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </parameter> + <parameter name="image_data" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">the (encoded) image</doc> + <array length="2" zero-terminated="0" c:type="const guint8*"> + <type name="guint8" c:type="guint8"/> + </array> + </parameter> + <parameter name="image_data_len" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">the length of the encoded image data at @image_data</doc> + <type name="guint" c:type="guint"/> + </parameter> + <parameter name="id3_picture_type" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">picture type as per the ID3 (v2.4.0) specification for + the APIC frame (0 = unknown/other)</doc> + <type name="guint" c:type="guint"/> + </parameter> + </parameters> + </function> + <function name="tag_list_from_exif_buffer" c:identifier="gst_tag_list_from_exif_buffer"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">Parses the IFD and IFD tags data contained in the buffer and puts it +on a taglist. The base_offset is used to subtract from the offset in +the tag entries and be able to get the offset relative to the buffer +start</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">The parsed taglist</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <parameter name="buffer" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">The exif buffer</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + <parameter name="byte_order" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">byte order of the data</doc> + <type name="gint" c:type="gint"/> + </parameter> + <parameter name="base_offset" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">Offset from the tiff header to this buffer</doc> + <type name="guint32" c:type="guint32"/> + </parameter> + </parameters> + </function> + <function name="tag_list_from_exif_buffer_with_tiff_header" c:identifier="gst_tag_list_from_exif_buffer_with_tiff_header"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">Parses the exif tags starting with a tiff header structure.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">The taglist</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <parameter name="buffer" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">The exif buffer</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + </parameters> + </function> + <function name="tag_list_from_id3v2_tag" c:identifier="gst_tag_list_from_id3v2_tag"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c">Creates a new tag list that contains the information parsed out of a +ID3 tag.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c">A new #GstTagList with all tags that could be extracted from the + given vorbiscomment buffer or NULL on error.</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <parameter name="buffer" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c">buffer to convert</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + </parameters> + </function> + <function name="tag_list_from_vorbiscomment" c:identifier="gst_tag_list_from_vorbiscomment"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">Creates a new tag list that contains the information parsed out of a +vorbiscomment packet.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">A new #GstTagList with all tags that could be extracted from the + given vorbiscomment buffer or NULL on error.</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <parameter name="data" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">data to convert</doc> + <array length="1" zero-terminated="0" c:type="const guint8*"> + <type name="guint8" c:type="guint8"/> + </array> + </parameter> + <parameter name="size" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">size of @data</doc> + <type name="gsize" c:type="gsize"/> + </parameter> + <parameter name="id_data" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">identification data at start of stream</doc> + <array length="3" zero-terminated="0" c:type="const guint8*"> + <type name="guint8" c:type="guint8"/> + </array> + </parameter> + <parameter name="id_data_length" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">length of identification data</doc> + <type name="guint" c:type="const guint"/> + </parameter> + <parameter name="vendor_string" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">pointer to a string that should take the + vendor string of this vorbis comment or NULL if you don't need it.</doc> + <type name="utf8" c:type="gchar**"/> + </parameter> + </parameters> + </function> + <function name="tag_list_from_vorbiscomment_buffer" c:identifier="gst_tag_list_from_vorbiscomment_buffer"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">Creates a new tag list that contains the information parsed out of a +vorbiscomment packet.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">A new #GstTagList with all tags that could be extracted from the + given vorbiscomment buffer or NULL on error.</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <parameter name="buffer" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">buffer to convert</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + <parameter name="id_data" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">identification data at start of stream</doc> + <array length="2" zero-terminated="0" c:type="const guint8*"> + <type name="guint8" c:type="guint8"/> + </array> + </parameter> + <parameter name="id_data_length" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">length of identification data</doc> + <type name="guint" c:type="const guint"/> + </parameter> + <parameter name="vendor_string" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">pointer to a string that should take the + vendor string of this vorbis comment or NULL if you don't need it.</doc> + <type name="utf8" c:type="gchar**"/> + </parameter> + </parameters> + </function> + <function name="tag_list_from_xmp_buffer" c:identifier="gst_tag_list_from_xmp_buffer"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">Parse a xmp packet into a taglist.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">new taglist or %NULL, free the list when done</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <parameter name="buffer" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">buffer</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </parameter> + </parameters> + </function> + <function name="tag_list_new_from_id3v1" c:identifier="gst_tag_list_new_from_id3v1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">Parses the data containing an ID3v1 tag and returns a #GstTagList from the +parsed data.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">A new tag list or NULL if the data was not an ID3v1 tag.</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </return-value> + <parameters> + <parameter name="data" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">128 bytes of data containing the ID3v1 tag</doc> + <array zero-terminated="0" c:type="const guint8*" fixed-size="128"> + <type name="guint8" c:type="guint8"/> + </array> + </parameter> + </parameters> + </function> + <function name="tag_list_to_exif_buffer" c:identifier="gst_tag_list_to_exif_buffer"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">Formats the tags in taglist on exif format. The resulting buffer contains +the tags IFD and is followed by the data pointed by the tag entries.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">A GstBuffer containing the tag entries followed by the tag data</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <parameter name="taglist" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">The taglist</doc> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + <parameter name="byte_order" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN)</doc> + <type name="gint" c:type="gint"/> + </parameter> + <parameter name="base_offset" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">Offset from the tiff header first byte</doc> + <type name="guint32" c:type="guint32"/> + </parameter> + </parameters> + </function> + <function name="tag_list_to_exif_buffer_with_tiff_header" c:identifier="gst_tag_list_to_exif_buffer_with_tiff_header"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">Formats the tags in taglist into exif structure, a tiff header +is put in the beginning of the buffer.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">A GstBuffer containing the data</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <parameter name="taglist" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">The taglist</doc> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + </parameters> + </function> + <function name="tag_list_to_vorbiscomment_buffer" c:identifier="gst_tag_list_to_vorbiscomment_buffer"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">Creates a new vorbiscomment buffer from a tag list.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">A new #GstBuffer containing a vorbiscomment buffer with all tags + that could be converted from the given tag list.</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <parameter name="list" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">tag list to convert</doc> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + <parameter name="id_data" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">identification data at start of stream</doc> + <array length="2" zero-terminated="0" c:type="const guint8*"> + <type name="guint8" c:type="guint8"/> + </array> + </parameter> + <parameter name="id_data_length" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">length of identification data, may be 0 if @id_data is NULL</doc> + <type name="guint" c:type="const guint"/> + </parameter> + <parameter name="vendor_string" transfer-ownership="none" nullable="1" allow-none="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">string that describes the vendor string or NULL</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_list_to_xmp_buffer" c:identifier="gst_tag_list_to_xmp_buffer"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">Formats a taglist as a xmp packet using only the selected +schemas. An empty list (%NULL) means that all schemas should +be used</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">new buffer or %NULL, unref the buffer when done</doc> + <type name="Gst.Buffer" c:type="GstBuffer*"/> + </return-value> + <parameters> + <parameter name="list" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">tags</doc> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + <parameter name="read_only" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">does the container forbid inplace editing</doc> + <type name="gboolean" c:type="gboolean"/> + </parameter> + <parameter name="schemas" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c"> + %NULL terminated array of schemas to be used on serialization</doc> + <array c:type="const gchar**"> + <type name="utf8" c:type="gchar*"/> + </array> + </parameter> + </parameters> + </function> + <function name="tag_parse_extended_comment" c:identifier="gst_tag_parse_extended_comment"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">Convenience function to parse a GST_TAG_EXTENDED_COMMENT string and +separate it into its components. + +If successful, @key, @lang and/or @value will be set to newly allocated +strings that you need to free with g_free() when done. @key and @lang +may also be set to NULL by this function if there is no key or no language +code in the extended comment string.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">TRUE if the string could be parsed, otherwise FALSE</doc> + <type name="gboolean" c:type="gboolean"/> + </return-value> + <parameters> + <parameter name="ext_comment" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">an extended comment string, see #GST_TAG_EXTENDED_COMMENT</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + <parameter name="key" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c"> + return location for the comment description key, or NULL</doc> + <type name="utf8" c:type="gchar**"/> + </parameter> + <parameter name="lang" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c"> + return location for the comment ISO-639 language code, or NULL</doc> + <type name="utf8" c:type="gchar**"/> + </parameter> + <parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">return location for the actual comment string, or NULL</doc> + <type name="utf8" c:type="gchar**"/> + </parameter> + <parameter name="fail_if_no_key" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">whether to fail if strings are not in key=value form</doc> + <type name="gboolean" c:type="gboolean"/> + </parameter> + </parameters> + </function> + <function name="tag_register_musicbrainz_tags" c:identifier="gst_tag_register_musicbrainz_tags"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">Registers additional musicbrainz-specific tags with the GStreamer tag +system. Plugins and applications that use these tags should call this +function before using them. Can be called multiple times.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <type name="none" c:type="void"/> + </return-value> + </function> + <function name="tag_to_id3_tag" c:identifier="gst_tag_to_id3_tag"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">Looks up the ID3v2 tag for a GStreamer tag.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">The corresponding ID3v2 tag or NULL if none exists.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="gst_tag" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">GStreamer tag to convert to vorbiscomment tag</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_to_vorbis_comments" c:identifier="gst_tag_to_vorbis_comments"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">Creates a new tag list that contains the information parsed out of a +vorbiscomment packet.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="full"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">A #GList of newly-allocated + key=value strings. Free with g_list_foreach (list, (GFunc) g_free, NULL) + plus g_list_free (list)</doc> + <type name="GLib.List" c:type="GList*"> + <type name="utf8"/> + </type> + </return-value> + <parameters> + <parameter name="list" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">a #GstTagList</doc> + <type name="Gst.TagList" c:type="const GstTagList*"/> + </parameter> + <parameter name="tag" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">a GStreamer tag identifier, such as #GST_TAG_ARTIST</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_to_vorbis_tag" c:identifier="gst_tag_to_vorbis_tag"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">Looks up the vorbiscomment tag for a GStreamer tag.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">The corresponding vorbiscomment tag or NULL if none exists.</doc> + <type name="utf8" c:type="const gchar*"/> + </return-value> + <parameters> + <parameter name="gst_tag" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">GStreamer tag to convert to vorbiscomment tag</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + <function name="tag_xmp_list_schemas" c:identifier="gst_tag_xmp_list_schemas"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">Gets the list of supported schemas in the xmp lib</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">a %NULL terminated array of strings with the + schema names</doc> + <array c:type="const gchar**"> + <type name="utf8"/> + </array> + </return-value> + </function> + <function name="vorbis_tag_add" c:identifier="gst_vorbis_tag_add"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">Convenience function using gst_tag_from_vorbis_tag(), parsing +a vorbis comment string into the right type and adding it to the +given taglist @list. + +Unknown vorbiscomment tags will be added to the tag list in form +of a #GST_TAG_EXTENDED_COMMENT.</doc> + <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tag.h"/> + <return-value transfer-ownership="none"> + <type name="none" c:type="void"/> + </return-value> + <parameters> + <parameter name="list" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">a #GstTagList</doc> + <type name="Gst.TagList" c:type="GstTagList*"/> + </parameter> + <parameter name="tag" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">a vorbiscomment tag string (key in key=value), must be valid UTF-8</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + <parameter name="value" transfer-ownership="none"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">a vorbiscomment value string (value in key=value), must be valid UTF-8</doc> + <type name="utf8" c:type="const gchar*"/> + </parameter> + </parameters> + </function> + </namespace> +</repository> |