2013-06-17 14:23:54 +00:00
<?xml version="1.0"?>
2013-07-19 14:28:29 +00:00
<!--
Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
2013-06-17 14:23:54 +00:00
<metadata>
<!-- No Conversion for GLib.Value -->
2013-10-11 14:30:44 +00:00
<remove-node path="/api/namespace/object[@cname='GstPad']/property[@name='Caps']" />
2013-06-17 14:23:54 +00:00
<!-- Error with array -->
<attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_formats_contains']" name="hidden">true</attr>
2013-06-29 20:23:24 +00:00
<!-- MiniObject issues -->
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='copy']" name="type">gpointer</attr>
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='free']" name="type">gpointer</attr>
<attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='dispose']" name="type">gpointer</attr>
2013-07-10 13:45:41 +00:00
<attr path="/api/namespace/struct[@cname='GstMessage']/field[@cname='cond']" name="type">GCond*</attr>
2013-07-27 13:33:02 +00:00
<!-- structs and objects that should be opaque -->
2013-07-27 12:04:55 +00:00
<attr path="/api/namespace/boxed[@cname='GstDateTime']" name="opaque">true</attr>
2013-07-27 13:33:02 +00:00
<attr path="/api/namespace/boxed[@cname='GstBufferList']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@cname='GstSample']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@cname='GstAtomicQueue']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@cname='GstParseContext']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstElementFactory']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstTypeFindFactory']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstPluginFeature']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstPlugin']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstBus']" name="opaque">true</attr>
<attr path="/api/namespace/object[@cname='GstRegistry']" name="opaque">true</attr>
2013-10-27 12:13:36 +00:00
<!-- hide some fields which do not exist -->
<attr path="/api/namespace/object[@cname='GstBus']/field[@cname='object']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstElement']/field[@cname='object']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstBin']/field[@cname='element']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstPipeline']/field[@cname='bin']" name="hidden">true</attr>
2013-07-10 13:45:41 +00:00
<!-- add native attribute to all structs which need special handling -->
<change-node-type path="/api/namespace//boxed[field/@cname='mini_object']">struct</change-node-type>
<attr path="/api/namespace//struct[field/@cname='mini_object']" name="native">true</attr>
<change-node-type path="/api/namespace//boxed[@cname='GstStructure']">struct</change-node-type>
<attr path="/api/namespace/struct[@cname='GstStructure']" name="native">true</attr>
2013-10-27 12:13:36 +00:00
<attr path="/api/namespace/struct[@cname='GstRTSPMessage']" name="native">true</attr>
2013-10-11 12:53:39 +00:00
<change-node-type path="/api/namespace//boxed[@cname='GstIterator']">struct</change-node-type>
<attr path="/api/namespace/struct[@cname='GstIterator']" name="native">true</attr>
2013-10-12 15:54:30 +00:00
<attr path="/api/namespace/struct[@cname='GstIterator']/method[@cname='gst_iterator_next']" name="hidden">true</attr>
2013-07-10 13:45:41 +00:00
<remove-node path="/api/namespace/boxed[@cname='GstStructure']/field[@cname='name']" />
2013-10-27 00:57:41 +00:00
<!-- Fix for GstChildProxy -->
<attr path="/api/namespace/interface[@cname='GstChildProxy']/method[@cname='gst_child_proxy_get_property']" name="hidden">1</attr>
<attr path="/api/namespace/interface[@cname='GstChildProxy']/method[@cname='gst_child_proxy_set_property']" name="hidden">1</attr>
2013-10-27 12:13:36 +00:00
<!-- FIXME: array handling -->
<attr path="/api/namespace/struct[@cname='GstRTCPPacket']/method[@cname='gst_rtcp_packet_sdes_copy_entry']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTCPPacket']/method[@cname='gst_rtcp_packet_sdes_get_entry']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTCPPacket']/method[@cname='gst_rtcp_packet_sdes_extension_data']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTPBuffer']/method[@cname='gst_rtp_buffer_get_extension_data']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTPBuffer']/method[@cname='gst_rtp_buffer_get_extension_onebyte_header']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTPBuffer']/method[@cname='gst_rtp_buffer_get_extension_twobytes_header']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTSPMessage']/method[@cname='gst_rtsp_message_get_body']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstRTSPMessage']/method[@cname='gst_rtsp_message_steal_body']" name="hidden">true</attr>
2013-06-17 14:23:54 +00:00
<!-- Maybe some problems with the name -->
<remove-node path="/api/namespace/interface[@cname='GstURIHandler']/class_struct/method[@vm='get_type']" name="vm" />
<remove-node path="/api/namespace/interface[@cname='GstURIHandler']/virtual_method[@cname='get_type']" name="hidden" />
2013-06-29 20:23:24 +00:00
<!-- gapi cannot handle count parameters properly -->
<attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_init']/parameters/parameter[@name='argc']" name="name">n_argc</attr>
<attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_init_check']/parameters/parameter[@name='argc']" name="name">n_argc</attr>
<!-- calling oldobj.Handle should fix this -->
<remove-attr path="/api/namespace/object[@cname='GstObject']/method[@cname='gst_object_replace']/parameters/parameter[@name='oldobj']" name="pass_as" />
2013-07-19 12:58:37 +00:00
<!-- Some glue problems -->
<attr path="/api/namespace/object[@cname='GstObject']/field[@cname='object']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstClockEntry']/field[@cname='func']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstClockEntry']/field[@cname='destroy_data']" name="hidden">true</attr>
<attr path="/api/namespace/object[@cname='GstTask']/field[@cname='notify']" name="hidden">true</attr>
2013-10-13 16:32:21 +00:00
2013-10-15 19:03:59 +00:00
<!-- These classes are not abstract but should not be instantiable from managed. FIXME: bug in gir metadata? -->
2013-07-01 17:31:07 +00:00
<remove-attr path="/api/namespace/object[@cname='GstElement']" name="abstract" />
2013-10-15 19:03:59 +00:00
<attr path="/api/namespace/object[@cname='GstElement']" name="defaultconstructoraccess">protected</attr>
2013-10-13 16:32:21 +00:00
<remove-attr path="/api/namespace/object[@cname='GstBaseSrc']" name="abstract" />
2013-10-15 19:03:59 +00:00
<attr path="/api/namespace/object[@cname='GstBaseSrc']" name="defaultconstructoraccess">protected</attr>
<remove-attr path="/api/namespace/object[@cname='GstBaseTransform']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstBaseTransform']" name="defaultconstructoraccess">protected</attr>
<remove-attr path="/api/namespace/object[@cname='GstAudioFilter']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstAudioFilter']" name="defaultconstructoraccess">protected</attr>
<remove-attr path="/api/namespace/object[@cname='GstBaseSink']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstBaseSink']" name="defaultconstructoraccess">protected</attr>
<remove-attr path="/api/namespace/object[@cname='GstBaseParse']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstBaseParse']" name="defaultconstructoraccess">protected</attr>
<remove-attr path="/api/namespace/object[@cname='GstAudioDecoder']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstAudioDecoder']" name="defaultconstructoraccess">protected</attr>
<remove-attr path="/api/namespace/object[@cname='GstVideoDecoder']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstVideoDecoder']" name="defaultconstructoraccess">protected</attr>
<remove-attr path="/api/namespace/object[@cname='GstVideoFilter']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstVideoFilter']" name="defaultconstructoraccess">protected</attr>
2013-11-02 19:43:54 +00:00
<remove-attr path="/api/namespace/object[@cname='GstTagDemux']" name="abstract" />
<attr path="/api/namespace/object[@cname='GstTagDemux']" name="defaultconstructoraccess">protected</attr>
2013-10-13 16:32:21 +00:00
2013-07-20 12:46:16 +00:00
<!-- Add miniobject methods to all miniobject types -->
<copy-node path="/api/namespace/struct[@cname='GstMiniObject']//method">/api/namespace//boxed[field/@cname='mini_object']</copy-node>
<attr path="/api/namespace/struct[@cname='GstMiniObject']//method" name="hidden">true</attr>
2013-10-12 12:24:52 +00:00
<!-- hide user data; FIXME: already removed in 1.2 GIR file, remove when we update to this version -->
2013-10-11 20:52:06 +00:00
<attr path="/api/namespace/object[@cname='GstBus']/method[@cname='gst_bus_sync_signal_handler']/parameters/parameter[@name='data']" name="hidden">1</attr>
2013-10-12 12:24:52 +00:00
2013-07-03 16:58:30 +00:00
<!-- API improvements -->
<add-node path="/api/namespace[@name='Gst']"><class name="Parse" cname="GstParse" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_parse')]">/api/namespace/class[@name='Parse']</move-node>
<remove-node path="/api/namespace/object[@name='Global']//method[@cname = 'gst_caps_from_string']" />
2013-07-11 13:20:51 +00:00
<move-node path="/api/namespace/object[@name='Global']//method[contains(@cname, 'caps')]">/api/namespace/struct[@cname='GstCaps']</move-node>
2013-07-03 16:58:30 +00:00
<add-node path="/api/namespace[@name='Gst']"><class name="Debug" cname="GstDebug" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_debug')]">/api/namespace/class[@cname='GstDebug']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Application" cname="GstApplication" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[contains(@cname, 'init') or starts-with(@cname, 'gst_version')]">/api/namespace/class[@cname='GstApplication']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Value" cname="GstValue" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_value')]">/api/namespace/class[@cname='GstValue']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Tag" cname="GstTag" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_tag')]">/api/namespace/class[@cname='GstTag']</move-node>
<add-node path="/api/namespace[@name='Gst']"><class name="Util" cname="GstUtil" disable_void_ctor="1"></class></add-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_format') or starts-with(@cname, 'gst_uri') or starts-with(@cname, 'gst_util') or @cname='gst_filename_to_uri']">/api/namespace/class[@cname='GstUtil']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[contains(@cname, 'registry')]">/api/namespace/object[@cname='GstRegistry']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_poll')]">/api/namespace/struct[@cname='GstPoll']</move-node>
2013-07-11 13:20:51 +00:00
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_message')]">/api/namespace/struct[@cname='GstMessage']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_event')]">/api/namespace/struct[@cname='GstEvent']</move-node>
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_query')]">/api/namespace/struct[@cname='GstQuery']</move-node>
2013-07-03 16:58:30 +00:00
<move-node path="/api/namespace/object[@name='Global']//method[starts-with(@cname, 'gst_pad')]">/api/namespace/object[@cname='GstPad']</move-node>
2013-07-11 13:20:51 +00:00
<!-- Things implemented on our own -->
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_parse_error']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_get_stream_status_object']" name="hidden">true</attr>
<attr path="/api/namespace/struct[@cname='GstMessage']/method[@cname='gst_message_set_stream_status_object']" name="hidden">true</attr>
2013-10-10 12:37:13 +00:00
<!-- GstVideo -->
<attr path="/api/namespace/boxed[@cname='GstVideoCodecState']/field[@cname='padding']" name="type">gpointer</attr>
<attr path="/api/namespace/object[@cname='GstVideoDecoder']/field[@cname='padding']" name="type">gpointer</attr>
<attr path="/api/namespace/object[@cname='GstVideoDecoder']/class_struct/field[@cname='padding']" name="type">gpointer</attr>
<attr path="/api/namespace/enum[@cname='GstVideoColorRange']/member[@name='0255']" name="name">EightBit</attr>
<attr path="/api/namespace/enum[@cname='GstVideoColorRange']/member[@name='16235']" name="name">SixteenBit</attr>
<attr path="/api/namespace/object[@cname='GstAdapter']/method[@cname='gst_adapter_copy']" name="hidden">1</attr>
<attr path="/api/namespace/struct[@cname='GstByteReader']" name="opaque">1</attr>
<remove-node path="/api/namespace//struct[@cname='GstByteReader']//method" />
2013-10-12 12:24:52 +00:00
2013-10-11 19:59:29 +00:00
<!-- FIXME: remove when https://bugzilla.gnome.org/show_bug.cgi?id=709938 is fixed -->
<attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_query_parse_commands_length']/parameters/parameter[@name='n_cmds']" name="pass_as">out</attr>
<attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_query_parse_commands_nth']/parameters/parameter[@name='cmd']" name="pass_as">out</attr>
2013-10-10 12:58:49 +00:00
<!-- GstAudio -->
<attr path="/api/namespace/object[@cname='GstAudioClock']/field[@cname='destroy_notify']" name="hidden">1</attr>
<attr path="/api/namespace/interface[@cname='GstStreamVolume']/property[@cname='volume']" name="hidden">1</attr>
2013-10-27 12:13:36 +00:00
<!-- Name clashes -->
<attr path="/api/namespace/struct[@cname='GstRTCPBuffer']/field[@cname='map']" name="name">MapInfo</attr>
<attr path="/api/namespace/struct[@cname='GstRTPBuffer']/field[@cname='map']" name="name">MapInfo</attr>
<!-- Enums starting with numbers -->
<attr path="/api/namespace/enum[@cname='GstRTPPayload']/member[@name='1016']" name="name">ThousandSixteen</attr>
<attr path="/api/namespace/enum[@cname='GstRTSPVersion']/member[@name='10']" name="name">Ten</attr>
<attr path="/api/namespace/enum[@cname='GstRTSPVersion']/member[@name='11']" name="name">Eleven</attr>
2013-10-10 13:13:45 +00:00
<!-- Namespace switches -->
<attr path="/api/namespace[@name='GstVideo']" name="name">Gst.Video</attr>
<attr path="/api/namespace[@name='GstAudio']" name="name">Gst.Audio</attr>
<attr path="/api/namespace[@name='GstBase']" name="name">Gst.Base</attr>
2013-10-10 13:33:16 +00:00
<attr path="/api/namespace[@name='GstPbutils']" name="name">Gst.PbUtils</attr>
2013-10-18 20:26:03 +00:00
<attr path="/api/namespace[@name='GstTag']" name="name">Gst.Tags</attr>
2013-10-27 12:13:36 +00:00
<attr path="/api/namespace[@name='GstApp']" name="name">Gst.App</attr>
<attr path="/api/namespace[@name='GstController']" name="name">Gst.Controller</attr>
<attr path="/api/namespace[@name='GstFft']" name="name">Gst.FFT</attr>
<attr path="/api/namespace[@name='GstNet']" name="name">Gst.Net</attr>
<attr path="/api/namespace[@name='GstRiff']" name="name">Gst.Riff</attr>
<attr path="/api/namespace[@name='GstRtp']" name="name">Gst.Rtp</attr>
<attr path="/api/namespace[@name='GstRtsp']" name="name">Gst.Rtsp</attr>
<attr path="/api/namespace[@name='GstSdp']" name="name">Gst.Sdp</attr>
2013-10-11 08:45:50 +00:00
<attr path="/api/namespace[@name='Gst.Base']/object[@name='Global']" name="name">GlobalBase</attr>
<attr path="/api/namespace[@name='Gst.Video']/object[@name='Global']" name="name">GlobalVideo</attr>
<attr path="/api/namespace[@name='Gst.Audio']/object[@name='Global']" name="name">GlobalAudio</attr>
<attr path="/api/namespace[@name='Gst.PbUtils']/object[@name='Global']" name="name">GlobalPbUtil</attr>
2013-10-18 20:26:03 +00:00
<attr path="/api/namespace[@name='Gst.Tags']/object[@name='Global']" name="name">GlobalTag</attr>
2013-10-27 12:13:36 +00:00
<attr path="/api/namespace[@name='Gst.App']/object[@name='Global']" name="name">GlobalApp</attr>
<attr path="/api/namespace[@name='Gst.Controller']/object[@name='Global']" name="name">GlobalController</attr>
<attr path="/api/namespace[@name='Gst.FFT']/object[@name='Global']" name="name">GlobalFFT</attr>
<attr path="/api/namespace[@name='Gst.Net']/object[@name='Global']" name="name">GlobalNet</attr>
<attr path="/api/namespace[@name='Gst.Riff']/object[@name='Global']" name="name">GlobalRiff</attr>
<attr path="/api/namespace[@name='Gst.Rtp']/object[@name='Global']" name="name">GlobalRtp</attr>
<attr path="/api/namespace[@name='Gst.Rtsp']/object[@name='Global']" name="name">GlobalRtsp</attr>
<attr path="/api/namespace[@name='Gst.Sdp']/object[@name='Global']" name="name">GlobalSdp</attr>
2013-10-11 08:45:50 +00:00
<attr path="/api/namespace[@name='Gst.Base']/object[@name='Constants']" name="name">ConstantsBase</attr>
<attr path="/api/namespace[@name='Gst.Video']/object[@name='Constants']" name="name">ConstantsVideo</attr>
<attr path="/api/namespace[@name='Gst.Audio']/object[@name='Constants']" name="name">ConstantsAudio</attr>
<attr path="/api/namespace[@name='Gst.PbUtils']/object[@name='Constants']" name="name">ConstantsPbUtil</attr>
2013-10-18 20:26:03 +00:00
<attr path="/api/namespace[@name='Gst.Tags']/object[@name='Constants']" name="name">ConstantsTag</attr>
2013-10-27 12:13:36 +00:00
<attr path="/api/namespace[@name='Gst.App']/object[@name='Constants']" name="name">ConstantsApp</attr>
<attr path="/api/namespace[@name='Gst.Controller']/object[@name='Constants']" name="name">ConstantsController</attr>
<attr path="/api/namespace[@name='Gst.FFT']/object[@name='Constants']" name="name">ConstantsFFT</attr>
<attr path="/api/namespace[@name='Gst.Net']/object[@name='Constants']" name="name">ConstantsNet</attr>
<attr path="/api/namespace[@name='Gst.Riff']/object[@name='Constants']" name="name">ConstantsRiff</attr>
<attr path="/api/namespace[@name='Gst.Rtp']/object[@name='Constants']" name="name">ConstantsRtp</attr>
<attr path="/api/namespace[@name='Gst.Rtsp']/object[@name='Constants']" name="name">ConstantsRtsp</attr>
<attr path="/api/namespace[@name='Gst.Sdp']/object[@name='Constants']" name="name">ConstantsSdp</attr>
2013-10-12 17:59:22 +00:00
<!-- FIXME: Remove when https://bugzilla.gnome.org/show_bug.cgi?id=710001 is fixed -->
2013-10-31 14:25:03 +00:00
<attr path="/api/namespace" name="library">libgstreamer-1.0-0.dll</attr>
2013-10-12 17:59:22 +00:00
<attr path="/api/namespace[@name='Gst.Base']" name="library">libgstbase-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Audio']" name="library">libgstaudio-1.0-0.dll</attr>
2013-10-12 18:04:19 +00:00
<attr path="/api/namespace[@name='Gst.Video']" name="library">libgstvideo-1.0-0.dll</attr>
2013-10-12 18:24:46 +00:00
<attr path="/api/namespace[@name='Gst.PbUtils']" name="library">libgstpbutils-1.0-0.dll</attr>
2013-10-31 13:42:24 +00:00
<attr path="/api/namespace[@name='Gst.Tags']" name="library">libgsttag-1.0-0.dll</attr>
2013-10-27 12:13:36 +00:00
<attr path="/api/namespace[@name='Gst.App']" name="library">libgstapp-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Controller']" name="library">libgstcontroller-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.FFT']" name="library">libgstfft-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Net']" name="library">libgstnet-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Riff']" name="library">libgstriff-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Rtp']" name="library">libgstrtp-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Rtsp']" name="library">libgstrtsp-1.0-0.dll</attr>
<attr path="/api/namespace[@name='Gst.Sdp']" name="library">libgstsdp-1.0-0.dll</attr>
2013-06-17 14:23:54 +00:00
</metadata>