/* gstreamer-sdp-1.0.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Gst", gir_namespace = "GstSdp", gir_version = "1.0", lower_case_cprefix = "gst_")]
namespace Gst {
	namespace SDP {
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYDecryptInfo", has_type_id = false)]
		[Compact]
		[GIR (name = "MIKEYDecryptInfo")]
		public class MIKEYDecryptInfo {
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYEncryptInfo", has_type_id = false)]
		[Compact]
		[GIR (name = "MIKEYEncryptInfo")]
		public class MIKEYEncryptInfo {
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYMessage", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_cprefix = "gst_mikey_message_", type_id = "gst_mikey_message_get_type ()")]
		[Compact]
		[GIR (name = "MIKEYMessage")]
		public class MIKEYMessage : Gst.MiniObject {
			public uint32 CSB_id;
			public bool V;
			public weak GLib.Array<void*> map_info;
			public Gst.SDP.MIKEYMapType map_type;
			public weak GLib.Array<void*> payloads;
			public Gst.SDP.MIKEYPRFFunc prf_func;
			public Gst.SDP.MIKEYType type;
			public uint8 version;
			[CCode (has_construct_function = false)]
			[Version (since = "1.4")]
			public MIKEYMessage ();
			[Version (since = "1.4")]
			public bool add_cs_srtp (uint8 policy, uint32 ssrc, uint32 roc);
			[Version (since = "1.4")]
			public bool add_payload (owned Gst.SDP.MIKEYPayload payload);
			[Version (since = "1.4")]
			public bool add_pke (Gst.SDP.MIKEYCacheType C, [CCode (array_length_cname = "data_len", array_length_pos = 1.5, array_length_type = "guint16")] uint8[] data);
			[Version (since = "1.4")]
			public bool add_rand ([CCode (array_length_cname = "len", array_length_pos = 0.5, array_length_type = "guint8")] uint8[] rand);
			[Version (since = "1.4")]
			public bool add_rand_len (uint8 len);
			[Version (since = "1.4")]
			public bool add_t (Gst.SDP.MIKEYTSType type, [CCode (array_length = false)] uint8[] ts_value);
			[Version (since = "1.4")]
			public bool add_t_now_ntp_utc ();
			[Version (since = "1.8")]
			public string base64_encode ();
			[Version (since = "1.4")]
			public unowned Gst.SDP.MIKEYPayload find_payload (Gst.SDP.MIKEYPayloadType type, uint nth);
			[CCode (has_construct_function = false)]
			[Version (since = "1.4")]
			public MIKEYMessage.from_bytes (GLib.Bytes bytes, Gst.SDP.MIKEYDecryptInfo info) throws GLib.Error;
			[CCode (has_construct_function = false)]
			[Version (since = "1.8")]
			public MIKEYMessage.from_caps (Gst.Caps caps);
			[CCode (has_construct_function = false)]
			[Version (since = "1.4")]
			public MIKEYMessage.from_data ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data, Gst.SDP.MIKEYDecryptInfo info) throws GLib.Error;
			[Version (since = "1.4")]
			public unowned Gst.SDP.MIKEYMapSRTP? get_cs_srtp (uint idx);
			[Version (since = "1.4")]
			public uint get_n_cs ();
			[Version (since = "1.4")]
			public uint get_n_payloads ();
			[Version (since = "1.4")]
			public unowned Gst.SDP.MIKEYPayload get_payload (uint idx);
			[Version (since = "1.4")]
			public bool insert_cs_srtp (int idx, Gst.SDP.MIKEYMapSRTP map);
			[Version (since = "1.4")]
			public bool insert_payload (uint idx, owned Gst.SDP.MIKEYPayload payload);
			[Version (since = "1.4")]
			public bool remove_cs_srtp (int idx);
			[Version (since = "1.4")]
			public bool remove_payload (uint idx);
			[Version (since = "1.4")]
			public bool replace_cs_srtp (int idx, Gst.SDP.MIKEYMapSRTP map);
			[Version (since = "1.4")]
			public bool replace_payload (uint idx, owned Gst.SDP.MIKEYPayload payload);
			[Version (since = "1.4")]
			public bool set_info (uint8 version, Gst.SDP.MIKEYType type, bool V, Gst.SDP.MIKEYPRFFunc prf_func, uint32 CSB_id, Gst.SDP.MIKEYMapType map_type);
			[Version (since = "1.4")]
			public GLib.Bytes to_bytes (Gst.SDP.MIKEYEncryptInfo info) throws GLib.Error;
			[Version (since = "1.8.1")]
			public bool to_caps (Gst.Caps caps);
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayload", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_cprefix = "gst_mikey_payload_", type_id = "gst_mikey_payload_get_type ()")]
		[Compact]
		[GIR (name = "MIKEYPayload")]
		public class MIKEYPayload : Gst.MiniObject {
			public uint len;
			public Gst.SDP.MIKEYPayloadType type;
			[CCode (has_construct_function = false)]
			[Version (since = "1.4")]
			public MIKEYPayload (Gst.SDP.MIKEYPayloadType type);
			[Version (since = "1.4")]
			public bool kemac_add_sub (owned Gst.SDP.MIKEYPayload newpay);
			[Version (since = "1.4")]
			public uint kemac_get_n_sub ();
			[Version (since = "1.4")]
			public unowned Gst.SDP.MIKEYPayload kemac_get_sub (uint idx);
			[Version (since = "1.4")]
			public bool kemac_remove_sub (uint idx);
			[Version (since = "1.4")]
			public bool kemac_set (Gst.SDP.MIKEYEncAlg enc_alg, Gst.SDP.MIKEYMacAlg mac_alg);
			[Version (since = "1.4")]
			public bool key_data_set_interval (uint8 vf_len, [CCode (array_length_cname = "vt_len", array_length_pos = 1.66667, array_length_type = "guint8")] uint8[] vt_data);
			[Version (since = "1.4")]
			public bool key_data_set_key (Gst.SDP.MIKEYKeyDataType key_type, [CCode (array_length_cname = "key_len", array_length_pos = 1.5, array_length_type = "guint16")] uint8[] key_data);
			[Version (since = "1.4")]
			public bool key_data_set_salt ([CCode (array_length_cname = "salt_len", array_length_pos = 0.5, array_length_type = "guint16")] uint8[]? salt_data);
			[Version (since = "1.4")]
			public bool key_data_set_spi ([CCode (array_length_cname = "spi_len", array_length_pos = 0.5, array_length_type = "guint8")] uint8[] spi_data);
			[Version (since = "1.4")]
			public bool pke_set (Gst.SDP.MIKEYCacheType C, [CCode (array_length_cname = "data_len", array_length_pos = 1.5, array_length_type = "guint16")] uint8[] data);
			[Version (since = "1.4")]
			public bool rand_set ([CCode (array_length_cname = "len", array_length_pos = 0.5, array_length_type = "guint8")] uint8[] rand);
			[Version (since = "1.4")]
			public bool sp_add_param (uint8 type, [CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "guint8")] uint8[] val);
			[Version (since = "1.4")]
			public uint sp_get_n_params ();
			[Version (since = "1.4")]
			public unowned Gst.SDP.MIKEYPayloadSPParam? sp_get_param (uint idx);
			[Version (since = "1.4")]
			public bool sp_remove_param (uint idx);
			[Version (since = "1.4")]
			public bool sp_set (uint policy, Gst.SDP.MIKEYSecProto proto);
			[Version (since = "1.4")]
			public bool t_set (Gst.SDP.MIKEYTSType type, [CCode (array_length = false)] uint8[] ts_value);
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadKEMAC", has_type_id = false)]
		[Compact]
		[GIR (name = "MIKEYPayloadKEMAC")]
		public class MIKEYPayloadKEMAC : Gst.SDP.MIKEYPayload {
			public Gst.SDP.MIKEYEncAlg enc_alg;
			public Gst.SDP.MIKEYMacAlg mac_alg;
			public weak GLib.Array<void*> subpayloads;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadKeyData", has_type_id = false)]
		[Compact]
		[GIR (name = "MIKEYPayloadKeyData")]
		public class MIKEYPayloadKeyData : Gst.SDP.MIKEYPayload {
			public uint8 key_data;
			public uint16 key_len;
			public Gst.SDP.MIKEYKeyDataType key_type;
			[CCode (array_length = false)]
			public weak uint8 kv_data[2];
			[CCode (array_length = false)]
			public weak uint8 kv_len[2];
			public Gst.SDP.MIKEYKVType kv_type;
			public uint8 salt_data;
			public uint16 salt_len;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadPKE", has_type_id = false)]
		[Compact]
		[GIR (name = "MIKEYPayloadPKE")]
		public class MIKEYPayloadPKE : Gst.SDP.MIKEYPayload {
			public Gst.SDP.MIKEYCacheType C;
			public uint8 data;
			public uint16 data_len;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadRAND", has_type_id = false)]
		[Compact]
		[GIR (name = "MIKEYPayloadRAND")]
		public class MIKEYPayloadRAND : Gst.SDP.MIKEYPayload {
			public uint8 len;
			public uint8 rand;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadSP", has_type_id = false)]
		[Compact]
		[GIR (name = "MIKEYPayloadSP")]
		public class MIKEYPayloadSP : Gst.SDP.MIKEYPayload {
			public weak GLib.Array<void*> @params;
			public uint policy;
			public Gst.SDP.MIKEYSecProto proto;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadT", has_type_id = false)]
		[Compact]
		[GIR (name = "MIKEYPayloadT")]
		public class MIKEYPayloadT : Gst.SDP.MIKEYPayload {
			public uint8 ts_value;
			public Gst.SDP.MIKEYTSType type;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_sdp_message_get_type ()")]
		[Compact]
		[GIR (name = "SDPMessage")]
		public class Message {
			public weak GLib.Array<void*> attributes;
			public weak GLib.Array<void*> bandwidths;
			public Gst.SDP.Connection connection;
			public weak GLib.Array<void*> emails;
			public weak string information;
			public Gst.SDP.Key key;
			public weak GLib.Array<void*> medias;
			public Gst.SDP.Origin origin;
			public weak GLib.Array<void*> phones;
			public weak string session_name;
			public weak GLib.Array<void*> times;
			public weak string uri;
			public weak string version;
			public weak GLib.Array<void*> zones;
			public Gst.SDP.Result add_attribute (string key, string? value);
			public Gst.SDP.Result add_bandwidth (string bwtype, uint bandwidth);
			public Gst.SDP.Result add_email (string email);
			public Gst.SDP.Result add_media (Gst.SDP.Media media);
			public Gst.SDP.Result add_phone (string phone);
			public Gst.SDP.Result add_time (string start, string stop, [CCode (array_length = false, array_null_terminated = true)] string[] repeat);
			public Gst.SDP.Result add_zone (string adj_time, string typed_time);
			public string as_text ();
			public uint attributes_len ();
			[Version (since = "1.8")]
			public Gst.SDP.Result attributes_to_caps (Gst.Caps caps);
			public uint bandwidths_len ();
			[Version (since = "1.2")]
			public Gst.SDP.Result copy (out Gst.SDP.Message copy);
			public Gst.SDP.Result dump ();
			public uint emails_len ();
			public Gst.SDP.Result free ();
			public unowned Gst.SDP.Attribute? get_attribute (uint idx);
			public unowned string get_attribute_val (string key);
			public unowned string get_attribute_val_n (string key, uint nth);
			public unowned Gst.SDP.Bandwidth? get_bandwidth (uint idx);
			public unowned Gst.SDP.Connection? get_connection ();
			public unowned string get_email (uint idx);
			public unowned string get_information ();
			public unowned Gst.SDP.Key? get_key ();
			public unowned Gst.SDP.Media? get_media (uint idx);
			public unowned Gst.SDP.Origin? get_origin ();
			public unowned string get_phone (uint idx);
			public unowned string get_session_name ();
			public unowned Gst.SDP.Time? get_time (uint idx);
			public unowned string get_uri ();
			public unowned string get_version ();
			public unowned Gst.SDP.Zone? get_zone (uint idx);
			public Gst.SDP.Result init ();
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_attribute (int idx, Gst.SDP.Attribute attr);
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_bandwidth (int idx, Gst.SDP.Bandwidth bw);
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_email (int idx, string email);
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_phone (int idx, string phone);
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_time (int idx, Gst.SDP.Time t);
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_zone (int idx, Gst.SDP.Zone zone);
			public uint medias_len ();
			[Version (since = "1.8.1")]
			public Gst.SDP.Result parse_keymgmt (out Gst.SDP.MIKEYMessage mikey);
			public uint phones_len ();
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_attribute (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_bandwidth (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_email (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_phone (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_time (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_zone (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_attribute (uint idx, Gst.SDP.Attribute attr);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_bandwidth (uint idx, Gst.SDP.Bandwidth bw);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_email (uint idx, string email);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_phone (uint idx, string phone);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_time (uint idx, Gst.SDP.Time t);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_zone (uint idx, Gst.SDP.Zone zone);
			public Gst.SDP.Result set_connection (string nettype, string addrtype, string address, uint ttl, uint addr_number);
			public Gst.SDP.Result set_information (string information);
			public Gst.SDP.Result set_key (string type, string data);
			public Gst.SDP.Result set_origin (string username, string sess_id, string sess_version, string nettype, string addrtype, string addr);
			public Gst.SDP.Result set_session_name (string session_name);
			public Gst.SDP.Result set_uri (string uri);
			public Gst.SDP.Result set_version (string version);
			public uint times_len ();
			public Gst.SDP.Result uninit ();
			public uint zones_len ();
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
		[GIR (name = "SDPAttribute")]
		public struct Attribute {
			public weak string key;
			public weak string value;
			[Version (since = "1.2")]
			public Gst.SDP.Result clear ();
			[Version (since = "1.2")]
			public Gst.SDP.Result @set (string key, string? value);
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
		[GIR (name = "SDPBandwidth")]
		public struct Bandwidth {
			public weak string bwtype;
			public uint bandwidth;
			[Version (since = "1.2")]
			public Gst.SDP.Result clear ();
			[Version (since = "1.2")]
			public Gst.SDP.Result @set (string bwtype, uint bandwidth);
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
		[GIR (name = "SDPConnection")]
		public struct Connection {
			public weak string nettype;
			public weak string addrtype;
			public weak string address;
			public uint ttl;
			public uint addr_number;
			[Version (since = "1.2")]
			public Gst.SDP.Result clear ();
			[Version (since = "1.2")]
			public Gst.SDP.Result @set (string nettype, string addrtype, string address, uint ttl, uint addr_number);
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
		[GIR (name = "SDPKey")]
		public struct Key {
			public weak string type;
			public weak string data;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYMapSRTP", has_type_id = false)]
		[GIR (name = "MIKEYMapSRTP")]
		public struct MIKEYMapSRTP {
			public uint8 policy;
			public uint32 ssrc;
			public uint32 roc;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadSPParam", has_type_id = false)]
		[GIR (name = "MIKEYPayloadSPParam")]
		public struct MIKEYPayloadSPParam {
			public uint8 type;
			public uint8 len;
			public uint8 val;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
		[GIR (name = "SDPMedia")]
		public struct Media {
			public weak string media;
			public uint port;
			public uint num_ports;
			public weak string proto;
			public weak GLib.Array<void*> fmts;
			public weak string information;
			public weak GLib.Array<void*> connections;
			public weak GLib.Array<void*> bandwidths;
			public Gst.SDP.Key key;
			public weak GLib.Array<void*> attributes;
			public Gst.SDP.Result add_attribute (string key, string? value);
			public Gst.SDP.Result add_bandwidth (string bwtype, uint bandwidth);
			public Gst.SDP.Result add_connection (string nettype, string addrtype, string address, uint ttl, uint addr_number);
			public Gst.SDP.Result add_format (string format);
			public string as_text ();
			public uint attributes_len ();
			[Version (since = "1.8")]
			public Gst.SDP.Result attributes_to_caps (Gst.Caps caps);
			public uint bandwidths_len ();
			public uint connections_len ();
			[Version (since = "1.2")]
			public Gst.SDP.Result copy (out Gst.SDP.Media copy);
			public uint formats_len ();
			public Gst.SDP.Result free ();
			public unowned Gst.SDP.Attribute? get_attribute (uint idx);
			public unowned string get_attribute_val (string key);
			public unowned string get_attribute_val_n (string key, uint nth);
			public unowned Gst.SDP.Bandwidth? get_bandwidth (uint idx);
			[Version (since = "1.8")]
			public Gst.Caps get_caps_from_media (int pt);
			public unowned Gst.SDP.Connection? get_connection (uint idx);
			public unowned string get_format (uint idx);
			public unowned string get_information ();
			public unowned Gst.SDP.Key? get_key ();
			public unowned string get_media ();
			public uint get_num_ports ();
			public uint get_port ();
			public unowned string get_proto ();
			public Gst.SDP.Result init ();
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_attribute (int idx, Gst.SDP.Attribute attr);
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_bandwidth (int idx, Gst.SDP.Bandwidth bw);
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_connection (int idx, Gst.SDP.Connection conn);
			[Version (since = "1.2")]
			public Gst.SDP.Result insert_format (int idx, string format);
			[Version (since = "1.8.1")]
			public Gst.SDP.Result parse_keymgmt (out Gst.SDP.MIKEYMessage mikey);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_attribute (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_bandwidth (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_connection (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result remove_format (uint idx);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_attribute (uint idx, Gst.SDP.Attribute attr);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_bandwidth (uint idx, Gst.SDP.Bandwidth bw);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_connection (uint idx, Gst.SDP.Connection conn);
			[Version (since = "1.2")]
			public Gst.SDP.Result replace_format (uint idx, string format);
			public Gst.SDP.Result set_information (string information);
			public Gst.SDP.Result set_key (string type, string data);
			public Gst.SDP.Result set_media (string med);
			public Gst.SDP.Result set_port_info (uint port, uint num_ports);
			public Gst.SDP.Result set_proto (string proto);
			public Gst.SDP.Result uninit ();
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
		[GIR (name = "SDPOrigin")]
		public struct Origin {
			public weak string username;
			public weak string sess_id;
			public weak string sess_version;
			public weak string nettype;
			public weak string addrtype;
			public weak string addr;
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
		[GIR (name = "SDPTime")]
		public struct Time {
			public weak string start;
			public weak string stop;
			public weak GLib.Array<void*> repeat;
			[Version (since = "1.2")]
			public Gst.SDP.Result clear ();
			[Version (since = "1.2")]
			public Gst.SDP.Result @set (string start, string stop, [CCode (array_length = false, array_null_terminated = true)] string[] repeat);
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", has_type_id = false)]
		[GIR (name = "SDPZone")]
		public struct Zone {
			public weak string time;
			public weak string typed_time;
			[Version (since = "1.2")]
			public Gst.SDP.Result clear ();
			[Version (since = "1.2")]
			public Gst.SDP.Result @set (string adj_time, string typed_time);
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYCacheType", cprefix = "GST_MIKEY_CACHE_", has_type_id = false)]
		[GIR (name = "MIKEYCacheType")]
		public enum MIKEYCacheType {
			NONE,
			ALWAYS,
			FOR_CSB
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYEncAlg", cprefix = "GST_MIKEY_ENC_", has_type_id = false)]
		[GIR (name = "MIKEYEncAlg")]
		public enum MIKEYEncAlg {
			NULL,
			AES_CM_128,
			AES_KW_128
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYKVType", cprefix = "GST_MIKEY_KV_", has_type_id = false)]
		[GIR (name = "MIKEYKVType")]
		public enum MIKEYKVType {
			NULL,
			SPI,
			INTERVAL
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYKeyDataType", cprefix = "GST_MIKEY_KD_", has_type_id = false)]
		[GIR (name = "MIKEYKeyDataType")]
		public enum MIKEYKeyDataType {
			TGK,
			TEK
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYMacAlg", cprefix = "GST_MIKEY_MAC_", has_type_id = false)]
		[GIR (name = "MIKEYMacAlg")]
		public enum MIKEYMacAlg {
			NULL,
			HMAC_SHA_1_160
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYMapType", cprefix = "GST_MIKEY_MAP_TYPE_", has_type_id = false)]
		[GIR (name = "MIKEYMapType")]
		public enum MIKEYMapType {
			[CCode (cname = "GST_MIKEY_MAP_TYPE_SRTP")]
			MIKEY_MAP_TYPE_SRTP
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPRFFunc", cprefix = "GST_MIKEY_PRF_", has_type_id = false)]
		[GIR (name = "MIKEYPRFFunc")]
		public enum MIKEYPRFFunc {
			[CCode (cname = "GST_MIKEY_PRF_MIKEY_1")]
			MIKEY_PRF_MIKEY_1
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYPayloadType", cprefix = "GST_MIKEY_PT_", has_type_id = false)]
		[GIR (name = "MIKEYPayloadType")]
		public enum MIKEYPayloadType {
			LAST,
			KEMAC,
			PKE,
			DH,
			SIGN,
			T,
			ID,
			CERT,
			CHASH,
			V,
			SP,
			RAND,
			ERR,
			KEY_DATA,
			GEN_EXT
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYSecProto", cprefix = "GST_MIKEY_SEC_PROTO_", has_type_id = false)]
		[GIR (name = "MIKEYSecProto")]
		public enum MIKEYSecProto {
			[CCode (cname = "GST_MIKEY_SEC_PROTO_SRTP")]
			MIKEY_SEC_PROTO_SRTP
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYSecSRTP", cprefix = "GST_MIKEY_SP_SRTP_", has_type_id = false)]
		[GIR (name = "MIKEYSecSRTP")]
		public enum MIKEYSecSRTP {
			ENC_ALG,
			ENC_KEY_LEN,
			AUTH_ALG,
			AUTH_KEY_LEN,
			SALT_KEY_LEN,
			PRF,
			KEY_DERIV_RATE,
			SRTP_ENC,
			SRTCP_ENC,
			FEC_ORDER,
			SRTP_AUTH,
			AUTH_TAG_LEN,
			SRTP_PREFIX_LEN
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYTSType", cprefix = "GST_MIKEY_TS_TYPE_", has_type_id = false)]
		[GIR (name = "MIKEYTSType")]
		public enum MIKEYTSType {
			NTP_UTC,
			NTP,
			COUNTER
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GstMIKEYType", cprefix = "GST_MIKEY_TYPE_", has_type_id = false)]
		[GIR (name = "MIKEYType")]
		public enum MIKEYType {
			INVALID,
			PSK_INIT,
			PSK_VERIFY,
			PK_INIT,
			PK_VERIFY,
			DH_INIT,
			DH_RESP,
			ERROR
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cprefix = "GST_SDP_", has_type_id = false)]
		[GIR (name = "SDPResult")]
		public enum Result {
			OK,
			EINVAL
		}
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GST_SDP_BWTYPE_AS")]
		public const string BWTYPE_AS;
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GST_SDP_BWTYPE_CT")]
		public const string BWTYPE_CT;
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GST_SDP_BWTYPE_EXT_PREFIX")]
		public const string BWTYPE_EXT_PREFIX;
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GST_SDP_BWTYPE_RR")]
		public const string BWTYPE_RR;
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GST_SDP_BWTYPE_RS")]
		public const string BWTYPE_RS;
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GST_SDP_BWTYPE_TIAS")]
		public const string BWTYPE_TIAS;
		[CCode (cheader_filename = "gst/sdp/sdp.h", cname = "GST_MIKEY_VERSION")]
		public const int MIKEY_VERSION;
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		public static bool address_is_multicast (string nettype, string addrtype, string addr);
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		[Version (since = "1.8")]
		public static string make_keymgmt (string uri, string base64);
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		public static Gst.SDP.Result media_new (out Gst.SDP.Media media);
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		[Version (since = "1.8")]
		public static Gst.SDP.Result media_set_media_from_caps (Gst.Caps caps, Gst.SDP.Media media);
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		public static string message_as_uri (string scheme, Gst.SDP.Message msg);
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		public static Gst.SDP.Result message_new (out Gst.SDP.Message msg);
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		[Version (since = "1.16")]
		public static Gst.SDP.Result message_new_from_text (string text, out Gst.SDP.Message msg);
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		public static Gst.SDP.Result message_parse_buffer ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "guint")] uint8[] data, Gst.SDP.Message msg);
		[CCode (cheader_filename = "gst/sdp/sdp.h")]
		public static Gst.SDP.Result message_parse_uri (string uri, Gst.SDP.Message msg);
	}
}
