gstreamer-rs/gstreamer-sdp-sys/src/lib.rs

854 lines
41 KiB
Rust
Raw Normal View History

// This file was generated by gir (https://github.com/gtk-rs/gir @ 6855214)
2018-03-02 19:16:11 +00:00
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
extern crate libc;
extern crate glib_sys as glib;
extern crate gobject_sys as gobject;
extern crate gstreamer_sys as gst;
#[allow(unused_imports)]
use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double,
c_short, c_ushort, c_long, c_ulong,
c_void, size_t, ssize_t, intptr_t, uintptr_t, time_t, FILE};
#[allow(unused_imports)]
use glib::{gboolean, gconstpointer, gpointer, GType, Volatile};
// Enums
pub type GstMIKEYCacheType = c_int;
pub const GST_MIKEY_CACHE_NONE: GstMIKEYCacheType = 0;
pub const GST_MIKEY_CACHE_ALWAYS: GstMIKEYCacheType = 1;
pub const GST_MIKEY_CACHE_FOR_CSB: GstMIKEYCacheType = 2;
pub type GstMIKEYEncAlg = c_int;
pub const GST_MIKEY_ENC_NULL: GstMIKEYEncAlg = 0;
pub const GST_MIKEY_ENC_AES_CM_128: GstMIKEYEncAlg = 1;
pub const GST_MIKEY_ENC_AES_KW_128: GstMIKEYEncAlg = 2;
pub type GstMIKEYKVType = c_int;
pub const GST_MIKEY_KV_NULL: GstMIKEYKVType = 0;
pub const GST_MIKEY_KV_SPI: GstMIKEYKVType = 1;
pub const GST_MIKEY_KV_INTERVAL: GstMIKEYKVType = 2;
pub type GstMIKEYKeyDataType = c_int;
pub const GST_MIKEY_KD_TGK: GstMIKEYKeyDataType = 0;
pub const GST_MIKEY_KD_TEK: GstMIKEYKeyDataType = 2;
pub type GstMIKEYMacAlg = c_int;
pub const GST_MIKEY_MAC_NULL: GstMIKEYMacAlg = 0;
pub const GST_MIKEY_MAC_HMAC_SHA_1_160: GstMIKEYMacAlg = 1;
pub type MIKEYMapType = c_int;
pub const GST_MIKEY_MAP_TYPE_SRTP: MIKEYMapType = 0;
pub type GstMIKEYMapType = MIKEYMapType;
pub type MIKEYPRFFunc = c_int;
pub const GST_MIKEY_PRF_MIKEY_1: MIKEYPRFFunc = 0;
pub type GstMIKEYPRFFunc = MIKEYPRFFunc;
pub type GstMIKEYPayloadType = c_int;
pub const GST_MIKEY_PT_LAST: GstMIKEYPayloadType = 0;
pub const GST_MIKEY_PT_KEMAC: GstMIKEYPayloadType = 1;
pub const GST_MIKEY_PT_PKE: GstMIKEYPayloadType = 2;
pub const GST_MIKEY_PT_DH: GstMIKEYPayloadType = 3;
pub const GST_MIKEY_PT_SIGN: GstMIKEYPayloadType = 4;
pub const GST_MIKEY_PT_T: GstMIKEYPayloadType = 5;
pub const GST_MIKEY_PT_ID: GstMIKEYPayloadType = 6;
pub const GST_MIKEY_PT_CERT: GstMIKEYPayloadType = 7;
pub const GST_MIKEY_PT_CHASH: GstMIKEYPayloadType = 8;
pub const GST_MIKEY_PT_V: GstMIKEYPayloadType = 9;
pub const GST_MIKEY_PT_SP: GstMIKEYPayloadType = 10;
pub const GST_MIKEY_PT_RAND: GstMIKEYPayloadType = 11;
pub const GST_MIKEY_PT_ERR: GstMIKEYPayloadType = 12;
pub const GST_MIKEY_PT_KEY_DATA: GstMIKEYPayloadType = 20;
pub const GST_MIKEY_PT_GEN_EXT: GstMIKEYPayloadType = 21;
pub type MIKEYSecProto = c_int;
pub const GST_MIKEY_SEC_PROTO_SRTP: MIKEYSecProto = 0;
pub type GstMIKEYSecProto = MIKEYSecProto;
pub type GstMIKEYSecSRTP = c_int;
pub const GST_MIKEY_SP_SRTP_ENC_ALG: GstMIKEYSecSRTP = 0;
pub const GST_MIKEY_SP_SRTP_ENC_KEY_LEN: GstMIKEYSecSRTP = 1;
pub const GST_MIKEY_SP_SRTP_AUTH_ALG: GstMIKEYSecSRTP = 2;
pub const GST_MIKEY_SP_SRTP_AUTH_KEY_LEN: GstMIKEYSecSRTP = 3;
pub const GST_MIKEY_SP_SRTP_SALT_KEY_LEN: GstMIKEYSecSRTP = 4;
pub const GST_MIKEY_SP_SRTP_PRF: GstMIKEYSecSRTP = 5;
pub const GST_MIKEY_SP_SRTP_KEY_DERIV_RATE: GstMIKEYSecSRTP = 6;
pub const GST_MIKEY_SP_SRTP_SRTP_ENC: GstMIKEYSecSRTP = 7;
pub const GST_MIKEY_SP_SRTP_SRTCP_ENC: GstMIKEYSecSRTP = 8;
pub const GST_MIKEY_SP_SRTP_FEC_ORDER: GstMIKEYSecSRTP = 9;
pub const GST_MIKEY_SP_SRTP_SRTP_AUTH: GstMIKEYSecSRTP = 10;
pub const GST_MIKEY_SP_SRTP_AUTH_TAG_LEN: GstMIKEYSecSRTP = 11;
pub const GST_MIKEY_SP_SRTP_SRTP_PREFIX_LEN: GstMIKEYSecSRTP = 12;
pub type GstMIKEYTSType = c_int;
pub const GST_MIKEY_TS_TYPE_NTP_UTC: GstMIKEYTSType = 0;
pub const GST_MIKEY_TS_TYPE_NTP: GstMIKEYTSType = 1;
pub const GST_MIKEY_TS_TYPE_COUNTER: GstMIKEYTSType = 2;
pub type GstMIKEYType = c_int;
pub const GST_MIKEY_TYPE_INVALID: GstMIKEYType = -1;
pub const GST_MIKEY_TYPE_PSK_INIT: GstMIKEYType = 0;
pub const GST_MIKEY_TYPE_PSK_VERIFY: GstMIKEYType = 1;
pub const GST_MIKEY_TYPE_PK_INIT: GstMIKEYType = 2;
pub const GST_MIKEY_TYPE_PK_VERIFY: GstMIKEYType = 3;
pub const GST_MIKEY_TYPE_DH_INIT: GstMIKEYType = 4;
pub const GST_MIKEY_TYPE_DH_RESP: GstMIKEYType = 5;
pub const GST_MIKEY_TYPE_ERROR: GstMIKEYType = 6;
pub type GstSDPResult = c_int;
pub const GST_SDP_OK: GstSDPResult = 0;
pub const GST_SDP_EINVAL: GstSDPResult = -1;
// Constants
pub const GST_MIKEY_VERSION: c_int = 1;
pub const GST_SDP_BWTYPE_AS: *const c_char = b"AS\0" as *const u8 as *const c_char;
pub const GST_SDP_BWTYPE_CT: *const c_char = b"CT\0" as *const u8 as *const c_char;
pub const GST_SDP_BWTYPE_EXT_PREFIX: *const c_char = b"X-\0" as *const u8 as *const c_char;
pub const GST_SDP_BWTYPE_RR: *const c_char = b"RR\0" as *const u8 as *const c_char;
pub const GST_SDP_BWTYPE_RS: *const c_char = b"RS\0" as *const u8 as *const c_char;
pub const GST_SDP_BWTYPE_TIAS: *const c_char = b"TIAS\0" as *const u8 as *const c_char;
// Records
#[repr(C)]
pub struct GstMIKEYDecryptInfo(c_void);
impl ::std::fmt::Debug for GstMIKEYDecryptInfo {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYDecryptInfo @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
pub struct GstMIKEYEncryptInfo(c_void);
impl ::std::fmt::Debug for GstMIKEYEncryptInfo {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYEncryptInfo @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYMapSRTP {
pub policy: u8,
pub ssrc: u32,
pub roc: u32,
}
impl ::std::fmt::Debug for GstMIKEYMapSRTP {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYMapSRTP @ {:?}", self as *const _))
.field("policy", &self.policy)
.field("ssrc", &self.ssrc)
.field("roc", &self.roc)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYMessage {
pub mini_object: gst::GstMiniObject,
pub version: u8,
pub type_: GstMIKEYType,
pub V: gboolean,
pub prf_func: GstMIKEYPRFFunc,
pub CSB_id: u32,
pub map_type: GstMIKEYMapType,
pub map_info: *mut glib::GArray,
pub payloads: *mut glib::GArray,
}
impl ::std::fmt::Debug for GstMIKEYMessage {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYMessage @ {:?}", self as *const _))
.field("version", &self.version)
.field("type_", &self.type_)
.field("V", &self.V)
.field("prf_func", &self.prf_func)
.field("CSB_id", &self.CSB_id)
.field("map_type", &self.map_type)
.field("map_info", &self.map_info)
.field("payloads", &self.payloads)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYPayload {
pub mini_object: gst::GstMiniObject,
pub type_: GstMIKEYPayloadType,
pub len: c_uint,
}
impl ::std::fmt::Debug for GstMIKEYPayload {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYPayload @ {:?}", self as *const _))
.field("type_", &self.type_)
.field("len", &self.len)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYPayloadKEMAC {
pub pt: GstMIKEYPayload,
pub enc_alg: GstMIKEYEncAlg,
pub mac_alg: GstMIKEYMacAlg,
pub subpayloads: *mut glib::GArray,
}
impl ::std::fmt::Debug for GstMIKEYPayloadKEMAC {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYPayloadKEMAC @ {:?}", self as *const _))
.field("pt", &self.pt)
.field("enc_alg", &self.enc_alg)
.field("mac_alg", &self.mac_alg)
.field("subpayloads", &self.subpayloads)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYPayloadKeyData {
pub pt: GstMIKEYPayload,
pub key_type: GstMIKEYKeyDataType,
pub key_len: u16,
pub key_data: *mut u8,
pub salt_len: u16,
pub salt_data: *mut u8,
pub kv_type: GstMIKEYKVType,
pub kv_len: [u8; 2],
pub kv_data: [u8; 2],
}
impl ::std::fmt::Debug for GstMIKEYPayloadKeyData {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYPayloadKeyData @ {:?}", self as *const _))
.field("pt", &self.pt)
.field("key_type", &self.key_type)
.field("key_len", &self.key_len)
.field("key_data", &self.key_data)
.field("salt_len", &self.salt_len)
.field("salt_data", &self.salt_data)
.field("kv_type", &self.kv_type)
.field("kv_len", &self.kv_len)
.field("kv_data", &self.kv_data)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYPayloadPKE {
pub pt: GstMIKEYPayload,
pub C: GstMIKEYCacheType,
pub data_len: u16,
pub data: *mut u8,
}
impl ::std::fmt::Debug for GstMIKEYPayloadPKE {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYPayloadPKE @ {:?}", self as *const _))
.field("pt", &self.pt)
.field("C", &self.C)
.field("data_len", &self.data_len)
.field("data", &self.data)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYPayloadRAND {
pub pt: GstMIKEYPayload,
pub len: u8,
pub rand: *mut u8,
}
impl ::std::fmt::Debug for GstMIKEYPayloadRAND {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYPayloadRAND @ {:?}", self as *const _))
.field("pt", &self.pt)
.field("len", &self.len)
.field("rand", &self.rand)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYPayloadSP {
pub pt: GstMIKEYPayload,
pub policy: c_uint,
pub proto: GstMIKEYSecProto,
pub params: *mut glib::GArray,
}
impl ::std::fmt::Debug for GstMIKEYPayloadSP {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYPayloadSP @ {:?}", self as *const _))
.field("pt", &self.pt)
.field("policy", &self.policy)
.field("proto", &self.proto)
.field("params", &self.params)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYPayloadSPParam {
pub type_: u8,
pub len: u8,
pub val: *mut u8,
}
impl ::std::fmt::Debug for GstMIKEYPayloadSPParam {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYPayloadSPParam @ {:?}", self as *const _))
.field("type_", &self.type_)
.field("len", &self.len)
.field("val", &self.val)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstMIKEYPayloadT {
pub pt: GstMIKEYPayload,
pub type_: GstMIKEYTSType,
pub ts_value: *mut u8,
}
impl ::std::fmt::Debug for GstMIKEYPayloadT {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstMIKEYPayloadT @ {:?}", self as *const _))
.field("pt", &self.pt)
.field("type_", &self.type_)
.field("ts_value", &self.ts_value)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPAttribute {
pub key: *mut c_char,
pub value: *mut c_char,
}
impl ::std::fmt::Debug for GstSDPAttribute {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPAttribute @ {:?}", self as *const _))
.field("key", &self.key)
.field("value", &self.value)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPBandwidth {
pub bwtype: *mut c_char,
pub bandwidth: c_uint,
}
impl ::std::fmt::Debug for GstSDPBandwidth {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPBandwidth @ {:?}", self as *const _))
.field("bwtype", &self.bwtype)
.field("bandwidth", &self.bandwidth)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPConnection {
pub nettype: *mut c_char,
pub addrtype: *mut c_char,
pub address: *mut c_char,
pub ttl: c_uint,
pub addr_number: c_uint,
}
impl ::std::fmt::Debug for GstSDPConnection {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPConnection @ {:?}", self as *const _))
.field("nettype", &self.nettype)
.field("addrtype", &self.addrtype)
.field("address", &self.address)
.field("ttl", &self.ttl)
.field("addr_number", &self.addr_number)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPKey {
pub type_: *mut c_char,
pub data: *mut c_char,
}
impl ::std::fmt::Debug for GstSDPKey {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPKey @ {:?}", self as *const _))
.field("type_", &self.type_)
.field("data", &self.data)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPMedia {
pub media: *mut c_char,
pub port: c_uint,
pub num_ports: c_uint,
pub proto: *mut c_char,
pub fmts: *mut glib::GArray,
pub information: *mut c_char,
pub connections: *mut glib::GArray,
pub bandwidths: *mut glib::GArray,
pub key: GstSDPKey,
pub attributes: *mut glib::GArray,
}
impl ::std::fmt::Debug for GstSDPMedia {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPMedia @ {:?}", self as *const _))
.field("media", &self.media)
.field("port", &self.port)
.field("num_ports", &self.num_ports)
.field("proto", &self.proto)
.field("fmts", &self.fmts)
.field("information", &self.information)
.field("connections", &self.connections)
.field("bandwidths", &self.bandwidths)
.field("key", &self.key)
.field("attributes", &self.attributes)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPMessage {
pub version: *mut c_char,
pub origin: GstSDPOrigin,
pub session_name: *mut c_char,
pub information: *mut c_char,
pub uri: *mut c_char,
pub emails: *mut glib::GArray,
pub phones: *mut glib::GArray,
pub connection: GstSDPConnection,
pub bandwidths: *mut glib::GArray,
pub times: *mut glib::GArray,
pub zones: *mut glib::GArray,
pub key: GstSDPKey,
pub attributes: *mut glib::GArray,
pub medias: *mut glib::GArray,
}
impl ::std::fmt::Debug for GstSDPMessage {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPMessage @ {:?}", self as *const _))
.field("version", &self.version)
.field("origin", &self.origin)
.field("session_name", &self.session_name)
.field("information", &self.information)
.field("uri", &self.uri)
.field("emails", &self.emails)
.field("phones", &self.phones)
.field("connection", &self.connection)
.field("bandwidths", &self.bandwidths)
.field("times", &self.times)
.field("zones", &self.zones)
.field("key", &self.key)
.field("attributes", &self.attributes)
.field("medias", &self.medias)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPOrigin {
pub username: *mut c_char,
pub sess_id: *mut c_char,
pub sess_version: *mut c_char,
pub nettype: *mut c_char,
pub addrtype: *mut c_char,
pub addr: *mut c_char,
}
impl ::std::fmt::Debug for GstSDPOrigin {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPOrigin @ {:?}", self as *const _))
.field("username", &self.username)
.field("sess_id", &self.sess_id)
.field("sess_version", &self.sess_version)
.field("nettype", &self.nettype)
.field("addrtype", &self.addrtype)
.field("addr", &self.addr)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPTime {
pub start: *mut c_char,
pub stop: *mut c_char,
pub repeat: *mut glib::GArray,
}
impl ::std::fmt::Debug for GstSDPTime {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPTime @ {:?}", self as *const _))
.field("start", &self.start)
.field("stop", &self.stop)
.field("repeat", &self.repeat)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstSDPZone {
pub time: *mut c_char,
pub typed_time: *mut c_char,
}
impl ::std::fmt::Debug for GstSDPZone {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstSDPZone @ {:?}", self as *const _))
.field("time", &self.time)
.field("typed_time", &self.typed_time)
.finish()
}
}
extern "C" {
//=========================================================================
// GstMIKEYMessage
//=========================================================================
pub fn gst_mikey_message_get_type() -> GType;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_new() -> *mut GstMIKEYMessage;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_new_from_bytes(bytes: *mut glib::GBytes, info: *mut GstMIKEYDecryptInfo, error: *mut *mut glib::GError) -> *mut GstMIKEYMessage;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_mikey_message_new_from_caps(caps: *mut gst::GstCaps) -> *mut GstMIKEYMessage;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_new_from_data(data: gconstpointer, size: size_t, info: *mut GstMIKEYDecryptInfo, error: *mut *mut glib::GError) -> *mut GstMIKEYMessage;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_add_cs_srtp(msg: *mut GstMIKEYMessage, policy: u8, ssrc: u32, roc: u32) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_add_payload(msg: *mut GstMIKEYMessage, payload: *mut GstMIKEYPayload) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_add_pke(msg: *mut GstMIKEYMessage, C: GstMIKEYCacheType, data_len: u16, data: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_add_rand(msg: *mut GstMIKEYMessage, len: u8, rand: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_add_rand_len(msg: *mut GstMIKEYMessage, len: u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_add_t(msg: *mut GstMIKEYMessage, type_: GstMIKEYTSType, ts_value: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_add_t_now_ntp_utc(msg: *mut GstMIKEYMessage) -> gboolean;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_mikey_message_base64_encode(msg: *mut GstMIKEYMessage) -> *mut c_char;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_find_payload(msg: *const GstMIKEYMessage, type_: GstMIKEYPayloadType, nth: c_uint) -> *const GstMIKEYPayload;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_get_cs_srtp(msg: *const GstMIKEYMessage, idx: c_uint) -> *const GstMIKEYMapSRTP;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_get_n_cs(msg: *const GstMIKEYMessage) -> c_uint;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_get_n_payloads(msg: *const GstMIKEYMessage) -> c_uint;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_get_payload(msg: *const GstMIKEYMessage, idx: c_uint) -> *const GstMIKEYPayload;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_insert_cs_srtp(msg: *mut GstMIKEYMessage, idx: c_int, map: *const GstMIKEYMapSRTP) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_insert_payload(msg: *mut GstMIKEYMessage, idx: c_uint, payload: *mut GstMIKEYPayload) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_remove_cs_srtp(msg: *mut GstMIKEYMessage, idx: c_int) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_remove_payload(msg: *mut GstMIKEYMessage, idx: c_uint) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_replace_cs_srtp(msg: *mut GstMIKEYMessage, idx: c_int, map: *const GstMIKEYMapSRTP) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_replace_payload(msg: *mut GstMIKEYMessage, idx: c_uint, payload: *mut GstMIKEYPayload) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_set_info(msg: *mut GstMIKEYMessage, version: u8, type_: GstMIKEYType, V: gboolean, prf_func: GstMIKEYPRFFunc, CSB_id: u32, map_type: GstMIKEYMapType) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_message_to_bytes(msg: *mut GstMIKEYMessage, info: *mut GstMIKEYEncryptInfo, error: *mut *mut glib::GError) -> *mut glib::GBytes;
#[cfg(any(feature = "v1_8_1", feature = "dox"))]
pub fn gst_mikey_message_to_caps(msg: *const GstMIKEYMessage, caps: *mut gst::GstCaps) -> gboolean;
//=========================================================================
// GstMIKEYPayload
//=========================================================================
pub fn gst_mikey_payload_get_type() -> GType;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_new(type_: GstMIKEYPayloadType) -> *mut GstMIKEYPayload;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_kemac_add_sub(payload: *mut GstMIKEYPayload, newpay: *mut GstMIKEYPayload) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_kemac_get_n_sub(payload: *const GstMIKEYPayload) -> c_uint;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_kemac_get_sub(payload: *const GstMIKEYPayload, idx: c_uint) -> *const GstMIKEYPayload;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_kemac_remove_sub(payload: *mut GstMIKEYPayload, idx: c_uint) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_kemac_set(payload: *mut GstMIKEYPayload, enc_alg: GstMIKEYEncAlg, mac_alg: GstMIKEYMacAlg) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_key_data_set_interval(payload: *mut GstMIKEYPayload, vf_len: u8, vf_data: *mut u8, vt_len: u8, vt_data: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_key_data_set_key(payload: *mut GstMIKEYPayload, key_type: GstMIKEYKeyDataType, key_len: u16, key_data: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_key_data_set_salt(payload: *mut GstMIKEYPayload, salt_len: u16, salt_data: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_key_data_set_spi(payload: *mut GstMIKEYPayload, spi_len: u8, spi_data: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_pke_set(payload: *mut GstMIKEYPayload, C: GstMIKEYCacheType, data_len: u16, data: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_rand_set(payload: *mut GstMIKEYPayload, len: u8, rand: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_sp_add_param(payload: *mut GstMIKEYPayload, type_: u8, len: u8, val: *mut u8) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_sp_get_n_params(payload: *const GstMIKEYPayload) -> c_uint;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_sp_get_param(payload: *const GstMIKEYPayload, idx: c_uint) -> *const GstMIKEYPayloadSPParam;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_sp_remove_param(payload: *mut GstMIKEYPayload, idx: c_uint) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_sp_set(payload: *mut GstMIKEYPayload, policy: c_uint, proto: GstMIKEYSecProto) -> gboolean;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_mikey_payload_t_set(payload: *mut GstMIKEYPayload, type_: GstMIKEYTSType, ts_value: *mut u8) -> gboolean;
//=========================================================================
// GstSDPAttribute
//=========================================================================
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_attribute_clear(attr: *mut GstSDPAttribute) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_attribute_set(attr: *mut GstSDPAttribute, key: *const c_char, value: *const c_char) -> GstSDPResult;
//=========================================================================
// GstSDPBandwidth
//=========================================================================
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_bandwidth_clear(bw: *mut GstSDPBandwidth) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_bandwidth_set(bw: *mut GstSDPBandwidth, bwtype: *const c_char, bandwidth: c_uint) -> GstSDPResult;
//=========================================================================
// GstSDPConnection
//=========================================================================
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_connection_clear(conn: *mut GstSDPConnection) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_connection_set(conn: *mut GstSDPConnection, nettype: *const c_char, addrtype: *const c_char, address: *const c_char, ttl: c_uint, addr_number: c_uint) -> GstSDPResult;
//=========================================================================
// GstSDPMedia
//=========================================================================
pub fn gst_sdp_media_add_attribute(media: *mut GstSDPMedia, key: *const c_char, value: *const c_char) -> GstSDPResult;
pub fn gst_sdp_media_add_bandwidth(media: *mut GstSDPMedia, bwtype: *const c_char, bandwidth: c_uint) -> GstSDPResult;
pub fn gst_sdp_media_add_connection(media: *mut GstSDPMedia, nettype: *const c_char, addrtype: *const c_char, address: *const c_char, ttl: c_uint, addr_number: c_uint) -> GstSDPResult;
pub fn gst_sdp_media_add_format(media: *mut GstSDPMedia, format: *const c_char) -> GstSDPResult;
pub fn gst_sdp_media_as_text(media: *const GstSDPMedia) -> *mut c_char;
pub fn gst_sdp_media_attributes_len(media: *const GstSDPMedia) -> c_uint;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_sdp_media_attributes_to_caps(media: *const GstSDPMedia, caps: *mut gst::GstCaps) -> GstSDPResult;
pub fn gst_sdp_media_bandwidths_len(media: *const GstSDPMedia) -> c_uint;
pub fn gst_sdp_media_connections_len(media: *const GstSDPMedia) -> c_uint;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_copy(media: *const GstSDPMedia, copy: *mut *mut GstSDPMedia) -> GstSDPResult;
pub fn gst_sdp_media_formats_len(media: *const GstSDPMedia) -> c_uint;
pub fn gst_sdp_media_free(media: *mut GstSDPMedia) -> GstSDPResult;
pub fn gst_sdp_media_get_attribute(media: *const GstSDPMedia, idx: c_uint) -> *const GstSDPAttribute;
pub fn gst_sdp_media_get_attribute_val(media: *const GstSDPMedia, key: *const c_char) -> *const c_char;
pub fn gst_sdp_media_get_attribute_val_n(media: *const GstSDPMedia, key: *const c_char, nth: c_uint) -> *const c_char;
pub fn gst_sdp_media_get_bandwidth(media: *const GstSDPMedia, idx: c_uint) -> *const GstSDPBandwidth;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_sdp_media_get_caps_from_media(media: *const GstSDPMedia, pt: c_int) -> *mut gst::GstCaps;
pub fn gst_sdp_media_get_connection(media: *const GstSDPMedia, idx: c_uint) -> *const GstSDPConnection;
pub fn gst_sdp_media_get_format(media: *const GstSDPMedia, idx: c_uint) -> *const c_char;
pub fn gst_sdp_media_get_information(media: *const GstSDPMedia) -> *const c_char;
pub fn gst_sdp_media_get_key(media: *const GstSDPMedia) -> *const GstSDPKey;
pub fn gst_sdp_media_get_media(media: *const GstSDPMedia) -> *const c_char;
pub fn gst_sdp_media_get_num_ports(media: *const GstSDPMedia) -> c_uint;
pub fn gst_sdp_media_get_port(media: *const GstSDPMedia) -> c_uint;
pub fn gst_sdp_media_get_proto(media: *const GstSDPMedia) -> *const c_char;
pub fn gst_sdp_media_init(media: *mut GstSDPMedia) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_insert_attribute(media: *mut GstSDPMedia, idx: c_int, attr: *mut GstSDPAttribute) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_insert_bandwidth(media: *mut GstSDPMedia, idx: c_int, bw: *mut GstSDPBandwidth) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_insert_connection(media: *mut GstSDPMedia, idx: c_int, conn: *mut GstSDPConnection) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_insert_format(media: *mut GstSDPMedia, idx: c_int, format: *const c_char) -> GstSDPResult;
#[cfg(any(feature = "v1_8_1", feature = "dox"))]
pub fn gst_sdp_media_parse_keymgmt(media: *const GstSDPMedia, mikey: *mut *mut GstMIKEYMessage) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_remove_attribute(media: *mut GstSDPMedia, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_remove_bandwidth(media: *mut GstSDPMedia, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_remove_connection(media: *mut GstSDPMedia, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_remove_format(media: *mut GstSDPMedia, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_replace_attribute(media: *mut GstSDPMedia, idx: c_uint, attr: *mut GstSDPAttribute) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_replace_bandwidth(media: *mut GstSDPMedia, idx: c_uint, bw: *mut GstSDPBandwidth) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_replace_connection(media: *mut GstSDPMedia, idx: c_uint, conn: *mut GstSDPConnection) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_media_replace_format(media: *mut GstSDPMedia, idx: c_uint, format: *const c_char) -> GstSDPResult;
pub fn gst_sdp_media_set_information(media: *mut GstSDPMedia, information: *const c_char) -> GstSDPResult;
pub fn gst_sdp_media_set_key(media: *mut GstSDPMedia, type_: *const c_char, data: *const c_char) -> GstSDPResult;
pub fn gst_sdp_media_set_media(media: *mut GstSDPMedia, med: *const c_char) -> GstSDPResult;
pub fn gst_sdp_media_set_port_info(media: *mut GstSDPMedia, port: c_uint, num_ports: c_uint) -> GstSDPResult;
pub fn gst_sdp_media_set_proto(media: *mut GstSDPMedia, proto: *const c_char) -> GstSDPResult;
pub fn gst_sdp_media_uninit(media: *mut GstSDPMedia) -> GstSDPResult;
pub fn gst_sdp_media_new(media: *mut *mut GstSDPMedia) -> GstSDPResult;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_sdp_media_set_media_from_caps(caps: *const gst::GstCaps, media: *mut GstSDPMedia) -> GstSDPResult;
//=========================================================================
// GstSDPMessage
//=========================================================================
pub fn gst_sdp_message_get_type() -> GType;
pub fn gst_sdp_message_add_attribute(msg: *mut GstSDPMessage, key: *const c_char, value: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_add_bandwidth(msg: *mut GstSDPMessage, bwtype: *const c_char, bandwidth: c_uint) -> GstSDPResult;
pub fn gst_sdp_message_add_email(msg: *mut GstSDPMessage, email: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_add_media(msg: *mut GstSDPMessage, media: *mut GstSDPMedia) -> GstSDPResult;
pub fn gst_sdp_message_add_phone(msg: *mut GstSDPMessage, phone: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_add_time(msg: *mut GstSDPMessage, start: *const c_char, stop: *const c_char, repeat: *mut *mut c_char) -> GstSDPResult;
pub fn gst_sdp_message_add_zone(msg: *mut GstSDPMessage, adj_time: *const c_char, typed_time: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_as_text(msg: *const GstSDPMessage) -> *mut c_char;
pub fn gst_sdp_message_attributes_len(msg: *const GstSDPMessage) -> c_uint;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_sdp_message_attributes_to_caps(msg: *const GstSDPMessage, caps: *mut gst::GstCaps) -> GstSDPResult;
pub fn gst_sdp_message_bandwidths_len(msg: *const GstSDPMessage) -> c_uint;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_copy(msg: *const GstSDPMessage, copy: *mut *mut GstSDPMessage) -> GstSDPResult;
pub fn gst_sdp_message_dump(msg: *const GstSDPMessage) -> GstSDPResult;
pub fn gst_sdp_message_emails_len(msg: *const GstSDPMessage) -> c_uint;
pub fn gst_sdp_message_free(msg: *mut GstSDPMessage) -> GstSDPResult;
pub fn gst_sdp_message_get_attribute(msg: *const GstSDPMessage, idx: c_uint) -> *const GstSDPAttribute;
pub fn gst_sdp_message_get_attribute_val(msg: *const GstSDPMessage, key: *const c_char) -> *const c_char;
pub fn gst_sdp_message_get_attribute_val_n(msg: *const GstSDPMessage, key: *const c_char, nth: c_uint) -> *const c_char;
pub fn gst_sdp_message_get_bandwidth(msg: *const GstSDPMessage, idx: c_uint) -> *const GstSDPBandwidth;
pub fn gst_sdp_message_get_connection(msg: *const GstSDPMessage) -> *const GstSDPConnection;
pub fn gst_sdp_message_get_email(msg: *const GstSDPMessage, idx: c_uint) -> *const c_char;
pub fn gst_sdp_message_get_information(msg: *const GstSDPMessage) -> *const c_char;
pub fn gst_sdp_message_get_key(msg: *const GstSDPMessage) -> *const GstSDPKey;
pub fn gst_sdp_message_get_media(msg: *const GstSDPMessage, idx: c_uint) -> *const GstSDPMedia;
pub fn gst_sdp_message_get_origin(msg: *const GstSDPMessage) -> *const GstSDPOrigin;
pub fn gst_sdp_message_get_phone(msg: *const GstSDPMessage, idx: c_uint) -> *const c_char;
pub fn gst_sdp_message_get_session_name(msg: *const GstSDPMessage) -> *const c_char;
pub fn gst_sdp_message_get_time(msg: *const GstSDPMessage, idx: c_uint) -> *const GstSDPTime;
pub fn gst_sdp_message_get_uri(msg: *const GstSDPMessage) -> *const c_char;
pub fn gst_sdp_message_get_version(msg: *const GstSDPMessage) -> *const c_char;
pub fn gst_sdp_message_get_zone(msg: *const GstSDPMessage, idx: c_uint) -> *const GstSDPZone;
pub fn gst_sdp_message_init(msg: *mut GstSDPMessage) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_insert_attribute(msg: *mut GstSDPMessage, idx: c_int, attr: *mut GstSDPAttribute) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_insert_bandwidth(msg: *mut GstSDPMessage, idx: c_int, bw: *mut GstSDPBandwidth) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_insert_email(msg: *mut GstSDPMessage, idx: c_int, email: *const c_char) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_insert_phone(msg: *mut GstSDPMessage, idx: c_int, phone: *const c_char) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_insert_time(msg: *mut GstSDPMessage, idx: c_int, t: *mut GstSDPTime) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_insert_zone(msg: *mut GstSDPMessage, idx: c_int, zone: *mut GstSDPZone) -> GstSDPResult;
pub fn gst_sdp_message_medias_len(msg: *const GstSDPMessage) -> c_uint;
#[cfg(any(feature = "v1_8_1", feature = "dox"))]
pub fn gst_sdp_message_parse_keymgmt(msg: *const GstSDPMessage, mikey: *mut *mut GstMIKEYMessage) -> GstSDPResult;
pub fn gst_sdp_message_phones_len(msg: *const GstSDPMessage) -> c_uint;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_remove_attribute(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_remove_bandwidth(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_remove_email(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_remove_phone(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_remove_time(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_remove_zone(msg: *mut GstSDPMessage, idx: c_uint) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_replace_attribute(msg: *mut GstSDPMessage, idx: c_uint, attr: *mut GstSDPAttribute) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_replace_bandwidth(msg: *mut GstSDPMessage, idx: c_uint, bw: *mut GstSDPBandwidth) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_replace_email(msg: *mut GstSDPMessage, idx: c_uint, email: *const c_char) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_replace_phone(msg: *mut GstSDPMessage, idx: c_uint, phone: *const c_char) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_replace_time(msg: *mut GstSDPMessage, idx: c_uint, t: *mut GstSDPTime) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_message_replace_zone(msg: *mut GstSDPMessage, idx: c_uint, zone: *mut GstSDPZone) -> GstSDPResult;
pub fn gst_sdp_message_set_connection(msg: *mut GstSDPMessage, nettype: *const c_char, addrtype: *const c_char, address: *const c_char, ttl: c_uint, addr_number: c_uint) -> GstSDPResult;
pub fn gst_sdp_message_set_information(msg: *mut GstSDPMessage, information: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_set_key(msg: *mut GstSDPMessage, type_: *const c_char, data: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_set_origin(msg: *mut GstSDPMessage, username: *const c_char, sess_id: *const c_char, sess_version: *const c_char, nettype: *const c_char, addrtype: *const c_char, addr: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_set_session_name(msg: *mut GstSDPMessage, session_name: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_set_uri(msg: *mut GstSDPMessage, uri: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_set_version(msg: *mut GstSDPMessage, version: *const c_char) -> GstSDPResult;
pub fn gst_sdp_message_times_len(msg: *const GstSDPMessage) -> c_uint;
pub fn gst_sdp_message_uninit(msg: *mut GstSDPMessage) -> GstSDPResult;
pub fn gst_sdp_message_zones_len(msg: *const GstSDPMessage) -> c_uint;
pub fn gst_sdp_message_as_uri(scheme: *const c_char, msg: *const GstSDPMessage) -> *mut c_char;
pub fn gst_sdp_message_new(msg: *mut *mut GstSDPMessage) -> GstSDPResult;
pub fn gst_sdp_message_parse_buffer(data: *mut u8, size: c_uint, msg: *mut GstSDPMessage) -> GstSDPResult;
pub fn gst_sdp_message_parse_uri(uri: *const c_char, msg: *mut GstSDPMessage) -> GstSDPResult;
//=========================================================================
// GstSDPTime
//=========================================================================
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_time_clear(t: *mut GstSDPTime) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_time_set(t: *mut GstSDPTime, start: *const c_char, stop: *const c_char, repeat: *mut *mut c_char) -> GstSDPResult;
//=========================================================================
// GstSDPZone
//=========================================================================
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_zone_clear(zone: *mut GstSDPZone) -> GstSDPResult;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_sdp_zone_set(zone: *mut GstSDPZone, adj_time: *const c_char, typed_time: *const c_char) -> GstSDPResult;
//=========================================================================
// Other functions
//=========================================================================
pub fn gst_sdp_address_is_multicast(nettype: *const c_char, addrtype: *const c_char, addr: *const c_char) -> gboolean;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_sdp_make_keymgmt(uri: *const c_char, base64: *const c_char) -> *mut c_char;
}