Files
go-gst/pkg/gstwebrtc/gstwebrtc.gen.go
2025-09-16 22:36:07 +02:00

4185 lines
154 KiB
Go

// Code generated by girgen for GstWebRTC-1. DO NOT EDIT.
package gstwebrtc
import (
"fmt"
"log"
"runtime"
"unsafe"
"github.com/diamondburned/gotk4/pkg/core/classdata"
"github.com/diamondburned/gotk4/pkg/core/userdata"
"github.com/diamondburned/gotk4/pkg/glib/v2"
"github.com/diamondburned/gotk4/pkg/gobject/v2"
"github.com/go-gst/go-gst/pkg/gst"
"github.com/go-gst/go-gst/pkg/gstsdp"
)
// #cgo pkg-config: gstreamer-webrtc-1.0 gstreamer-sdp-1.0
// #cgo CFLAGS: -Wno-deprecated-declarations
// #define GST_USE_UNSTABLE_API // APIs in this package are unstable
// #include <gst/webrtc/webrtc.h>
// #include <gst/webrtc/sctptransport.h>
// extern void _gotk4_gstwebrtc1_WebRTCICEOnCandidateFunc(GstWebRTCICE*, guint, gchar*, gpointer);
// extern void destroyUserdata(gpointer);
// extern void _gotk4_gstwebrtc1_WebRTCICE_add_candidate(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, GstPromise*);
// extern GstWebRTCICEStream* _gotk4_gstwebrtc1_WebRTCICE_add_stream(GstWebRTCICE*, guint);
// extern gboolean _gotk4_gstwebrtc1_WebRTCICE_add_turn_server(GstWebRTCICE*, gchar*);
// extern GstWebRTCICETransport* _gotk4_gstwebrtc1_WebRTCICE_find_transport(GstWebRTCICE*, GstWebRTCICEStream*, GstWebRTCICEComponent);
// extern gboolean _gotk4_gstwebrtc1_WebRTCICE_gather_candidates(GstWebRTCICE*, GstWebRTCICEStream*);
// extern gchar* _gotk4_gstwebrtc1_WebRTCICE_get_http_proxy(GstWebRTCICE*);
// extern gboolean _gotk4_gstwebrtc1_WebRTCICE_get_is_controller(GstWebRTCICE*);
// extern gboolean _gotk4_gstwebrtc1_WebRTCICE_get_selected_pair(GstWebRTCICE*, GstWebRTCICEStream*, GstWebRTCICECandidateStats*, GstWebRTCICECandidateStats*);
// extern gchar* _gotk4_gstwebrtc1_WebRTCICE_get_stun_server(GstWebRTCICE*);
// extern gchar* _gotk4_gstwebrtc1_WebRTCICE_get_turn_server(GstWebRTCICE*);
// extern void _gotk4_gstwebrtc1_WebRTCICE_set_force_relay(GstWebRTCICE*, gboolean);
// extern void _gotk4_gstwebrtc1_WebRTCICE_set_http_proxy(GstWebRTCICE*, gchar*);
// extern void _gotk4_gstwebrtc1_WebRTCICE_set_is_controller(GstWebRTCICE*, gboolean);
// extern gboolean _gotk4_gstwebrtc1_WebRTCICE_set_local_credentials(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, gchar*);
// extern void _gotk4_gstwebrtc1_WebRTCICE_set_on_ice_candidate(GstWebRTCICE*, GstWebRTCICEOnCandidateFunc, gpointer, GDestroyNotify);
// extern gboolean _gotk4_gstwebrtc1_WebRTCICE_set_remote_credentials(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, gchar*);
// extern void _gotk4_gstwebrtc1_WebRTCICE_set_stun_server(GstWebRTCICE*, gchar*);
// extern void _gotk4_gstwebrtc1_WebRTCICE_set_tos(GstWebRTCICE*, GstWebRTCICEStream*, guint);
// extern void _gotk4_gstwebrtc1_WebRTCICE_set_turn_server(GstWebRTCICE*, gchar*);
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_add_candidate(void* fnptr, GstWebRTCICE* carg0, GstWebRTCICEStream* carg1, gchar* carg2, GstPromise* carg3) {
// return ((void (*) (GstWebRTCICE*, GstWebRTCICEStream*, gchar*, GstPromise*))(fnptr))(carg0, carg1, carg2, carg3);
// }
// GstWebRTCICEStream* _gotk4_gstwebrtc1_WebRTCICE_virtual_add_stream(void* fnptr, GstWebRTCICE* carg0, guint carg1) {
// return ((GstWebRTCICEStream* (*) (GstWebRTCICE*, guint))(fnptr))(carg0, carg1);
// }
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_add_turn_server(void* fnptr, GstWebRTCICE* carg0, gchar* carg1) {
// return ((gboolean (*) (GstWebRTCICE*, gchar*))(fnptr))(carg0, carg1);
// }
// GstWebRTCICETransport* _gotk4_gstwebrtc1_WebRTCICE_virtual_find_transport(void* fnptr, GstWebRTCICE* carg0, GstWebRTCICEStream* carg1, GstWebRTCICEComponent carg2) {
// return ((GstWebRTCICETransport* (*) (GstWebRTCICE*, GstWebRTCICEStream*, GstWebRTCICEComponent))(fnptr))(carg0, carg1, carg2);
// }
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_gather_candidates(void* fnptr, GstWebRTCICE* carg0, GstWebRTCICEStream* carg1) {
// return ((gboolean (*) (GstWebRTCICE*, GstWebRTCICEStream*))(fnptr))(carg0, carg1);
// }
// gchar* _gotk4_gstwebrtc1_WebRTCICE_virtual_get_http_proxy(void* fnptr, GstWebRTCICE* carg0) {
// return ((gchar* (*) (GstWebRTCICE*))(fnptr))(carg0);
// }
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_get_is_controller(void* fnptr, GstWebRTCICE* carg0) {
// return ((gboolean (*) (GstWebRTCICE*))(fnptr))(carg0);
// }
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_get_selected_pair(void* fnptr, GstWebRTCICE* carg0, GstWebRTCICEStream* carg1, GstWebRTCICECandidateStats** carg2, GstWebRTCICECandidateStats** carg3) {
// return ((gboolean (*) (GstWebRTCICE*, GstWebRTCICEStream*, GstWebRTCICECandidateStats**, GstWebRTCICECandidateStats**))(fnptr))(carg0, carg1, carg2, carg3);
// }
// gchar* _gotk4_gstwebrtc1_WebRTCICE_virtual_get_stun_server(void* fnptr, GstWebRTCICE* carg0) {
// return ((gchar* (*) (GstWebRTCICE*))(fnptr))(carg0);
// }
// gchar* _gotk4_gstwebrtc1_WebRTCICE_virtual_get_turn_server(void* fnptr, GstWebRTCICE* carg0) {
// return ((gchar* (*) (GstWebRTCICE*))(fnptr))(carg0);
// }
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_force_relay(void* fnptr, GstWebRTCICE* carg0, gboolean carg1) {
// return ((void (*) (GstWebRTCICE*, gboolean))(fnptr))(carg0, carg1);
// }
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_http_proxy(void* fnptr, GstWebRTCICE* carg0, gchar* carg1) {
// return ((void (*) (GstWebRTCICE*, gchar*))(fnptr))(carg0, carg1);
// }
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_is_controller(void* fnptr, GstWebRTCICE* carg0, gboolean carg1) {
// return ((void (*) (GstWebRTCICE*, gboolean))(fnptr))(carg0, carg1);
// }
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_set_local_credentials(void* fnptr, GstWebRTCICE* carg0, GstWebRTCICEStream* carg1, gchar* carg2, gchar* carg3) {
// return ((gboolean (*) (GstWebRTCICE*, GstWebRTCICEStream*, gchar*, gchar*))(fnptr))(carg0, carg1, carg2, carg3);
// }
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_on_ice_candidate(void* fnptr, GstWebRTCICE* carg0, GstWebRTCICEOnCandidateFunc carg1, gpointer carg2, GDestroyNotify carg3) {
// return ((void (*) (GstWebRTCICE*, GstWebRTCICEOnCandidateFunc, gpointer, GDestroyNotify))(fnptr))(carg0, carg1, carg2, carg3);
// }
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_set_remote_credentials(void* fnptr, GstWebRTCICE* carg0, GstWebRTCICEStream* carg1, gchar* carg2, gchar* carg3) {
// return ((gboolean (*) (GstWebRTCICE*, GstWebRTCICEStream*, gchar*, gchar*))(fnptr))(carg0, carg1, carg2, carg3);
// }
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_stun_server(void* fnptr, GstWebRTCICE* carg0, gchar* carg1) {
// return ((void (*) (GstWebRTCICE*, gchar*))(fnptr))(carg0, carg1);
// }
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_tos(void* fnptr, GstWebRTCICE* carg0, GstWebRTCICEStream* carg1, guint carg2) {
// return ((void (*) (GstWebRTCICE*, GstWebRTCICEStream*, guint))(fnptr))(carg0, carg1, carg2);
// }
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_turn_server(void* fnptr, GstWebRTCICE* carg0, gchar* carg1) {
// return ((void (*) (GstWebRTCICE*, gchar*))(fnptr))(carg0, carg1);
// }
// extern GstWebRTCICETransport* _gotk4_gstwebrtc1_WebRTCICEStream_find_transport(GstWebRTCICEStream*, GstWebRTCICEComponent);
// extern gboolean _gotk4_gstwebrtc1_WebRTCICEStream_gather_candidates(GstWebRTCICEStream*);
// GstWebRTCICETransport* _gotk4_gstwebrtc1_WebRTCICEStream_virtual_find_transport(void* fnptr, GstWebRTCICEStream* carg0, GstWebRTCICEComponent carg1) {
// return ((GstWebRTCICETransport* (*) (GstWebRTCICEStream*, GstWebRTCICEComponent))(fnptr))(carg0, carg1);
// }
// gboolean _gotk4_gstwebrtc1_WebRTCICEStream_virtual_gather_candidates(void* fnptr, GstWebRTCICEStream* carg0) {
// return ((gboolean (*) (GstWebRTCICEStream*))(fnptr))(carg0);
// }
// extern gboolean _gotk4_gstwebrtc1_WebRTCICETransport_gather_candidates(GstWebRTCICETransport*);
// gboolean _gotk4_gstwebrtc1_WebRTCICETransport_virtual_gather_candidates(void* fnptr, GstWebRTCICETransport* carg0) {
// return ((gboolean (*) (GstWebRTCICETransport*))(fnptr))(carg0);
// }
import "C"
// GType values.
var (
TypeWebRTCBundlePolicy = gobject.Type(C.gst_webrtc_bundle_policy_get_type())
TypeWebRTCDTLSSetup = gobject.Type(C.gst_webrtc_dtls_setup_get_type())
TypeWebRTCDTLSTransportState = gobject.Type(C.gst_webrtc_dtls_transport_state_get_type())
TypeWebRTCDataChannelState = gobject.Type(C.gst_webrtc_data_channel_state_get_type())
TypeWebRTCError = gobject.Type(C.gst_webrtc_error_get_type())
TypeWebRTCFECType = gobject.Type(C.gst_webrtc_fec_type_get_type())
TypeWebRTCICEComponent = gobject.Type(C.gst_webrtc_ice_component_get_type())
TypeWebRTCICEConnectionState = gobject.Type(C.gst_webrtc_ice_connection_state_get_type())
TypeWebRTCICEGatheringState = gobject.Type(C.gst_webrtc_ice_gathering_state_get_type())
TypeWebRTCICERole = gobject.Type(C.gst_webrtc_ice_role_get_type())
TypeWebRTCICETransportPolicy = gobject.Type(C.gst_webrtc_ice_transport_policy_get_type())
TypeWebRTCKind = gobject.Type(C.gst_webrtc_kind_get_type())
TypeWebRTCPeerConnectionState = gobject.Type(C.gst_webrtc_peer_connection_state_get_type())
TypeWebRTCPriorityType = gobject.Type(C.gst_webrtc_priority_type_get_type())
TypeWebRTCRTPTransceiverDirection = gobject.Type(C.gst_webrtc_rtp_transceiver_direction_get_type())
TypeWebRTCSCTPTransportState = gobject.Type(C.gst_webrtc_sctp_transport_state_get_type())
TypeWebRTCSDPType = gobject.Type(C.gst_webrtc_sdp_type_get_type())
TypeWebRTCSignalingState = gobject.Type(C.gst_webrtc_signaling_state_get_type())
TypeWebRTCStatsType = gobject.Type(C.gst_webrtc_stats_type_get_type())
TypeWebRTCDTLSTransport = gobject.Type(C.gst_webrtc_dtls_transport_get_type())
TypeWebRTCDataChannel = gobject.Type(C.gst_webrtc_data_channel_get_type())
TypeWebRTCICE = gobject.Type(C.gst_webrtc_ice_get_type())
TypeWebRTCICEStream = gobject.Type(C.gst_webrtc_ice_stream_get_type())
TypeWebRTCICETransport = gobject.Type(C.gst_webrtc_ice_transport_get_type())
TypeWebRTCRTPReceiver = gobject.Type(C.gst_webrtc_rtp_receiver_get_type())
TypeWebRTCRTPSender = gobject.Type(C.gst_webrtc_rtp_sender_get_type())
TypeWebRTCRTPTransceiver = gobject.Type(C.gst_webrtc_rtp_transceiver_get_type())
TypeWebRTCSCTPTransport = gobject.Type(C.gst_webrtc_sctp_transport_get_type())
TypeWebRTCICECandidateStats = gobject.Type(C.gst_webrtc_ice_candidate_stats_get_type())
TypeWebRTCSessionDescription = gobject.Type(C.gst_webrtc_session_description_get_type())
)
func init() {
gobject.RegisterGValueMarshalers([]gobject.TypeMarshaler{
gobject.TypeMarshaler{T: TypeWebRTCBundlePolicy, F: marshalWebRTCBundlePolicy},
gobject.TypeMarshaler{T: TypeWebRTCDTLSSetup, F: marshalWebRTCDTLSSetup},
gobject.TypeMarshaler{T: TypeWebRTCDTLSTransportState, F: marshalWebRTCDTLSTransportState},
gobject.TypeMarshaler{T: TypeWebRTCDataChannelState, F: marshalWebRTCDataChannelState},
gobject.TypeMarshaler{T: TypeWebRTCError, F: marshalWebRTCError},
gobject.TypeMarshaler{T: TypeWebRTCFECType, F: marshalWebRTCFECType},
gobject.TypeMarshaler{T: TypeWebRTCICEComponent, F: marshalWebRTCICEComponent},
gobject.TypeMarshaler{T: TypeWebRTCICEConnectionState, F: marshalWebRTCICEConnectionState},
gobject.TypeMarshaler{T: TypeWebRTCICEGatheringState, F: marshalWebRTCICEGatheringState},
gobject.TypeMarshaler{T: TypeWebRTCICERole, F: marshalWebRTCICERole},
gobject.TypeMarshaler{T: TypeWebRTCICETransportPolicy, F: marshalWebRTCICETransportPolicy},
gobject.TypeMarshaler{T: TypeWebRTCKind, F: marshalWebRTCKind},
gobject.TypeMarshaler{T: TypeWebRTCPeerConnectionState, F: marshalWebRTCPeerConnectionState},
gobject.TypeMarshaler{T: TypeWebRTCPriorityType, F: marshalWebRTCPriorityType},
gobject.TypeMarshaler{T: TypeWebRTCRTPTransceiverDirection, F: marshalWebRTCRTPTransceiverDirection},
gobject.TypeMarshaler{T: TypeWebRTCSCTPTransportState, F: marshalWebRTCSCTPTransportState},
gobject.TypeMarshaler{T: TypeWebRTCSDPType, F: marshalWebRTCSDPType},
gobject.TypeMarshaler{T: TypeWebRTCSignalingState, F: marshalWebRTCSignalingState},
gobject.TypeMarshaler{T: TypeWebRTCStatsType, F: marshalWebRTCStatsType},
gobject.TypeMarshaler{T: TypeWebRTCDTLSTransport, F: marshalWebRTCDTLSTransportInstance},
gobject.TypeMarshaler{T: TypeWebRTCDataChannel, F: marshalWebRTCDataChannelInstance},
gobject.TypeMarshaler{T: TypeWebRTCICE, F: marshalWebRTCICEInstance},
gobject.TypeMarshaler{T: TypeWebRTCICEStream, F: marshalWebRTCICEStreamInstance},
gobject.TypeMarshaler{T: TypeWebRTCICETransport, F: marshalWebRTCICETransportInstance},
gobject.TypeMarshaler{T: TypeWebRTCRTPReceiver, F: marshalWebRTCRTPReceiverInstance},
gobject.TypeMarshaler{T: TypeWebRTCRTPSender, F: marshalWebRTCRTPSenderInstance},
gobject.TypeMarshaler{T: TypeWebRTCRTPTransceiver, F: marshalWebRTCRTPTransceiverInstance},
gobject.TypeMarshaler{T: TypeWebRTCSCTPTransport, F: marshalWebRTCSCTPTransportInstance},
gobject.TypeMarshaler{T: TypeWebRTCICECandidateStats, F: marshalWebRTCICECandidateStats},
gobject.TypeMarshaler{T: TypeWebRTCSessionDescription, F: marshalWebRTCSessionDescription},
})
}
// WebRTCBundlePolicy wraps GstWebRTCBundlePolicy
//
// See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1
// for more information.
type WebRTCBundlePolicy C.int
const (
// WebrtcBundlePolicyNone wraps GST_WEBRTC_BUNDLE_POLICY_NONE
//
// none
WebrtcBundlePolicyNone WebRTCBundlePolicy = 0
// WebrtcBundlePolicyBalanced wraps GST_WEBRTC_BUNDLE_POLICY_BALANCED
//
// balanced
WebrtcBundlePolicyBalanced WebRTCBundlePolicy = 1
// WebrtcBundlePolicyMaxCompat wraps GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT
//
// max-compat
WebrtcBundlePolicyMaxCompat WebRTCBundlePolicy = 2
// WebrtcBundlePolicyMaxBundle wraps GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE
//
// max-bundle
WebrtcBundlePolicyMaxBundle WebRTCBundlePolicy = 3
)
func marshalWebRTCBundlePolicy(p unsafe.Pointer) (any, error) {
return WebRTCBundlePolicy(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCBundlePolicy(0)
func (e WebRTCBundlePolicy) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCBundlePolicy)
v.SetEnum(int(e))
}
func (e WebRTCBundlePolicy) String() string {
switch e {
case WebrtcBundlePolicyBalanced: return "WebrtcBundlePolicyBalanced"
case WebrtcBundlePolicyMaxBundle: return "WebrtcBundlePolicyMaxBundle"
case WebrtcBundlePolicyMaxCompat: return "WebrtcBundlePolicyMaxCompat"
case WebrtcBundlePolicyNone: return "WebrtcBundlePolicyNone"
default: return fmt.Sprintf("WebRTCBundlePolicy(%d)", e)
}
}
// WebRTCDTLSSetup wraps GstWebRTCDTLSSetup
type WebRTCDTLSSetup C.int
const (
// WebrtcDTLSSetupNone wraps GST_WEBRTC_DTLS_SETUP_NONE
//
// none
WebrtcDTLSSetupNone WebRTCDTLSSetup = 0
// WebrtcDTLSSetupActpass wraps GST_WEBRTC_DTLS_SETUP_ACTPASS
//
// actpass
WebrtcDTLSSetupActpass WebRTCDTLSSetup = 1
// WebrtcDTLSSetupActive wraps GST_WEBRTC_DTLS_SETUP_ACTIVE
//
// sendonly
WebrtcDTLSSetupActive WebRTCDTLSSetup = 2
// WebrtcDTLSSetupPassive wraps GST_WEBRTC_DTLS_SETUP_PASSIVE
//
// recvonly
WebrtcDTLSSetupPassive WebRTCDTLSSetup = 3
)
func marshalWebRTCDTLSSetup(p unsafe.Pointer) (any, error) {
return WebRTCDTLSSetup(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCDTLSSetup(0)
func (e WebRTCDTLSSetup) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCDTLSSetup)
v.SetEnum(int(e))
}
func (e WebRTCDTLSSetup) String() string {
switch e {
case WebrtcDTLSSetupActive: return "WebrtcDTLSSetupActive"
case WebrtcDTLSSetupActpass: return "WebrtcDTLSSetupActpass"
case WebrtcDTLSSetupNone: return "WebrtcDTLSSetupNone"
case WebrtcDTLSSetupPassive: return "WebrtcDTLSSetupPassive"
default: return fmt.Sprintf("WebRTCDTLSSetup(%d)", e)
}
}
// WebRTCDTLSTransportState wraps GstWebRTCDTLSTransportState
type WebRTCDTLSTransportState C.int
const (
// NewWebrtcDTLSTransportState wraps GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW
//
// new
NewWebrtcDTLSTransportState WebRTCDTLSTransportState = 0
// WebrtcDTLSTransportStateClosed wraps GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED
//
// closed
WebrtcDTLSTransportStateClosed WebRTCDTLSTransportState = 1
// WebrtcDTLSTransportStateFailed wraps GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED
//
// failed
WebrtcDTLSTransportStateFailed WebRTCDTLSTransportState = 2
// WebrtcDTLSTransportStateConnecting wraps GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING
//
// connecting
WebrtcDTLSTransportStateConnecting WebRTCDTLSTransportState = 3
// WebrtcDTLSTransportStateConnected wraps GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED
//
// connected
WebrtcDTLSTransportStateConnected WebRTCDTLSTransportState = 4
)
func marshalWebRTCDTLSTransportState(p unsafe.Pointer) (any, error) {
return WebRTCDTLSTransportState(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCDTLSTransportState(0)
func (e WebRTCDTLSTransportState) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCDTLSTransportState)
v.SetEnum(int(e))
}
func (e WebRTCDTLSTransportState) String() string {
switch e {
case NewWebrtcDTLSTransportState: return "NewWebrtcDTLSTransportState"
case WebrtcDTLSTransportStateClosed: return "WebrtcDTLSTransportStateClosed"
case WebrtcDTLSTransportStateConnected: return "WebrtcDTLSTransportStateConnected"
case WebrtcDTLSTransportStateConnecting: return "WebrtcDTLSTransportStateConnecting"
case WebrtcDTLSTransportStateFailed: return "WebrtcDTLSTransportStateFailed"
default: return fmt.Sprintf("WebRTCDTLSTransportState(%d)", e)
}
}
// WebRTCDataChannelState wraps GstWebRTCDataChannelState
//
// See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate&gt;
type WebRTCDataChannelState C.int
const (
// WebrtcDataChannelStateConnecting wraps GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING
//
// connecting
WebrtcDataChannelStateConnecting WebRTCDataChannelState = 1
// WebrtcDataChannelStateOpen wraps GST_WEBRTC_DATA_CHANNEL_STATE_OPEN
//
// open
WebrtcDataChannelStateOpen WebRTCDataChannelState = 2
// WebrtcDataChannelStateClosing wraps GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING
//
// closing
WebrtcDataChannelStateClosing WebRTCDataChannelState = 3
// WebrtcDataChannelStateClosed wraps GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED
//
// closed
WebrtcDataChannelStateClosed WebRTCDataChannelState = 4
)
func marshalWebRTCDataChannelState(p unsafe.Pointer) (any, error) {
return WebRTCDataChannelState(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCDataChannelState(0)
func (e WebRTCDataChannelState) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCDataChannelState)
v.SetEnum(int(e))
}
func (e WebRTCDataChannelState) String() string {
switch e {
case WebrtcDataChannelStateClosed: return "WebrtcDataChannelStateClosed"
case WebrtcDataChannelStateClosing: return "WebrtcDataChannelStateClosing"
case WebrtcDataChannelStateConnecting: return "WebrtcDataChannelStateConnecting"
case WebrtcDataChannelStateOpen: return "WebrtcDataChannelStateOpen"
default: return fmt.Sprintf("WebRTCDataChannelState(%d)", e)
}
}
// WebRTCError wraps GstWebRTCError
//
// See &lt;https://www.w3.org/TR/webrtc/#dom-rtcerrordetailtype&gt; for more information.
type WebRTCError C.int
const (
// WebrtcErrorDataChannelFailure wraps GST_WEBRTC_ERROR_DATA_CHANNEL_FAILURE
//
// data-channel-failure
WebrtcErrorDataChannelFailure WebRTCError = 0
// WebrtcErrorDTLSFailure wraps GST_WEBRTC_ERROR_DTLS_FAILURE
//
// dtls-failure
WebrtcErrorDTLSFailure WebRTCError = 1
// WebrtcErrorFingerprintFailure wraps GST_WEBRTC_ERROR_FINGERPRINT_FAILURE
//
// fingerprint-failure
WebrtcErrorFingerprintFailure WebRTCError = 2
// WebrtcErrorSCTPFailure wraps GST_WEBRTC_ERROR_SCTP_FAILURE
//
// sctp-failure
WebrtcErrorSCTPFailure WebRTCError = 3
// WebrtcErrorSdpSyntaxError wraps GST_WEBRTC_ERROR_SDP_SYNTAX_ERROR
//
// sdp-syntax-error
WebrtcErrorSdpSyntaxError WebRTCError = 4
// WebrtcErrorHardwareEncoderNotAvailable wraps GST_WEBRTC_ERROR_HARDWARE_ENCODER_NOT_AVAILABLE
//
// hardware-encoder-not-available
WebrtcErrorHardwareEncoderNotAvailable WebRTCError = 5
// WebrtcErrorEncoderError wraps GST_WEBRTC_ERROR_ENCODER_ERROR
//
// encoder-error
WebrtcErrorEncoderError WebRTCError = 6
// WebrtcErrorInvalidState wraps GST_WEBRTC_ERROR_INVALID_STATE
//
// invalid-state (part of WebIDL specification)
WebrtcErrorInvalidState WebRTCError = 7
// WebrtcErrorInternalFailure wraps GST_WEBRTC_ERROR_INTERNAL_FAILURE
//
// GStreamer-specific failure, not matching any other value from the specification
WebrtcErrorInternalFailure WebRTCError = 8
// WebrtcErrorInvalidModification wraps GST_WEBRTC_ERROR_INVALID_MODIFICATION
//
// invalid-modification (part of WebIDL specification)
WebrtcErrorInvalidModification WebRTCError = 9
// WebrtcErrorTypeError wraps GST_WEBRTC_ERROR_TYPE_ERROR
//
// type-error (maps to JavaScript TypeError)
WebrtcErrorTypeError WebRTCError = 10
)
func marshalWebRTCError(p unsafe.Pointer) (any, error) {
return WebRTCError(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCError(0)
func (e WebRTCError) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCError)
v.SetEnum(int(e))
}
func (e WebRTCError) String() string {
switch e {
case WebrtcErrorDTLSFailure: return "WebrtcErrorDTLSFailure"
case WebrtcErrorDataChannelFailure: return "WebrtcErrorDataChannelFailure"
case WebrtcErrorEncoderError: return "WebrtcErrorEncoderError"
case WebrtcErrorFingerprintFailure: return "WebrtcErrorFingerprintFailure"
case WebrtcErrorHardwareEncoderNotAvailable: return "WebrtcErrorHardwareEncoderNotAvailable"
case WebrtcErrorInternalFailure: return "WebrtcErrorInternalFailure"
case WebrtcErrorInvalidModification: return "WebrtcErrorInvalidModification"
case WebrtcErrorInvalidState: return "WebrtcErrorInvalidState"
case WebrtcErrorSCTPFailure: return "WebrtcErrorSCTPFailure"
case WebrtcErrorSdpSyntaxError: return "WebrtcErrorSdpSyntaxError"
case WebrtcErrorTypeError: return "WebrtcErrorTypeError"
default: return fmt.Sprintf("WebRTCError(%d)", e)
}
}
// WebRTCErrorQuark wraps gst_webrtc_error_quark
//
// The function returns the following values:
//
// - goret glib.Quark
func WebRTCErrorQuark() glib.Quark {
var cret C.GQuark // return, none, casted, alias
cret = C.gst_webrtc_error_quark()
var goret glib.Quark
goret = glib.Quark(cret)
return goret
}
// WebRTCFECType wraps GstWebRTCFECType
type WebRTCFECType C.int
const (
// WebrtcFecTypeNone wraps GST_WEBRTC_FEC_TYPE_NONE
//
// none
WebrtcFecTypeNone WebRTCFECType = 0
// WebrtcFecTypeUlpRed wraps GST_WEBRTC_FEC_TYPE_ULP_RED
//
// ulpfec + red
WebrtcFecTypeUlpRed WebRTCFECType = 1
)
func marshalWebRTCFECType(p unsafe.Pointer) (any, error) {
return WebRTCFECType(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCFECType(0)
func (e WebRTCFECType) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCFECType)
v.SetEnum(int(e))
}
func (e WebRTCFECType) String() string {
switch e {
case WebrtcFecTypeNone: return "WebrtcFecTypeNone"
case WebrtcFecTypeUlpRed: return "WebrtcFecTypeUlpRed"
default: return fmt.Sprintf("WebRTCFECType(%d)", e)
}
}
// WebRTCICEComponent wraps GstWebRTCICEComponent
type WebRTCICEComponent C.int
const (
// WebrtcIceComponentRtp wraps GST_WEBRTC_ICE_COMPONENT_RTP
//
// RTP component
WebrtcIceComponentRtp WebRTCICEComponent = 0
// WebrtcIceComponentRtcp wraps GST_WEBRTC_ICE_COMPONENT_RTCP
//
// RTCP component
WebrtcIceComponentRtcp WebRTCICEComponent = 1
)
func marshalWebRTCICEComponent(p unsafe.Pointer) (any, error) {
return WebRTCICEComponent(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCICEComponent(0)
func (e WebRTCICEComponent) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCICEComponent)
v.SetEnum(int(e))
}
func (e WebRTCICEComponent) String() string {
switch e {
case WebrtcIceComponentRtcp: return "WebrtcIceComponentRtcp"
case WebrtcIceComponentRtp: return "WebrtcIceComponentRtp"
default: return fmt.Sprintf("WebRTCICEComponent(%d)", e)
}
}
// WebRTCICEConnectionState wraps GstWebRTCICEConnectionState
//
// See &lt;http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate&gt;
type WebRTCICEConnectionState C.int
const (
// NewWebrtcIceConnectionState wraps GST_WEBRTC_ICE_CONNECTION_STATE_NEW
//
// new
NewWebrtcIceConnectionState WebRTCICEConnectionState = 0
// WebrtcIceConnectionStateChecking wraps GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING
//
// checking
WebrtcIceConnectionStateChecking WebRTCICEConnectionState = 1
// WebrtcIceConnectionStateConnected wraps GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED
//
// connected
WebrtcIceConnectionStateConnected WebRTCICEConnectionState = 2
// WebrtcIceConnectionStateCompleted wraps GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED
//
// completed
WebrtcIceConnectionStateCompleted WebRTCICEConnectionState = 3
// WebrtcIceConnectionStateFailed wraps GST_WEBRTC_ICE_CONNECTION_STATE_FAILED
//
// failed
WebrtcIceConnectionStateFailed WebRTCICEConnectionState = 4
// WebrtcIceConnectionStateDisconnected wraps GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED
//
// disconnected
WebrtcIceConnectionStateDisconnected WebRTCICEConnectionState = 5
// WebrtcIceConnectionStateClosed wraps GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED
//
// closed
WebrtcIceConnectionStateClosed WebRTCICEConnectionState = 6
)
func marshalWebRTCICEConnectionState(p unsafe.Pointer) (any, error) {
return WebRTCICEConnectionState(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCICEConnectionState(0)
func (e WebRTCICEConnectionState) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCICEConnectionState)
v.SetEnum(int(e))
}
func (e WebRTCICEConnectionState) String() string {
switch e {
case NewWebrtcIceConnectionState: return "NewWebrtcIceConnectionState"
case WebrtcIceConnectionStateChecking: return "WebrtcIceConnectionStateChecking"
case WebrtcIceConnectionStateClosed: return "WebrtcIceConnectionStateClosed"
case WebrtcIceConnectionStateCompleted: return "WebrtcIceConnectionStateCompleted"
case WebrtcIceConnectionStateConnected: return "WebrtcIceConnectionStateConnected"
case WebrtcIceConnectionStateDisconnected: return "WebrtcIceConnectionStateDisconnected"
case WebrtcIceConnectionStateFailed: return "WebrtcIceConnectionStateFailed"
default: return fmt.Sprintf("WebRTCICEConnectionState(%d)", e)
}
}
// WebRTCICEGatheringState wraps GstWebRTCICEGatheringState
//
// See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate&gt;
type WebRTCICEGatheringState C.int
const (
// NewWebrtcIceGatheringState wraps GST_WEBRTC_ICE_GATHERING_STATE_NEW
//
// new
NewWebrtcIceGatheringState WebRTCICEGatheringState = 0
// WebrtcIceGatheringStateGathering wraps GST_WEBRTC_ICE_GATHERING_STATE_GATHERING
//
// gathering
WebrtcIceGatheringStateGathering WebRTCICEGatheringState = 1
// WebrtcIceGatheringStateComplete wraps GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE
//
// complete
WebrtcIceGatheringStateComplete WebRTCICEGatheringState = 2
)
func marshalWebRTCICEGatheringState(p unsafe.Pointer) (any, error) {
return WebRTCICEGatheringState(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCICEGatheringState(0)
func (e WebRTCICEGatheringState) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCICEGatheringState)
v.SetEnum(int(e))
}
func (e WebRTCICEGatheringState) String() string {
switch e {
case NewWebrtcIceGatheringState: return "NewWebrtcIceGatheringState"
case WebrtcIceGatheringStateComplete: return "WebrtcIceGatheringStateComplete"
case WebrtcIceGatheringStateGathering: return "WebrtcIceGatheringStateGathering"
default: return fmt.Sprintf("WebRTCICEGatheringState(%d)", e)
}
}
// WebRTCICERole wraps GstWebRTCICERole
type WebRTCICERole C.int
const (
// WebrtcIceRoleControlled wraps GST_WEBRTC_ICE_ROLE_CONTROLLED
//
// controlled
WebrtcIceRoleControlled WebRTCICERole = 0
// WebrtcIceRoleControlling wraps GST_WEBRTC_ICE_ROLE_CONTROLLING
//
// controlling
WebrtcIceRoleControlling WebRTCICERole = 1
)
func marshalWebRTCICERole(p unsafe.Pointer) (any, error) {
return WebRTCICERole(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCICERole(0)
func (e WebRTCICERole) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCICERole)
v.SetEnum(int(e))
}
func (e WebRTCICERole) String() string {
switch e {
case WebrtcIceRoleControlled: return "WebrtcIceRoleControlled"
case WebrtcIceRoleControlling: return "WebrtcIceRoleControlling"
default: return fmt.Sprintf("WebRTCICERole(%d)", e)
}
}
// WebRTCICETransportPolicy wraps GstWebRTCICETransportPolicy
//
// See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1
// for more information.
type WebRTCICETransportPolicy C.int
const (
// WebrtcIceTransportPolicyAll wraps GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL
//
// all
WebrtcIceTransportPolicyAll WebRTCICETransportPolicy = 0
// WebrtcIceTransportPolicyRelay wraps GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY
//
// relay
WebrtcIceTransportPolicyRelay WebRTCICETransportPolicy = 1
)
func marshalWebRTCICETransportPolicy(p unsafe.Pointer) (any, error) {
return WebRTCICETransportPolicy(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCICETransportPolicy(0)
func (e WebRTCICETransportPolicy) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCICETransportPolicy)
v.SetEnum(int(e))
}
func (e WebRTCICETransportPolicy) String() string {
switch e {
case WebrtcIceTransportPolicyAll: return "WebrtcIceTransportPolicyAll"
case WebrtcIceTransportPolicyRelay: return "WebrtcIceTransportPolicyRelay"
default: return fmt.Sprintf("WebRTCICETransportPolicy(%d)", e)
}
}
// WebRTCKind wraps GstWebRTCKind
//
// https://w3c.github.io/mediacapture-main/#dom-mediastreamtrack-kind
type WebRTCKind C.int
const (
// WebrtcKindUnknown wraps GST_WEBRTC_KIND_UNKNOWN
//
// Kind has not yet been set
WebrtcKindUnknown WebRTCKind = 0
// WebrtcKindAudio wraps GST_WEBRTC_KIND_AUDIO
//
// Kind is audio
WebrtcKindAudio WebRTCKind = 1
// WebrtcKindVideo wraps GST_WEBRTC_KIND_VIDEO
//
// Kind is audio
WebrtcKindVideo WebRTCKind = 2
)
func marshalWebRTCKind(p unsafe.Pointer) (any, error) {
return WebRTCKind(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCKind(0)
func (e WebRTCKind) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCKind)
v.SetEnum(int(e))
}
func (e WebRTCKind) String() string {
switch e {
case WebrtcKindAudio: return "WebrtcKindAudio"
case WebrtcKindUnknown: return "WebrtcKindUnknown"
case WebrtcKindVideo: return "WebrtcKindVideo"
default: return fmt.Sprintf("WebRTCKind(%d)", e)
}
}
// WebRTCPeerConnectionState wraps GstWebRTCPeerConnectionState
//
// See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate&gt;
type WebRTCPeerConnectionState C.int
const (
// NewWebrtcPeerConnectionState wraps GST_WEBRTC_PEER_CONNECTION_STATE_NEW
//
// new
NewWebrtcPeerConnectionState WebRTCPeerConnectionState = 0
// WebrtcPeerConnectionStateConnecting wraps GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING
//
// connecting
WebrtcPeerConnectionStateConnecting WebRTCPeerConnectionState = 1
// WebrtcPeerConnectionStateConnected wraps GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED
//
// connected
WebrtcPeerConnectionStateConnected WebRTCPeerConnectionState = 2
// WebrtcPeerConnectionStateDisconnected wraps GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED
//
// disconnected
WebrtcPeerConnectionStateDisconnected WebRTCPeerConnectionState = 3
// WebrtcPeerConnectionStateFailed wraps GST_WEBRTC_PEER_CONNECTION_STATE_FAILED
//
// failed
WebrtcPeerConnectionStateFailed WebRTCPeerConnectionState = 4
// WebrtcPeerConnectionStateClosed wraps GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED
//
// closed
WebrtcPeerConnectionStateClosed WebRTCPeerConnectionState = 5
)
func marshalWebRTCPeerConnectionState(p unsafe.Pointer) (any, error) {
return WebRTCPeerConnectionState(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCPeerConnectionState(0)
func (e WebRTCPeerConnectionState) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCPeerConnectionState)
v.SetEnum(int(e))
}
func (e WebRTCPeerConnectionState) String() string {
switch e {
case NewWebrtcPeerConnectionState: return "NewWebrtcPeerConnectionState"
case WebrtcPeerConnectionStateClosed: return "WebrtcPeerConnectionStateClosed"
case WebrtcPeerConnectionStateConnected: return "WebrtcPeerConnectionStateConnected"
case WebrtcPeerConnectionStateConnecting: return "WebrtcPeerConnectionStateConnecting"
case WebrtcPeerConnectionStateDisconnected: return "WebrtcPeerConnectionStateDisconnected"
case WebrtcPeerConnectionStateFailed: return "WebrtcPeerConnectionStateFailed"
default: return fmt.Sprintf("WebRTCPeerConnectionState(%d)", e)
}
}
// WebRTCPriorityType wraps GstWebRTCPriorityType
//
// See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;
type WebRTCPriorityType C.int
const (
// WebrtcPriorityTypeVeryLow wraps GST_WEBRTC_PRIORITY_TYPE_VERY_LOW
//
// very-low
WebrtcPriorityTypeVeryLow WebRTCPriorityType = 1
// WebrtcPriorityTypeLow wraps GST_WEBRTC_PRIORITY_TYPE_LOW
//
// low
WebrtcPriorityTypeLow WebRTCPriorityType = 2
// WebrtcPriorityTypeMedium wraps GST_WEBRTC_PRIORITY_TYPE_MEDIUM
//
// medium
WebrtcPriorityTypeMedium WebRTCPriorityType = 3
// WebrtcPriorityTypeHigh wraps GST_WEBRTC_PRIORITY_TYPE_HIGH
//
// high
WebrtcPriorityTypeHigh WebRTCPriorityType = 4
)
func marshalWebRTCPriorityType(p unsafe.Pointer) (any, error) {
return WebRTCPriorityType(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCPriorityType(0)
func (e WebRTCPriorityType) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCPriorityType)
v.SetEnum(int(e))
}
func (e WebRTCPriorityType) String() string {
switch e {
case WebrtcPriorityTypeHigh: return "WebrtcPriorityTypeHigh"
case WebrtcPriorityTypeLow: return "WebrtcPriorityTypeLow"
case WebrtcPriorityTypeMedium: return "WebrtcPriorityTypeMedium"
case WebrtcPriorityTypeVeryLow: return "WebrtcPriorityTypeVeryLow"
default: return fmt.Sprintf("WebRTCPriorityType(%d)", e)
}
}
// WebRTCRTPTransceiverDirection wraps GstWebRTCRTPTransceiverDirection
type WebRTCRTPTransceiverDirection C.int
const (
// WebrtcRtpTransceiverDirectionNone wraps GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_NONE
//
// none
WebrtcRtpTransceiverDirectionNone WebRTCRTPTransceiverDirection = 0
// WebrtcRtpTransceiverDirectionInactive wraps GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE
//
// inactive
WebrtcRtpTransceiverDirectionInactive WebRTCRTPTransceiverDirection = 1
// WebrtcRtpTransceiverDirectionSendonly wraps GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY
//
// sendonly
WebrtcRtpTransceiverDirectionSendonly WebRTCRTPTransceiverDirection = 2
// WebrtcRtpTransceiverDirectionRecvonly wraps GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY
//
// recvonly
WebrtcRtpTransceiverDirectionRecvonly WebRTCRTPTransceiverDirection = 3
// WebrtcRtpTransceiverDirectionSendrecv wraps GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV
//
// sendrecv
WebrtcRtpTransceiverDirectionSendrecv WebRTCRTPTransceiverDirection = 4
)
func marshalWebRTCRTPTransceiverDirection(p unsafe.Pointer) (any, error) {
return WebRTCRTPTransceiverDirection(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCRTPTransceiverDirection(0)
func (e WebRTCRTPTransceiverDirection) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCRTPTransceiverDirection)
v.SetEnum(int(e))
}
func (e WebRTCRTPTransceiverDirection) String() string {
switch e {
case WebrtcRtpTransceiverDirectionInactive: return "WebrtcRtpTransceiverDirectionInactive"
case WebrtcRtpTransceiverDirectionNone: return "WebrtcRtpTransceiverDirectionNone"
case WebrtcRtpTransceiverDirectionRecvonly: return "WebrtcRtpTransceiverDirectionRecvonly"
case WebrtcRtpTransceiverDirectionSendonly: return "WebrtcRtpTransceiverDirectionSendonly"
case WebrtcRtpTransceiverDirectionSendrecv: return "WebrtcRtpTransceiverDirectionSendrecv"
default: return fmt.Sprintf("WebRTCRTPTransceiverDirection(%d)", e)
}
}
// WebRTCSCTPTransportState wraps GstWebRTCSCTPTransportState
//
// See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcsctptransportstate&gt;
type WebRTCSCTPTransportState C.int
const (
// NewWebrtcSCTPTransportState wraps GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW
//
// new
NewWebrtcSCTPTransportState WebRTCSCTPTransportState = 0
// WebrtcSCTPTransportStateConnecting wraps GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING
//
// connecting
WebrtcSCTPTransportStateConnecting WebRTCSCTPTransportState = 1
// WebrtcSCTPTransportStateConnected wraps GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED
//
// connected
WebrtcSCTPTransportStateConnected WebRTCSCTPTransportState = 2
// WebrtcSCTPTransportStateClosed wraps GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED
//
// closed
WebrtcSCTPTransportStateClosed WebRTCSCTPTransportState = 3
)
func marshalWebRTCSCTPTransportState(p unsafe.Pointer) (any, error) {
return WebRTCSCTPTransportState(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCSCTPTransportState(0)
func (e WebRTCSCTPTransportState) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCSCTPTransportState)
v.SetEnum(int(e))
}
func (e WebRTCSCTPTransportState) String() string {
switch e {
case NewWebrtcSCTPTransportState: return "NewWebrtcSCTPTransportState"
case WebrtcSCTPTransportStateClosed: return "WebrtcSCTPTransportStateClosed"
case WebrtcSCTPTransportStateConnected: return "WebrtcSCTPTransportStateConnected"
case WebrtcSCTPTransportStateConnecting: return "WebrtcSCTPTransportStateConnecting"
default: return fmt.Sprintf("WebRTCSCTPTransportState(%d)", e)
}
}
// WebRTCSDPType wraps GstWebRTCSDPType
//
// See &lt;http://w3c.github.io/webrtc-pc/#rtcsdptype&gt;
type WebRTCSDPType C.int
const (
// WebrtcSdpTypeOffer wraps GST_WEBRTC_SDP_TYPE_OFFER
//
// offer
WebrtcSdpTypeOffer WebRTCSDPType = 1
// WebrtcSdpTypePranswer wraps GST_WEBRTC_SDP_TYPE_PRANSWER
//
// pranswer
WebrtcSdpTypePranswer WebRTCSDPType = 2
// WebrtcSdpTypeAnswer wraps GST_WEBRTC_SDP_TYPE_ANSWER
//
// answer
WebrtcSdpTypeAnswer WebRTCSDPType = 3
// WebrtcSdpTypeRollback wraps GST_WEBRTC_SDP_TYPE_ROLLBACK
//
// rollback
WebrtcSdpTypeRollback WebRTCSDPType = 4
)
func marshalWebRTCSDPType(p unsafe.Pointer) (any, error) {
return WebRTCSDPType(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCSDPType(0)
func (e WebRTCSDPType) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCSDPType)
v.SetEnum(int(e))
}
func (e WebRTCSDPType) String() string {
switch e {
case WebrtcSdpTypeAnswer: return "WebrtcSdpTypeAnswer"
case WebrtcSdpTypeOffer: return "WebrtcSdpTypeOffer"
case WebrtcSdpTypePranswer: return "WebrtcSdpTypePranswer"
case WebrtcSdpTypeRollback: return "WebrtcSdpTypeRollback"
default: return fmt.Sprintf("WebRTCSDPType(%d)", e)
}
}
// WebRTCSDPTypeToString wraps gst_webrtc_sdp_type_to_string
//
// The function takes the following parameters:
//
// - typ WebRTCSDPType: a #GstWebRTCSDPType
//
// The function returns the following values:
//
// - goret string
func WebRTCSDPTypeToString(typ WebRTCSDPType) string {
var carg1 C.GstWebRTCSDPType // in, none, casted
var cret *C.gchar // return, none, string
carg1 = C.GstWebRTCSDPType(typ)
cret = C.gst_webrtc_sdp_type_to_string(carg1)
runtime.KeepAlive(typ)
var goret string
goret = C.GoString((*C.char)(unsafe.Pointer(cret)))
return goret
}
// WebRTCSignalingState wraps GstWebRTCSignalingState
//
// See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate&gt;
type WebRTCSignalingState C.int
const (
// WebrtcSignalingStateStable wraps GST_WEBRTC_SIGNALING_STATE_STABLE
//
// stable
WebrtcSignalingStateStable WebRTCSignalingState = 0
// WebrtcSignalingStateClosed wraps GST_WEBRTC_SIGNALING_STATE_CLOSED
//
// closed
WebrtcSignalingStateClosed WebRTCSignalingState = 1
// WebrtcSignalingStateHaveLocalOffer wraps GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER
//
// have-local-offer
WebrtcSignalingStateHaveLocalOffer WebRTCSignalingState = 2
// WebrtcSignalingStateHaveRemoteOffer wraps GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER
//
// have-remote-offer
WebrtcSignalingStateHaveRemoteOffer WebRTCSignalingState = 3
// WebrtcSignalingStateHaveLocalPranswer wraps GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER
//
// have-local-pranswer
WebrtcSignalingStateHaveLocalPranswer WebRTCSignalingState = 4
// WebrtcSignalingStateHaveRemotePranswer wraps GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER
//
// have-remote-pranswer
WebrtcSignalingStateHaveRemotePranswer WebRTCSignalingState = 5
)
func marshalWebRTCSignalingState(p unsafe.Pointer) (any, error) {
return WebRTCSignalingState(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCSignalingState(0)
func (e WebRTCSignalingState) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCSignalingState)
v.SetEnum(int(e))
}
func (e WebRTCSignalingState) String() string {
switch e {
case WebrtcSignalingStateClosed: return "WebrtcSignalingStateClosed"
case WebrtcSignalingStateHaveLocalOffer: return "WebrtcSignalingStateHaveLocalOffer"
case WebrtcSignalingStateHaveLocalPranswer: return "WebrtcSignalingStateHaveLocalPranswer"
case WebrtcSignalingStateHaveRemoteOffer: return "WebrtcSignalingStateHaveRemoteOffer"
case WebrtcSignalingStateHaveRemotePranswer: return "WebrtcSignalingStateHaveRemotePranswer"
case WebrtcSignalingStateStable: return "WebrtcSignalingStateStable"
default: return fmt.Sprintf("WebRTCSignalingState(%d)", e)
}
}
// WebRTCStatsType wraps GstWebRTCStatsType
//
// See &lt;https://w3c.github.io/webrtc-stats/#dom-rtcstatstype&gt;
type WebRTCStatsType C.int
const (
// WebrtcStatsCodec wraps GST_WEBRTC_STATS_CODEC
//
// codec
WebrtcStatsCodec WebRTCStatsType = 1
// WebrtcStatsInboundRtp wraps GST_WEBRTC_STATS_INBOUND_RTP
//
// inbound-rtp
WebrtcStatsInboundRtp WebRTCStatsType = 2
// WebrtcStatsOutboundRtp wraps GST_WEBRTC_STATS_OUTBOUND_RTP
//
// outbound-rtp
WebrtcStatsOutboundRtp WebRTCStatsType = 3
// WebrtcStatsRemoteInboundRtp wraps GST_WEBRTC_STATS_REMOTE_INBOUND_RTP
//
// remote-inbound-rtp
WebrtcStatsRemoteInboundRtp WebRTCStatsType = 4
// WebrtcStatsRemoteOutboundRtp wraps GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP
//
// remote-outbound-rtp
WebrtcStatsRemoteOutboundRtp WebRTCStatsType = 5
// WebrtcStatsCsrc wraps GST_WEBRTC_STATS_CSRC
//
// csrc
WebrtcStatsCsrc WebRTCStatsType = 6
// WebrtcStatsPeerConnection wraps GST_WEBRTC_STATS_PEER_CONNECTION
//
// peer-connection
WebrtcStatsPeerConnection WebRTCStatsType = 7
// WebrtcStatsDataChannel wraps GST_WEBRTC_STATS_DATA_CHANNEL
//
// data-channel
WebrtcStatsDataChannel WebRTCStatsType = 8
// WebrtcStatsStream wraps GST_WEBRTC_STATS_STREAM
//
// stream
WebrtcStatsStream WebRTCStatsType = 9
// WebrtcStatsTransport wraps GST_WEBRTC_STATS_TRANSPORT
//
// transport
WebrtcStatsTransport WebRTCStatsType = 10
// WebrtcStatsCandidatePair wraps GST_WEBRTC_STATS_CANDIDATE_PAIR
//
// candidate-pair
WebrtcStatsCandidatePair WebRTCStatsType = 11
// WebrtcStatsLocalCandidate wraps GST_WEBRTC_STATS_LOCAL_CANDIDATE
//
// local-candidate
WebrtcStatsLocalCandidate WebRTCStatsType = 12
// WebrtcStatsRemoteCandidate wraps GST_WEBRTC_STATS_REMOTE_CANDIDATE
//
// remote-candidate
WebrtcStatsRemoteCandidate WebRTCStatsType = 13
// WebrtcStatsCertificate wraps GST_WEBRTC_STATS_CERTIFICATE
//
// certificate
WebrtcStatsCertificate WebRTCStatsType = 14
)
func marshalWebRTCStatsType(p unsafe.Pointer) (any, error) {
return WebRTCStatsType(gobject.ValueFromNative(p).Enum()), nil
}
var _ gobject.GoValueInitializer = WebRTCStatsType(0)
func (e WebRTCStatsType) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCStatsType)
v.SetEnum(int(e))
}
func (e WebRTCStatsType) String() string {
switch e {
case WebrtcStatsCandidatePair: return "WebrtcStatsCandidatePair"
case WebrtcStatsCertificate: return "WebrtcStatsCertificate"
case WebrtcStatsCodec: return "WebrtcStatsCodec"
case WebrtcStatsCsrc: return "WebrtcStatsCsrc"
case WebrtcStatsDataChannel: return "WebrtcStatsDataChannel"
case WebrtcStatsInboundRtp: return "WebrtcStatsInboundRtp"
case WebrtcStatsLocalCandidate: return "WebrtcStatsLocalCandidate"
case WebrtcStatsOutboundRtp: return "WebrtcStatsOutboundRtp"
case WebrtcStatsPeerConnection: return "WebrtcStatsPeerConnection"
case WebrtcStatsRemoteCandidate: return "WebrtcStatsRemoteCandidate"
case WebrtcStatsRemoteInboundRtp: return "WebrtcStatsRemoteInboundRtp"
case WebrtcStatsRemoteOutboundRtp: return "WebrtcStatsRemoteOutboundRtp"
case WebrtcStatsStream: return "WebrtcStatsStream"
case WebrtcStatsTransport: return "WebrtcStatsTransport"
default: return fmt.Sprintf("WebRTCStatsType(%d)", e)
}
}
// WebRTCICEOnCandidateFunc wraps GstWebRTCICEOnCandidateFunc
//
// Callback function to be triggered on discovery of a new candidate
type WebRTCICEOnCandidateFunc func(ice WebRTCICE, streamId uint, candidate string)
// WebRTCDTLSTransportInstance is the instance type used by all types extending GstWebRTCDTLSTransport. It is used internally by the bindings. Users should use the interface [WebRTCDTLSTransport] instead.
type WebRTCDTLSTransportInstance struct {
_ [0]func() // equal guard
gst.ObjectInstance
}
var _ WebRTCDTLSTransport = (*WebRTCDTLSTransportInstance)(nil)
// WebRTCDTLSTransport wraps GstWebRTCDTLSTransport
type WebRTCDTLSTransport interface {
gst.Object
upcastToGstWebRTCDTLSTransport() *WebRTCDTLSTransportInstance
}
func unsafeWrapWebRTCDTLSTransport(base *gobject.ObjectInstance) *WebRTCDTLSTransportInstance {
return &WebRTCDTLSTransportInstance{
ObjectInstance: gst.ObjectInstance{
InitiallyUnownedInstance: gobject.InitiallyUnownedInstance{
ObjectInstance: *base,
},
},
}
}
func marshalWebRTCDTLSTransportInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCDTLSTransport(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCDTLSTransportFromGlibNone is used to convert raw GstWebRTCDTLSTransport pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCDTLSTransportFromGlibNone(c unsafe.Pointer) WebRTCDTLSTransport {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCDTLSTransport)
}
// UnsafeWebRTCDTLSTransportFromGlibFull is used to convert raw GstWebRTCDTLSTransport pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCDTLSTransportFromGlibFull(c unsafe.Pointer) WebRTCDTLSTransport {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCDTLSTransport)
}
func (w *WebRTCDTLSTransportInstance) upcastToGstWebRTCDTLSTransport() *WebRTCDTLSTransportInstance {
return w
}
// UnsafeWebRTCDTLSTransportToGlibNone is used to convert the instance to it's C value GstWebRTCDTLSTransport. This is used by the bindings internally.
func UnsafeWebRTCDTLSTransportToGlibNone(c WebRTCDTLSTransport) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCDTLSTransportToGlibFull is used to convert the instance to it's C value GstWebRTCDTLSTransport, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCDTLSTransportToGlibFull(c WebRTCDTLSTransport) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// WebRTCDataChannelInstance is the instance type used by all types extending GstWebRTCDataChannel. It is used internally by the bindings. Users should use the interface [WebRTCDataChannel] instead.
type WebRTCDataChannelInstance struct {
_ [0]func() // equal guard
gobject.ObjectInstance
}
var _ WebRTCDataChannel = (*WebRTCDataChannelInstance)(nil)
// WebRTCDataChannel wraps GstWebRTCDataChannel
type WebRTCDataChannel interface {
gobject.Object
upcastToGstWebRTCDataChannel() *WebRTCDataChannelInstance
// Close wraps gst_webrtc_data_channel_close
//
// Close the @channel.
Close()
// SendData wraps gst_webrtc_data_channel_send_data
//
// The function takes the following parameters:
//
// - data *glib.Bytes (nullable): a #GBytes or %NULL
//
// Send @data as a data message over @channel.
SendData(*glib.Bytes)
// SendDataFull wraps gst_webrtc_data_channel_send_data_full
//
// The function takes the following parameters:
//
// - data *glib.Bytes (nullable): a #GBytes or %NULL
//
// The function returns the following values:
//
// - goret bool
// - _goerr error (nullable): an error
//
// Send @data as a data message over @channel.
SendDataFull(*glib.Bytes) (bool, error)
// SendString wraps gst_webrtc_data_channel_send_string
//
// The function takes the following parameters:
//
// - str string (nullable): a string or %NULL
//
// Send @str as a string message over @channel.
SendString(string)
// SendStringFull wraps gst_webrtc_data_channel_send_string_full
//
// The function takes the following parameters:
//
// - str string (nullable): a string or %NULL
//
// The function returns the following values:
//
// - goret bool
// - _goerr error (nullable): an error
//
// Send @str as a string message over @channel.
SendStringFull(string) (bool, error)
// EmitClose emits the "close" signal
//
// Close the data channel
EmitClose()
// ConnectOnBufferedAmountLow connects the provided callback to the "on-buffered-amount-low" signal
ConnectOnBufferedAmountLow(func(WebRTCDataChannel)) gobject.SignalHandle
// ConnectOnClose connects the provided callback to the "on-close" signal
ConnectOnClose(func(WebRTCDataChannel)) gobject.SignalHandle
// ConnectOnError connects the provided callback to the "on-error" signal
ConnectOnError(func(WebRTCDataChannel, error)) gobject.SignalHandle
// ConnectOnMessageData connects the provided callback to the "on-message-data" signal
ConnectOnMessageData(func(WebRTCDataChannel, glib.Bytes)) gobject.SignalHandle
// ConnectOnMessageString connects the provided callback to the "on-message-string" signal
ConnectOnMessageString(func(WebRTCDataChannel, string)) gobject.SignalHandle
// ConnectOnOpen connects the provided callback to the "on-open" signal
ConnectOnOpen(func(WebRTCDataChannel)) gobject.SignalHandle
// EmitSendData emits the "send-data" signal
EmitSendData(glib.Bytes)
// EmitSendString emits the "send-string" signal
EmitSendString(string)
}
func unsafeWrapWebRTCDataChannel(base *gobject.ObjectInstance) *WebRTCDataChannelInstance {
return &WebRTCDataChannelInstance{
ObjectInstance: *base,
}
}
func marshalWebRTCDataChannelInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCDataChannel(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCDataChannelFromGlibNone is used to convert raw GstWebRTCDataChannel pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCDataChannelFromGlibNone(c unsafe.Pointer) WebRTCDataChannel {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCDataChannel)
}
// UnsafeWebRTCDataChannelFromGlibFull is used to convert raw GstWebRTCDataChannel pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCDataChannelFromGlibFull(c unsafe.Pointer) WebRTCDataChannel {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCDataChannel)
}
func (w *WebRTCDataChannelInstance) upcastToGstWebRTCDataChannel() *WebRTCDataChannelInstance {
return w
}
// UnsafeWebRTCDataChannelToGlibNone is used to convert the instance to it's C value GstWebRTCDataChannel. This is used by the bindings internally.
func UnsafeWebRTCDataChannelToGlibNone(c WebRTCDataChannel) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCDataChannelToGlibFull is used to convert the instance to it's C value GstWebRTCDataChannel, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCDataChannelToGlibFull(c WebRTCDataChannel) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// Close wraps gst_webrtc_data_channel_close
//
// Close the @channel.
func (channel *WebRTCDataChannelInstance) Close() {
var carg0 *C.GstWebRTCDataChannel // in, none, converted
carg0 = (*C.GstWebRTCDataChannel)(UnsafeWebRTCDataChannelToGlibNone(channel))
C.gst_webrtc_data_channel_close(carg0)
runtime.KeepAlive(channel)
}
// SendData wraps gst_webrtc_data_channel_send_data
//
// The function takes the following parameters:
//
// - data *glib.Bytes (nullable): a #GBytes or %NULL
//
// Send @data as a data message over @channel.
func (channel *WebRTCDataChannelInstance) SendData(data *glib.Bytes) {
var carg0 *C.GstWebRTCDataChannel // in, none, converted
var carg1 *C.GBytes // in, none, converted, nullable
carg0 = (*C.GstWebRTCDataChannel)(UnsafeWebRTCDataChannelToGlibNone(channel))
if data != nil {
carg1 = (*C.GBytes)(glib.UnsafeBytesToGlibNone(data))
}
C.gst_webrtc_data_channel_send_data(carg0, carg1)
runtime.KeepAlive(channel)
runtime.KeepAlive(data)
}
// SendDataFull wraps gst_webrtc_data_channel_send_data_full
//
// The function takes the following parameters:
//
// - data *glib.Bytes (nullable): a #GBytes or %NULL
//
// The function returns the following values:
//
// - goret bool
// - _goerr error (nullable): an error
//
// Send @data as a data message over @channel.
func (channel *WebRTCDataChannelInstance) SendDataFull(data *glib.Bytes) (bool, error) {
var carg0 *C.GstWebRTCDataChannel // in, none, converted
var carg1 *C.GBytes // in, none, converted, nullable
var cret C.gboolean // return
var _cerr *C.GError // out, full, converted, nullable
carg0 = (*C.GstWebRTCDataChannel)(UnsafeWebRTCDataChannelToGlibNone(channel))
if data != nil {
carg1 = (*C.GBytes)(glib.UnsafeBytesToGlibNone(data))
}
cret = C.gst_webrtc_data_channel_send_data_full(carg0, carg1, &_cerr)
runtime.KeepAlive(channel)
runtime.KeepAlive(data)
var goret bool
var _goerr error
if cret != 0 {
goret = true
}
if _cerr != nil {
_goerr = glib.UnsafeErrorFromGlibFull(unsafe.Pointer(_cerr))
}
return goret, _goerr
}
// SendString wraps gst_webrtc_data_channel_send_string
//
// The function takes the following parameters:
//
// - str string (nullable): a string or %NULL
//
// Send @str as a string message over @channel.
func (channel *WebRTCDataChannelInstance) SendString(str string) {
var carg0 *C.GstWebRTCDataChannel // in, none, converted
var carg1 *C.gchar // in, none, string, nullable-string
carg0 = (*C.GstWebRTCDataChannel)(UnsafeWebRTCDataChannelToGlibNone(channel))
if str != "" {
carg1 = (*C.gchar)(unsafe.Pointer(C.CString(str)))
defer C.free(unsafe.Pointer(carg1))
}
C.gst_webrtc_data_channel_send_string(carg0, carg1)
runtime.KeepAlive(channel)
runtime.KeepAlive(str)
}
// SendStringFull wraps gst_webrtc_data_channel_send_string_full
//
// The function takes the following parameters:
//
// - str string (nullable): a string or %NULL
//
// The function returns the following values:
//
// - goret bool
// - _goerr error (nullable): an error
//
// Send @str as a string message over @channel.
func (channel *WebRTCDataChannelInstance) SendStringFull(str string) (bool, error) {
var carg0 *C.GstWebRTCDataChannel // in, none, converted
var carg1 *C.gchar // in, none, string, nullable-string
var cret C.gboolean // return
var _cerr *C.GError // out, full, converted, nullable
carg0 = (*C.GstWebRTCDataChannel)(UnsafeWebRTCDataChannelToGlibNone(channel))
if str != "" {
carg1 = (*C.gchar)(unsafe.Pointer(C.CString(str)))
defer C.free(unsafe.Pointer(carg1))
}
cret = C.gst_webrtc_data_channel_send_string_full(carg0, carg1, &_cerr)
runtime.KeepAlive(channel)
runtime.KeepAlive(str)
var goret bool
var _goerr error
if cret != 0 {
goret = true
}
if _cerr != nil {
_goerr = glib.UnsafeErrorFromGlibFull(unsafe.Pointer(_cerr))
}
return goret, _goerr
}
// EmitClose emits the "close" signal
//
// Close the data channel
func (o *WebRTCDataChannelInstance) EmitClose() {
o.Emit("close")
}
// ConnectOnBufferedAmountLow connects the provided callback to the "on-buffered-amount-low" signal
func (o *WebRTCDataChannelInstance) ConnectOnBufferedAmountLow(fn func(WebRTCDataChannel)) gobject.SignalHandle {
return o.Connect("on-buffered-amount-low", fn)
}
// ConnectOnClose connects the provided callback to the "on-close" signal
func (o *WebRTCDataChannelInstance) ConnectOnClose(fn func(WebRTCDataChannel)) gobject.SignalHandle {
return o.Connect("on-close", fn)
}
// ConnectOnError connects the provided callback to the "on-error" signal
func (o *WebRTCDataChannelInstance) ConnectOnError(fn func(WebRTCDataChannel, error)) gobject.SignalHandle {
return o.Connect("on-error", fn)
}
// ConnectOnMessageData connects the provided callback to the "on-message-data" signal
func (o *WebRTCDataChannelInstance) ConnectOnMessageData(fn func(WebRTCDataChannel, glib.Bytes)) gobject.SignalHandle {
return o.Connect("on-message-data", fn)
}
// ConnectOnMessageString connects the provided callback to the "on-message-string" signal
func (o *WebRTCDataChannelInstance) ConnectOnMessageString(fn func(WebRTCDataChannel, string)) gobject.SignalHandle {
return o.Connect("on-message-string", fn)
}
// ConnectOnOpen connects the provided callback to the "on-open" signal
func (o *WebRTCDataChannelInstance) ConnectOnOpen(fn func(WebRTCDataChannel)) gobject.SignalHandle {
return o.Connect("on-open", fn)
}
// EmitSendData emits the "send-data" signal
func (o *WebRTCDataChannelInstance) EmitSendData(arg0 glib.Bytes) {
o.Emit("send-data", arg0)
}
// EmitSendString emits the "send-string" signal
func (o *WebRTCDataChannelInstance) EmitSendString(arg0 string) {
o.Emit("send-string", arg0)
}
// WebRTCICEInstance is the instance type used by all types extending GstWebRTCICE. It is used internally by the bindings. Users should use the interface [WebRTCICE] instead.
type WebRTCICEInstance struct {
_ [0]func() // equal guard
gst.ObjectInstance
}
var _ WebRTCICE = (*WebRTCICEInstance)(nil)
// WebRTCICE wraps GstWebRTCICE
type WebRTCICE interface {
gst.Object
upcastToGstWebRTCICE() *WebRTCICEInstance
// AddCandidate wraps gst_webrtc_ice_add_candidate
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - candidate string: The ICE candidate
// - promise *gst.Promise (nullable): A #GstPromise for task notifications (Since: 1.24)
AddCandidate(WebRTCICEStream, string, *gst.Promise)
// AddStream wraps gst_webrtc_ice_add_stream
//
// The function takes the following parameters:
//
// - sessionId uint: The session id
//
// The function returns the following values:
//
// - goret WebRTCICEStream (nullable)
AddStream(uint) WebRTCICEStream
// AddTurnServer wraps gst_webrtc_ice_add_turn_server
//
// The function takes the following parameters:
//
// - uri string: URI of the TURN server
//
// The function returns the following values:
//
// - goret bool
AddTurnServer(string) bool
// FindTransport wraps gst_webrtc_ice_find_transport
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - component WebRTCICEComponent: The #GstWebRTCICEComponent
//
// The function returns the following values:
//
// - goret WebRTCICETransport (nullable)
FindTransport(WebRTCICEStream, WebRTCICEComponent) WebRTCICETransport
// GatherCandidates wraps gst_webrtc_ice_gather_candidates
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - goret bool
GatherCandidates(WebRTCICEStream) bool
// GetHTTPProxy wraps gst_webrtc_ice_get_http_proxy
//
// The function returns the following values:
//
// - goret string
GetHTTPProxy() string
// GetIsController wraps gst_webrtc_ice_get_is_controller
//
// The function returns the following values:
//
// - goret bool
GetIsController() bool
// GetLocalCandidates wraps gst_webrtc_ice_get_local_candidates
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - goret []*WebRTCICECandidateStats
GetLocalCandidates(WebRTCICEStream) []*WebRTCICECandidateStats
// GetRemoteCandidates wraps gst_webrtc_ice_get_remote_candidates
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - goret []*WebRTCICECandidateStats
GetRemoteCandidates(WebRTCICEStream) []*WebRTCICECandidateStats
// GetSelectedPair wraps gst_webrtc_ice_get_selected_pair
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - localStats *WebRTCICECandidateStats: A pointer to #GstWebRTCICECandidateStats for local candidate
// - remoteStats *WebRTCICECandidateStats: pointer to #GstWebRTCICECandidateStats for remote candidate
// - goret bool
GetSelectedPair(WebRTCICEStream) (*WebRTCICECandidateStats, *WebRTCICECandidateStats, bool)
// GetStunServer wraps gst_webrtc_ice_get_stun_server
//
// The function returns the following values:
//
// - goret string (nullable)
GetStunServer() string
// GetTurnServer wraps gst_webrtc_ice_get_turn_server
//
// The function returns the following values:
//
// - goret string (nullable)
GetTurnServer() string
// SetForceRelay wraps gst_webrtc_ice_set_force_relay
//
// The function takes the following parameters:
//
// - forceRelay bool: TRUE to enable force relay
SetForceRelay(bool)
// SetHTTPProxy wraps gst_webrtc_ice_set_http_proxy
//
// The function takes the following parameters:
//
// - uri string: URI of the HTTP proxy of the form
// http://[username:password@]hostname[:port][?alpn=&lt;alpn&gt;]
//
// Set HTTP Proxy to be used when connecting to TURN server.
SetHTTPProxy(string)
// SetIsController wraps gst_webrtc_ice_set_is_controller
//
// The function takes the following parameters:
//
// - controller bool: TRUE to set as controller
SetIsController(bool)
// SetLocalCredentials wraps gst_webrtc_ice_set_local_credentials
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - ufrag string: ICE username
// - pwd string: ICE password
//
// The function returns the following values:
//
// - goret bool
SetLocalCredentials(WebRTCICEStream, string, string) bool
// SetOnIceCandidate wraps gst_webrtc_ice_set_on_ice_candidate
//
// The function takes the following parameters:
//
// - fn WebRTCICEOnCandidateFunc: The #GstWebRTCICEOnCandidateFunc callback function
SetOnIceCandidate(WebRTCICEOnCandidateFunc)
// SetRemoteCredentials wraps gst_webrtc_ice_set_remote_credentials
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - ufrag string: ICE username
// - pwd string: ICE password
//
// The function returns the following values:
//
// - goret bool
SetRemoteCredentials(WebRTCICEStream, string, string) bool
// SetStunServer wraps gst_webrtc_ice_set_stun_server
//
// The function takes the following parameters:
//
// - uri string (nullable): URI of the STUN server
SetStunServer(string)
// SetTos wraps gst_webrtc_ice_set_tos
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - tos uint: ToS to be set
SetTos(WebRTCICEStream, uint)
// SetTurnServer wraps gst_webrtc_ice_set_turn_server
//
// The function takes the following parameters:
//
// - uri string (nullable): URI of the TURN sever
SetTurnServer(string)
// EmitAddLocalIPAddress emits the "add-local-ip-address" signal
//
// Add a local IP address to use for ICE candidate gathering. If none
// are supplied, they will be discovered automatically. Calling this signal
// stops automatic ICE gathering.
EmitAddLocalIPAddress(string) bool
}
func unsafeWrapWebRTCICE(base *gobject.ObjectInstance) *WebRTCICEInstance {
return &WebRTCICEInstance{
ObjectInstance: gst.ObjectInstance{
InitiallyUnownedInstance: gobject.InitiallyUnownedInstance{
ObjectInstance: *base,
},
},
}
}
func marshalWebRTCICEInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCICE(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCICEFromGlibNone is used to convert raw GstWebRTCICE pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCICEFromGlibNone(c unsafe.Pointer) WebRTCICE {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCICE)
}
// UnsafeWebRTCICEFromGlibFull is used to convert raw GstWebRTCICE pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCICEFromGlibFull(c unsafe.Pointer) WebRTCICE {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCICE)
}
func (w *WebRTCICEInstance) upcastToGstWebRTCICE() *WebRTCICEInstance {
return w
}
// UnsafeWebRTCICEToGlibNone is used to convert the instance to it's C value GstWebRTCICE. This is used by the bindings internally.
func UnsafeWebRTCICEToGlibNone(c WebRTCICE) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCICEToGlibFull is used to convert the instance to it's C value GstWebRTCICE, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCICEToGlibFull(c WebRTCICE) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// AddCandidate wraps gst_webrtc_ice_add_candidate
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - candidate string: The ICE candidate
// - promise *gst.Promise (nullable): A #GstPromise for task notifications (Since: 1.24)
func (ice *WebRTCICEInstance) AddCandidate(stream WebRTCICEStream, candidate string, promise *gst.Promise) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var carg2 *C.gchar // in, none, string
var carg3 *C.GstPromise // in, none, converted, nullable
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
carg2 = (*C.gchar)(unsafe.Pointer(C.CString(candidate)))
defer C.free(unsafe.Pointer(carg2))
if promise != nil {
carg3 = (*C.GstPromise)(gst.UnsafePromiseToGlibNone(promise))
}
C.gst_webrtc_ice_add_candidate(carg0, carg1, carg2, carg3)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
runtime.KeepAlive(candidate)
runtime.KeepAlive(promise)
}
// AddStream wraps gst_webrtc_ice_add_stream
//
// The function takes the following parameters:
//
// - sessionId uint: The session id
//
// The function returns the following values:
//
// - goret WebRTCICEStream (nullable)
func (ice *WebRTCICEInstance) AddStream(sessionId uint) WebRTCICEStream {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 C.guint // in, none, casted
var cret *C.GstWebRTCICEStream // return, full, converted, nullable
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = C.guint(sessionId)
cret = C.gst_webrtc_ice_add_stream(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(sessionId)
var goret WebRTCICEStream
if cret != nil {
goret = UnsafeWebRTCICEStreamFromGlibFull(unsafe.Pointer(cret))
}
return goret
}
// AddTurnServer wraps gst_webrtc_ice_add_turn_server
//
// The function takes the following parameters:
//
// - uri string: URI of the TURN server
//
// The function returns the following values:
//
// - goret bool
func (ice *WebRTCICEInstance) AddTurnServer(uri string) bool {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.gchar // in, none, string
var cret C.gboolean // return
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
defer C.free(unsafe.Pointer(carg1))
cret = C.gst_webrtc_ice_add_turn_server(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(uri)
var goret bool
if cret != 0 {
goret = true
}
return goret
}
// FindTransport wraps gst_webrtc_ice_find_transport
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - component WebRTCICEComponent: The #GstWebRTCICEComponent
//
// The function returns the following values:
//
// - goret WebRTCICETransport (nullable)
func (ice *WebRTCICEInstance) FindTransport(stream WebRTCICEStream, component WebRTCICEComponent) WebRTCICETransport {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var carg2 C.GstWebRTCICEComponent // in, none, casted
var cret *C.GstWebRTCICETransport // return, full, converted, nullable
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
carg2 = C.GstWebRTCICEComponent(component)
cret = C.gst_webrtc_ice_find_transport(carg0, carg1, carg2)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
runtime.KeepAlive(component)
var goret WebRTCICETransport
if cret != nil {
goret = UnsafeWebRTCICETransportFromGlibFull(unsafe.Pointer(cret))
}
return goret
}
// GatherCandidates wraps gst_webrtc_ice_gather_candidates
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - goret bool
func (ice *WebRTCICEInstance) GatherCandidates(stream WebRTCICEStream) bool {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var cret C.gboolean // return
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
cret = C.gst_webrtc_ice_gather_candidates(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
var goret bool
if cret != 0 {
goret = true
}
return goret
}
// GetHTTPProxy wraps gst_webrtc_ice_get_http_proxy
//
// The function returns the following values:
//
// - goret string
func (ice *WebRTCICEInstance) GetHTTPProxy() string {
var carg0 *C.GstWebRTCICE // in, none, converted
var cret *C.gchar // return, full, string
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
cret = C.gst_webrtc_ice_get_http_proxy(carg0)
runtime.KeepAlive(ice)
var goret string
goret = C.GoString((*C.char)(unsafe.Pointer(cret)))
defer C.free(unsafe.Pointer(cret))
return goret
}
// GetIsController wraps gst_webrtc_ice_get_is_controller
//
// The function returns the following values:
//
// - goret bool
func (ice *WebRTCICEInstance) GetIsController() bool {
var carg0 *C.GstWebRTCICE // in, none, converted
var cret C.gboolean // return
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
cret = C.gst_webrtc_ice_get_is_controller(carg0)
runtime.KeepAlive(ice)
var goret bool
if cret != 0 {
goret = true
}
return goret
}
// GetLocalCandidates wraps gst_webrtc_ice_get_local_candidates
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - goret []*WebRTCICECandidateStats
func (ice *WebRTCICEInstance) GetLocalCandidates(stream WebRTCICEStream) []*WebRTCICECandidateStats {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var cret **C.GstWebRTCICECandidateStats // return, transfer: full, C Pointers: 2, Name: array[WebRTCICECandidateStats], scope: , array (inner: *typesystem.Record, zero-terminated)
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
cret = C.gst_webrtc_ice_get_local_candidates(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
var goret []*WebRTCICECandidateStats
_ = goret
_ = cret
panic("unimplemented conversion of []*WebRTCICECandidateStats (GstWebRTCICECandidateStats**)")
return goret
}
// GetRemoteCandidates wraps gst_webrtc_ice_get_remote_candidates
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - goret []*WebRTCICECandidateStats
func (ice *WebRTCICEInstance) GetRemoteCandidates(stream WebRTCICEStream) []*WebRTCICECandidateStats {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var cret **C.GstWebRTCICECandidateStats // return, transfer: full, C Pointers: 2, Name: array[WebRTCICECandidateStats], scope: , array (inner: *typesystem.Record, zero-terminated)
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
cret = C.gst_webrtc_ice_get_remote_candidates(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
var goret []*WebRTCICECandidateStats
_ = goret
_ = cret
panic("unimplemented conversion of []*WebRTCICECandidateStats (GstWebRTCICECandidateStats**)")
return goret
}
// GetSelectedPair wraps gst_webrtc_ice_get_selected_pair
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - localStats *WebRTCICECandidateStats: A pointer to #GstWebRTCICECandidateStats for local candidate
// - remoteStats *WebRTCICECandidateStats: pointer to #GstWebRTCICECandidateStats for remote candidate
// - goret bool
func (ice *WebRTCICEInstance) GetSelectedPair(stream WebRTCICEStream) (*WebRTCICECandidateStats, *WebRTCICECandidateStats, bool) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var carg2 *C.GstWebRTCICECandidateStats // out, full, converted
var carg3 *C.GstWebRTCICECandidateStats // out, full, converted
var cret C.gboolean // return
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
cret = C.gst_webrtc_ice_get_selected_pair(carg0, carg1, &carg2, &carg3)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
var localStats *WebRTCICECandidateStats
var remoteStats *WebRTCICECandidateStats
var goret bool
localStats = UnsafeWebRTCICECandidateStatsFromGlibFull(unsafe.Pointer(carg2))
remoteStats = UnsafeWebRTCICECandidateStatsFromGlibFull(unsafe.Pointer(carg3))
if cret != 0 {
goret = true
}
return localStats, remoteStats, goret
}
// GetStunServer wraps gst_webrtc_ice_get_stun_server
//
// The function returns the following values:
//
// - goret string (nullable)
func (ice *WebRTCICEInstance) GetStunServer() string {
var carg0 *C.GstWebRTCICE // in, none, converted
var cret *C.gchar // return, full, string, nullable-string
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
cret = C.gst_webrtc_ice_get_stun_server(carg0)
runtime.KeepAlive(ice)
var goret string
if cret != nil {
goret = C.GoString((*C.char)(unsafe.Pointer(cret)))
defer C.free(unsafe.Pointer(cret))
}
return goret
}
// GetTurnServer wraps gst_webrtc_ice_get_turn_server
//
// The function returns the following values:
//
// - goret string (nullable)
func (ice *WebRTCICEInstance) GetTurnServer() string {
var carg0 *C.GstWebRTCICE // in, none, converted
var cret *C.gchar // return, full, string, nullable-string
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
cret = C.gst_webrtc_ice_get_turn_server(carg0)
runtime.KeepAlive(ice)
var goret string
if cret != nil {
goret = C.GoString((*C.char)(unsafe.Pointer(cret)))
defer C.free(unsafe.Pointer(cret))
}
return goret
}
// SetForceRelay wraps gst_webrtc_ice_set_force_relay
//
// The function takes the following parameters:
//
// - forceRelay bool: TRUE to enable force relay
func (ice *WebRTCICEInstance) SetForceRelay(forceRelay bool) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 C.gboolean // in
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
if forceRelay {
carg1 = C.TRUE
}
C.gst_webrtc_ice_set_force_relay(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(forceRelay)
}
// SetHTTPProxy wraps gst_webrtc_ice_set_http_proxy
//
// The function takes the following parameters:
//
// - uri string: URI of the HTTP proxy of the form
// http://[username:password@]hostname[:port][?alpn=&lt;alpn&gt;]
//
// Set HTTP Proxy to be used when connecting to TURN server.
func (ice *WebRTCICEInstance) SetHTTPProxy(uri string) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.gchar // in, none, string
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
defer C.free(unsafe.Pointer(carg1))
C.gst_webrtc_ice_set_http_proxy(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(uri)
}
// SetIsController wraps gst_webrtc_ice_set_is_controller
//
// The function takes the following parameters:
//
// - controller bool: TRUE to set as controller
func (ice *WebRTCICEInstance) SetIsController(controller bool) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 C.gboolean // in
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
if controller {
carg1 = C.TRUE
}
C.gst_webrtc_ice_set_is_controller(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(controller)
}
// SetLocalCredentials wraps gst_webrtc_ice_set_local_credentials
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - ufrag string: ICE username
// - pwd string: ICE password
//
// The function returns the following values:
//
// - goret bool
func (ice *WebRTCICEInstance) SetLocalCredentials(stream WebRTCICEStream, ufrag string, pwd string) bool {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var carg2 *C.gchar // in, none, string
var carg3 *C.gchar // in, none, string
var cret C.gboolean // return
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
carg2 = (*C.gchar)(unsafe.Pointer(C.CString(ufrag)))
defer C.free(unsafe.Pointer(carg2))
carg3 = (*C.gchar)(unsafe.Pointer(C.CString(pwd)))
defer C.free(unsafe.Pointer(carg3))
cret = C.gst_webrtc_ice_set_local_credentials(carg0, carg1, carg2, carg3)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
runtime.KeepAlive(ufrag)
runtime.KeepAlive(pwd)
var goret bool
if cret != 0 {
goret = true
}
return goret
}
// SetOnIceCandidate wraps gst_webrtc_ice_set_on_ice_candidate
//
// The function takes the following parameters:
//
// - fn WebRTCICEOnCandidateFunc: The #GstWebRTCICEOnCandidateFunc callback function
func (ice *WebRTCICEInstance) SetOnIceCandidate(fn WebRTCICEOnCandidateFunc) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 C.GstWebRTCICEOnCandidateFunc // callback, scope: notified, closure: carg2, destroy: carg3
var carg2 C.gpointer // implicit
var carg3 C.GDestroyNotify // implicit
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEOnCandidateFunc)
carg2 = C.gpointer(userdata.Register(fn))
carg3 = (C.GDestroyNotify)((*[0]byte)(C.destroyUserdata))
C.gst_webrtc_ice_set_on_ice_candidate(carg0, carg1, carg2, carg3)
runtime.KeepAlive(ice)
runtime.KeepAlive(fn)
}
// SetRemoteCredentials wraps gst_webrtc_ice_set_remote_credentials
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - ufrag string: ICE username
// - pwd string: ICE password
//
// The function returns the following values:
//
// - goret bool
func (ice *WebRTCICEInstance) SetRemoteCredentials(stream WebRTCICEStream, ufrag string, pwd string) bool {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var carg2 *C.gchar // in, none, string
var carg3 *C.gchar // in, none, string
var cret C.gboolean // return
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
carg2 = (*C.gchar)(unsafe.Pointer(C.CString(ufrag)))
defer C.free(unsafe.Pointer(carg2))
carg3 = (*C.gchar)(unsafe.Pointer(C.CString(pwd)))
defer C.free(unsafe.Pointer(carg3))
cret = C.gst_webrtc_ice_set_remote_credentials(carg0, carg1, carg2, carg3)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
runtime.KeepAlive(ufrag)
runtime.KeepAlive(pwd)
var goret bool
if cret != 0 {
goret = true
}
return goret
}
// SetStunServer wraps gst_webrtc_ice_set_stun_server
//
// The function takes the following parameters:
//
// - uri string (nullable): URI of the STUN server
func (ice *WebRTCICEInstance) SetStunServer(uri string) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.gchar // in, none, string, nullable-string
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
if uri != "" {
carg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
defer C.free(unsafe.Pointer(carg1))
}
C.gst_webrtc_ice_set_stun_server(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(uri)
}
// SetTos wraps gst_webrtc_ice_set_tos
//
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - tos uint: ToS to be set
func (ice *WebRTCICEInstance) SetTos(stream WebRTCICEStream, tos uint) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.GstWebRTCICEStream // in, none, converted
var carg2 C.guint // in, none, casted
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
carg1 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
carg2 = C.guint(tos)
C.gst_webrtc_ice_set_tos(carg0, carg1, carg2)
runtime.KeepAlive(ice)
runtime.KeepAlive(stream)
runtime.KeepAlive(tos)
}
// SetTurnServer wraps gst_webrtc_ice_set_turn_server
//
// The function takes the following parameters:
//
// - uri string (nullable): URI of the TURN sever
func (ice *WebRTCICEInstance) SetTurnServer(uri string) {
var carg0 *C.GstWebRTCICE // in, none, converted
var carg1 *C.gchar // in, none, string, nullable-string
carg0 = (*C.GstWebRTCICE)(UnsafeWebRTCICEToGlibNone(ice))
if uri != "" {
carg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
defer C.free(unsafe.Pointer(carg1))
}
C.gst_webrtc_ice_set_turn_server(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(uri)
}
// EmitAddLocalIPAddress emits the "add-local-ip-address" signal
//
// Add a local IP address to use for ICE candidate gathering. If none
// are supplied, they will be discovered automatically. Calling this signal
// stops automatic ICE gathering.
func (o *WebRTCICEInstance) EmitAddLocalIPAddress(arg0 string) bool {
return o.Emit("add-local-ip-address", arg0).(bool)
}
// WebRTCICEOverrides is the struct used to override the default implementation of virtual methods.
// it is generic over the extending instance type.
type WebRTCICEOverrides[Instance WebRTCICE] struct {
// gst.ObjectOverrides allows you to override virtual methods from the parent class gst.Object
gst.ObjectOverrides[Instance]
// AddCandidate allows you to override the implementation of the virtual method add_candidate.
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - candidate string: The ICE candidate
// - promise *gst.Promise (nullable): A #GstPromise for task notifications (Since: 1.24)
AddCandidate func(Instance, WebRTCICEStream, string, *gst.Promise)
// AddStream allows you to override the implementation of the virtual method add_stream.
// The function takes the following parameters:
//
// - sessionId uint: The session id
//
// The function returns the following values:
//
// - goret WebRTCICEStream (nullable)
AddStream func(Instance, uint) WebRTCICEStream
// AddTurnServer allows you to override the implementation of the virtual method add_turn_server.
// The function takes the following parameters:
//
// - uri string: URI of the TURN server
//
// The function returns the following values:
//
// - goret bool
AddTurnServer func(Instance, string) bool
// FindTransport allows you to override the implementation of the virtual method find_transport.
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - component WebRTCICEComponent: The #GstWebRTCICEComponent
//
// The function returns the following values:
//
// - goret WebRTCICETransport (nullable)
FindTransport func(Instance, WebRTCICEStream, WebRTCICEComponent) WebRTCICETransport
// GatherCandidates allows you to override the implementation of the virtual method gather_candidates.
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - goret bool
GatherCandidates func(Instance, WebRTCICEStream) bool
// GetHTTPProxy allows you to override the implementation of the virtual method get_http_proxy.
// The function returns the following values:
//
// - goret string
GetHTTPProxy func(Instance) string
// GetIsController allows you to override the implementation of the virtual method get_is_controller.
// The function returns the following values:
//
// - goret bool
GetIsController func(Instance) bool
// GetSelectedPair allows you to override the implementation of the virtual method get_selected_pair.
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
//
// The function returns the following values:
//
// - localStats *WebRTCICECandidateStats: A pointer to #GstWebRTCICECandidateStats for local candidate
// - remoteStats *WebRTCICECandidateStats: pointer to #GstWebRTCICECandidateStats for remote candidate
// - goret bool
GetSelectedPair func(Instance, WebRTCICEStream) (*WebRTCICECandidateStats, *WebRTCICECandidateStats, bool)
// GetStunServer allows you to override the implementation of the virtual method get_stun_server.
// The function returns the following values:
//
// - goret string (nullable)
GetStunServer func(Instance) string
// GetTurnServer allows you to override the implementation of the virtual method get_turn_server.
// The function returns the following values:
//
// - goret string (nullable)
GetTurnServer func(Instance) string
// SetForceRelay allows you to override the implementation of the virtual method set_force_relay.
// The function takes the following parameters:
//
// - forceRelay bool: TRUE to enable force relay
SetForceRelay func(Instance, bool)
// SetHTTPProxy allows you to override the implementation of the virtual method set_http_proxy.
// The function takes the following parameters:
//
// - uri string: URI of the HTTP proxy of the form
// http://[username:password@]hostname[:port][?alpn=&lt;alpn&gt;]
SetHTTPProxy func(Instance, string)
// SetIsController allows you to override the implementation of the virtual method set_is_controller.
// The function takes the following parameters:
//
// - controller bool: TRUE to set as controller
SetIsController func(Instance, bool)
// SetLocalCredentials allows you to override the implementation of the virtual method set_local_credentials.
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - ufrag string: ICE username
// - pwd string: ICE password
//
// The function returns the following values:
//
// - goret bool
SetLocalCredentials func(Instance, WebRTCICEStream, string, string) bool
// SetOnIceCandidate allows you to override the implementation of the virtual method set_on_ice_candidate.
// The function takes the following parameters:
//
// - fn WebRTCICEOnCandidateFunc: The #GstWebRTCICEOnCandidateFunc callback function
SetOnIceCandidate func(Instance, WebRTCICEOnCandidateFunc)
// SetRemoteCredentials allows you to override the implementation of the virtual method set_remote_credentials.
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - ufrag string: ICE username
// - pwd string: ICE password
//
// The function returns the following values:
//
// - goret bool
SetRemoteCredentials func(Instance, WebRTCICEStream, string, string) bool
// SetStunServer allows you to override the implementation of the virtual method set_stun_server.
// The function takes the following parameters:
//
// - uri string (nullable): URI of the STUN server
SetStunServer func(Instance, string)
// SetTos allows you to override the implementation of the virtual method set_tos.
// The function takes the following parameters:
//
// - stream WebRTCICEStream: The #GstWebRTCICEStream
// - tos uint: ToS to be set
SetTos func(Instance, WebRTCICEStream, uint)
// SetTurnServer allows you to override the implementation of the virtual method set_turn_server.
// The function takes the following parameters:
//
// - uri string (nullable): URI of the TURN sever
SetTurnServer func(Instance, string)
}
// UnsafeApplyWebRTCICEOverrides applies the overrides to init the gclass by setting the trampoline functions.
// This is used by the bindings internally and only exported for visibility to other bindings code.
func UnsafeApplyWebRTCICEOverrides[Instance WebRTCICE](gclass unsafe.Pointer, overrides WebRTCICEOverrides[Instance]) {
gst.UnsafeApplyObjectOverrides(gclass, overrides.ObjectOverrides)
pclass := (*C.GstWebRTCICEClass)(gclass)
if overrides.AddCandidate != nil {
pclass.add_candidate = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_add_candidate)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_add_candidate",
func(carg0 *C.GstWebRTCICE, carg1 *C.GstWebRTCICEStream, carg2 *C.gchar, carg3 *C.GstPromise) {
var ice Instance // go GstWebRTCICE subclass
var stream WebRTCICEStream // in, none, converted
var candidate string // in, none, string
var promise *gst.Promise // in, none, converted, nullable
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
stream = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg1))
candidate = C.GoString((*C.char)(unsafe.Pointer(carg2)))
if carg3 != nil {
promise = gst.UnsafePromiseFromGlibNone(unsafe.Pointer(carg3))
}
overrides.AddCandidate(ice, stream, candidate, promise)
},
)
}
if overrides.AddStream != nil {
pclass.add_stream = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_add_stream)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_add_stream",
func(carg0 *C.GstWebRTCICE, carg1 C.guint) (cret *C.GstWebRTCICEStream) {
var ice Instance // go GstWebRTCICE subclass
var sessionId uint // in, none, casted
var goret WebRTCICEStream // return, full, converted, nullable
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
sessionId = uint(carg1)
goret = overrides.AddStream(ice, sessionId)
if goret != nil {
cret = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibFull(goret))
}
return cret
},
)
}
if overrides.AddTurnServer != nil {
pclass.add_turn_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_add_turn_server)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_add_turn_server",
func(carg0 *C.GstWebRTCICE, carg1 *C.gchar) (cret C.gboolean) {
var ice Instance // go GstWebRTCICE subclass
var uri string // in, none, string
var goret bool // return
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
uri = C.GoString((*C.char)(unsafe.Pointer(carg1)))
goret = overrides.AddTurnServer(ice, uri)
if goret {
cret = C.TRUE
}
return cret
},
)
}
if overrides.FindTransport != nil {
pclass.find_transport = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_find_transport)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_find_transport",
func(carg0 *C.GstWebRTCICE, carg1 *C.GstWebRTCICEStream, carg2 C.GstWebRTCICEComponent) (cret *C.GstWebRTCICETransport) {
var ice Instance // go GstWebRTCICE subclass
var stream WebRTCICEStream // in, none, converted
var component WebRTCICEComponent // in, none, casted
var goret WebRTCICETransport // return, full, converted, nullable
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
stream = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg1))
component = WebRTCICEComponent(carg2)
goret = overrides.FindTransport(ice, stream, component)
if goret != nil {
cret = (*C.GstWebRTCICETransport)(UnsafeWebRTCICETransportToGlibFull(goret))
}
return cret
},
)
}
if overrides.GatherCandidates != nil {
pclass.gather_candidates = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_gather_candidates)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_gather_candidates",
func(carg0 *C.GstWebRTCICE, carg1 *C.GstWebRTCICEStream) (cret C.gboolean) {
var ice Instance // go GstWebRTCICE subclass
var stream WebRTCICEStream // in, none, converted
var goret bool // return
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
stream = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg1))
goret = overrides.GatherCandidates(ice, stream)
if goret {
cret = C.TRUE
}
return cret
},
)
}
if overrides.GetHTTPProxy != nil {
pclass.get_http_proxy = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_get_http_proxy)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_get_http_proxy",
func(carg0 *C.GstWebRTCICE) (cret *C.gchar) {
var ice Instance // go GstWebRTCICE subclass
var goret string // return, full, string
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
goret = overrides.GetHTTPProxy(ice)
cret = (*C.gchar)(unsafe.Pointer(C.CString(goret)))
return cret
},
)
}
if overrides.GetIsController != nil {
pclass.get_is_controller = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_get_is_controller)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_get_is_controller",
func(carg0 *C.GstWebRTCICE) (cret C.gboolean) {
var ice Instance // go GstWebRTCICE subclass
var goret bool // return
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
goret = overrides.GetIsController(ice)
if goret {
cret = C.TRUE
}
return cret
},
)
}
if overrides.GetSelectedPair != nil {
pclass.get_selected_pair = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_get_selected_pair)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_get_selected_pair",
func(carg0 *C.GstWebRTCICE, carg1 *C.GstWebRTCICEStream, carg2 **C.GstWebRTCICECandidateStats, carg3 **C.GstWebRTCICECandidateStats) (cret C.gboolean) {
var ice Instance // go GstWebRTCICE subclass
var stream WebRTCICEStream // in, none, converted
var localStats *WebRTCICECandidateStats // out, full, converted
var remoteStats *WebRTCICECandidateStats // out, full, converted
var goret bool // return
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
stream = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg1))
localStats, remoteStats, goret = overrides.GetSelectedPair(ice, stream)
*carg2 = (*C.GstWebRTCICECandidateStats)(UnsafeWebRTCICECandidateStatsToGlibFull(localStats))
*carg3 = (*C.GstWebRTCICECandidateStats)(UnsafeWebRTCICECandidateStatsToGlibFull(remoteStats))
if goret {
cret = C.TRUE
}
return cret
},
)
}
if overrides.GetStunServer != nil {
pclass.get_stun_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_get_stun_server)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_get_stun_server",
func(carg0 *C.GstWebRTCICE) (cret *C.gchar) {
var ice Instance // go GstWebRTCICE subclass
var goret string // return, full, string, nullable-string
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
goret = overrides.GetStunServer(ice)
if goret != "" {
cret = (*C.gchar)(unsafe.Pointer(C.CString(goret)))
}
return cret
},
)
}
if overrides.GetTurnServer != nil {
pclass.get_turn_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_get_turn_server)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_get_turn_server",
func(carg0 *C.GstWebRTCICE) (cret *C.gchar) {
var ice Instance // go GstWebRTCICE subclass
var goret string // return, full, string, nullable-string
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
goret = overrides.GetTurnServer(ice)
if goret != "" {
cret = (*C.gchar)(unsafe.Pointer(C.CString(goret)))
}
return cret
},
)
}
if overrides.SetForceRelay != nil {
pclass.set_force_relay = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_force_relay)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_force_relay",
func(carg0 *C.GstWebRTCICE, carg1 C.gboolean) {
var ice Instance // go GstWebRTCICE subclass
var forceRelay bool // in
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
if carg1 != 0 {
forceRelay = true
}
overrides.SetForceRelay(ice, forceRelay)
},
)
}
if overrides.SetHTTPProxy != nil {
pclass.set_http_proxy = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_http_proxy)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_http_proxy",
func(carg0 *C.GstWebRTCICE, carg1 *C.gchar) {
var ice Instance // go GstWebRTCICE subclass
var uri string // in, none, string
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
uri = C.GoString((*C.char)(unsafe.Pointer(carg1)))
overrides.SetHTTPProxy(ice, uri)
},
)
}
if overrides.SetIsController != nil {
pclass.set_is_controller = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_is_controller)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_is_controller",
func(carg0 *C.GstWebRTCICE, carg1 C.gboolean) {
var ice Instance // go GstWebRTCICE subclass
var controller bool // in
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
if carg1 != 0 {
controller = true
}
overrides.SetIsController(ice, controller)
},
)
}
if overrides.SetLocalCredentials != nil {
pclass.set_local_credentials = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_local_credentials)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_local_credentials",
func(carg0 *C.GstWebRTCICE, carg1 *C.GstWebRTCICEStream, carg2 *C.gchar, carg3 *C.gchar) (cret C.gboolean) {
var ice Instance // go GstWebRTCICE subclass
var stream WebRTCICEStream // in, none, converted
var ufrag string // in, none, string
var pwd string // in, none, string
var goret bool // return
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
stream = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg1))
ufrag = C.GoString((*C.char)(unsafe.Pointer(carg2)))
pwd = C.GoString((*C.char)(unsafe.Pointer(carg3)))
goret = overrides.SetLocalCredentials(ice, stream, ufrag, pwd)
if goret {
cret = C.TRUE
}
return cret
},
)
}
if overrides.SetOnIceCandidate != nil {
pclass.set_on_ice_candidate = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_on_ice_candidate)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_on_ice_candidate",
func(carg0 *C.GstWebRTCICE, carg1 C.GstWebRTCICEOnCandidateFunc, carg2 C.gpointer, carg3 C.GDestroyNotify) {
var ice Instance // go GstWebRTCICE subclass
var fn WebRTCICEOnCandidateFunc // in, transfer: none, C Pointers: 0, Name: WebRTCICEOnCandidateFunc, scope: notified, closure: carg2, destroy: carg3
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
_ = fn
_ = carg1
_ = carg2
_ = carg3
panic("unimplemented conversion of WebRTCICEOnCandidateFunc (GstWebRTCICEOnCandidateFunc)")
overrides.SetOnIceCandidate(ice, fn)
},
)
}
if overrides.SetRemoteCredentials != nil {
pclass.set_remote_credentials = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_remote_credentials)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_remote_credentials",
func(carg0 *C.GstWebRTCICE, carg1 *C.GstWebRTCICEStream, carg2 *C.gchar, carg3 *C.gchar) (cret C.gboolean) {
var ice Instance // go GstWebRTCICE subclass
var stream WebRTCICEStream // in, none, converted
var ufrag string // in, none, string
var pwd string // in, none, string
var goret bool // return
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
stream = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg1))
ufrag = C.GoString((*C.char)(unsafe.Pointer(carg2)))
pwd = C.GoString((*C.char)(unsafe.Pointer(carg3)))
goret = overrides.SetRemoteCredentials(ice, stream, ufrag, pwd)
if goret {
cret = C.TRUE
}
return cret
},
)
}
if overrides.SetStunServer != nil {
pclass.set_stun_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_stun_server)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_stun_server",
func(carg0 *C.GstWebRTCICE, carg1 *C.gchar) {
var ice Instance // go GstWebRTCICE subclass
var uri string // in, none, string, nullable-string
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
if carg1 != nil {
uri = C.GoString((*C.char)(unsafe.Pointer(carg1)))
}
overrides.SetStunServer(ice, uri)
},
)
}
if overrides.SetTos != nil {
pclass.set_tos = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_tos)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_tos",
func(carg0 *C.GstWebRTCICE, carg1 *C.GstWebRTCICEStream, carg2 C.guint) {
var ice Instance // go GstWebRTCICE subclass
var stream WebRTCICEStream // in, none, converted
var tos uint // in, none, casted
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
stream = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg1))
tos = uint(carg2)
overrides.SetTos(ice, stream, tos)
},
)
}
if overrides.SetTurnServer != nil {
pclass.set_turn_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICE_set_turn_server)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICE_set_turn_server",
func(carg0 *C.GstWebRTCICE, carg1 *C.gchar) {
var ice Instance // go GstWebRTCICE subclass
var uri string // in, none, string, nullable-string
ice = UnsafeWebRTCICEFromGlibNone(unsafe.Pointer(carg0)).(Instance)
if carg1 != nil {
uri = C.GoString((*C.char)(unsafe.Pointer(carg1)))
}
overrides.SetTurnServer(ice, uri)
},
)
}
}
// RegisterWebRTCICESubClass is used to register a go subclass of GstWebRTCICE. For this to work safely please implement the
// virtual methods required by the implementation.
func RegisterWebRTCICESubClass[InstanceT WebRTCICE](
name string,
classInit func(class *WebRTCICEClass),
constructor func() InstanceT,
overrides WebRTCICEOverrides[InstanceT],
signals map[string]gobject.SignalDefinition,
interfaceInits ...gobject.SubClassInterfaceInit[InstanceT],
) gobject.Type {
return gobject.UnsafeRegisterSubClass(
name,
classInit,
constructor,
overrides,
signals,
TypeWebRTCICE,
UnsafeWebRTCICEClassFromGlibBorrow,
UnsafeApplyWebRTCICEOverrides,
func (obj *gobject.ObjectInstance) gobject.Object {
return unsafeWrapWebRTCICE(obj)
},
interfaceInits...,
)
}
// WebRTCICEStreamInstance is the instance type used by all types extending GstWebRTCICEStream. It is used internally by the bindings. Users should use the interface [WebRTCICEStream] instead.
type WebRTCICEStreamInstance struct {
_ [0]func() // equal guard
gst.ObjectInstance
}
var _ WebRTCICEStream = (*WebRTCICEStreamInstance)(nil)
// WebRTCICEStream wraps GstWebRTCICEStream
type WebRTCICEStream interface {
gst.Object
upcastToGstWebRTCICEStream() *WebRTCICEStreamInstance
// FindTransport wraps gst_webrtc_ice_stream_find_transport
//
// The function takes the following parameters:
//
// - component WebRTCICEComponent: The #GstWebRTCICEComponent
//
// The function returns the following values:
//
// - goret WebRTCICETransport (nullable)
FindTransport(WebRTCICEComponent) WebRTCICETransport
// GatherCandidates wraps gst_webrtc_ice_stream_gather_candidates
//
// The function returns the following values:
//
// - goret bool
GatherCandidates() bool
}
func unsafeWrapWebRTCICEStream(base *gobject.ObjectInstance) *WebRTCICEStreamInstance {
return &WebRTCICEStreamInstance{
ObjectInstance: gst.ObjectInstance{
InitiallyUnownedInstance: gobject.InitiallyUnownedInstance{
ObjectInstance: *base,
},
},
}
}
func marshalWebRTCICEStreamInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCICEStream(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCICEStreamFromGlibNone is used to convert raw GstWebRTCICEStream pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCICEStreamFromGlibNone(c unsafe.Pointer) WebRTCICEStream {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCICEStream)
}
// UnsafeWebRTCICEStreamFromGlibFull is used to convert raw GstWebRTCICEStream pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCICEStreamFromGlibFull(c unsafe.Pointer) WebRTCICEStream {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCICEStream)
}
func (w *WebRTCICEStreamInstance) upcastToGstWebRTCICEStream() *WebRTCICEStreamInstance {
return w
}
// UnsafeWebRTCICEStreamToGlibNone is used to convert the instance to it's C value GstWebRTCICEStream. This is used by the bindings internally.
func UnsafeWebRTCICEStreamToGlibNone(c WebRTCICEStream) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCICEStreamToGlibFull is used to convert the instance to it's C value GstWebRTCICEStream, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCICEStreamToGlibFull(c WebRTCICEStream) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// FindTransport wraps gst_webrtc_ice_stream_find_transport
//
// The function takes the following parameters:
//
// - component WebRTCICEComponent: The #GstWebRTCICEComponent
//
// The function returns the following values:
//
// - goret WebRTCICETransport (nullable)
func (stream *WebRTCICEStreamInstance) FindTransport(component WebRTCICEComponent) WebRTCICETransport {
var carg0 *C.GstWebRTCICEStream // in, none, converted
var carg1 C.GstWebRTCICEComponent // in, none, casted
var cret *C.GstWebRTCICETransport // return, full, converted, nullable
carg0 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(stream))
carg1 = C.GstWebRTCICEComponent(component)
cret = C.gst_webrtc_ice_stream_find_transport(carg0, carg1)
runtime.KeepAlive(stream)
runtime.KeepAlive(component)
var goret WebRTCICETransport
if cret != nil {
goret = UnsafeWebRTCICETransportFromGlibFull(unsafe.Pointer(cret))
}
return goret
}
// GatherCandidates wraps gst_webrtc_ice_stream_gather_candidates
//
// The function returns the following values:
//
// - goret bool
func (ice *WebRTCICEStreamInstance) GatherCandidates() bool {
var carg0 *C.GstWebRTCICEStream // in, none, converted
var cret C.gboolean // return
carg0 = (*C.GstWebRTCICEStream)(UnsafeWebRTCICEStreamToGlibNone(ice))
cret = C.gst_webrtc_ice_stream_gather_candidates(carg0)
runtime.KeepAlive(ice)
var goret bool
if cret != 0 {
goret = true
}
return goret
}
// WebRTCICEStreamOverrides is the struct used to override the default implementation of virtual methods.
// it is generic over the extending instance type.
type WebRTCICEStreamOverrides[Instance WebRTCICEStream] struct {
// gst.ObjectOverrides allows you to override virtual methods from the parent class gst.Object
gst.ObjectOverrides[Instance]
// FindTransport allows you to override the implementation of the virtual method find_transport.
// The function takes the following parameters:
//
// - component WebRTCICEComponent: The #GstWebRTCICEComponent
//
// The function returns the following values:
//
// - goret WebRTCICETransport (nullable)
FindTransport func(Instance, WebRTCICEComponent) WebRTCICETransport
// GatherCandidates allows you to override the implementation of the virtual method gather_candidates.
// The function returns the following values:
//
// - goret bool
GatherCandidates func(Instance) bool
}
// UnsafeApplyWebRTCICEStreamOverrides applies the overrides to init the gclass by setting the trampoline functions.
// This is used by the bindings internally and only exported for visibility to other bindings code.
func UnsafeApplyWebRTCICEStreamOverrides[Instance WebRTCICEStream](gclass unsafe.Pointer, overrides WebRTCICEStreamOverrides[Instance]) {
gst.UnsafeApplyObjectOverrides(gclass, overrides.ObjectOverrides)
pclass := (*C.GstWebRTCICEStreamClass)(gclass)
if overrides.FindTransport != nil {
pclass.find_transport = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEStream_find_transport)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICEStream_find_transport",
func(carg0 *C.GstWebRTCICEStream, carg1 C.GstWebRTCICEComponent) (cret *C.GstWebRTCICETransport) {
var stream Instance // go GstWebRTCICEStream subclass
var component WebRTCICEComponent // in, none, casted
var goret WebRTCICETransport // return, full, converted, nullable
stream = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg0)).(Instance)
component = WebRTCICEComponent(carg1)
goret = overrides.FindTransport(stream, component)
if goret != nil {
cret = (*C.GstWebRTCICETransport)(UnsafeWebRTCICETransportToGlibFull(goret))
}
return cret
},
)
}
if overrides.GatherCandidates != nil {
pclass.gather_candidates = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEStream_gather_candidates)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICEStream_gather_candidates",
func(carg0 *C.GstWebRTCICEStream) (cret C.gboolean) {
var ice Instance // go GstWebRTCICEStream subclass
var goret bool // return
ice = UnsafeWebRTCICEStreamFromGlibNone(unsafe.Pointer(carg0)).(Instance)
goret = overrides.GatherCandidates(ice)
if goret {
cret = C.TRUE
}
return cret
},
)
}
}
// RegisterWebRTCICEStreamSubClass is used to register a go subclass of GstWebRTCICEStream. For this to work safely please implement the
// virtual methods required by the implementation.
func RegisterWebRTCICEStreamSubClass[InstanceT WebRTCICEStream](
name string,
classInit func(class *WebRTCICEStreamClass),
constructor func() InstanceT,
overrides WebRTCICEStreamOverrides[InstanceT],
signals map[string]gobject.SignalDefinition,
interfaceInits ...gobject.SubClassInterfaceInit[InstanceT],
) gobject.Type {
return gobject.UnsafeRegisterSubClass(
name,
classInit,
constructor,
overrides,
signals,
TypeWebRTCICEStream,
UnsafeWebRTCICEStreamClassFromGlibBorrow,
UnsafeApplyWebRTCICEStreamOverrides,
func (obj *gobject.ObjectInstance) gobject.Object {
return unsafeWrapWebRTCICEStream(obj)
},
interfaceInits...,
)
}
// WebRTCICETransportInstance is the instance type used by all types extending GstWebRTCICETransport. It is used internally by the bindings. Users should use the interface [WebRTCICETransport] instead.
type WebRTCICETransportInstance struct {
_ [0]func() // equal guard
gst.ObjectInstance
}
var _ WebRTCICETransport = (*WebRTCICETransportInstance)(nil)
// WebRTCICETransport wraps GstWebRTCICETransport
type WebRTCICETransport interface {
gst.Object
upcastToGstWebRTCICETransport() *WebRTCICETransportInstance
// ConnectionStateChange wraps gst_webrtc_ice_transport_connection_state_change
//
// The function takes the following parameters:
//
// - newState WebRTCICEConnectionState
ConnectionStateChange(WebRTCICEConnectionState)
// GatheringStateChange wraps gst_webrtc_ice_transport_gathering_state_change
//
// The function takes the following parameters:
//
// - newState WebRTCICEGatheringState
GatheringStateChange(WebRTCICEGatheringState)
// NewCandidate wraps gst_webrtc_ice_transport_new_candidate
//
// The function takes the following parameters:
//
// - streamId uint
// - component WebRTCICEComponent
// - attr string
NewCandidate(uint, WebRTCICEComponent, string)
// SelectedPairChange wraps gst_webrtc_ice_transport_selected_pair_change
SelectedPairChange()
// ConnectOnNewCandidate connects the provided callback to the "on-new-candidate" signal
ConnectOnNewCandidate(func(WebRTCICETransport, string)) gobject.SignalHandle
// ConnectOnSelectedCandidatePairChange connects the provided callback to the "on-selected-candidate-pair-change" signal
ConnectOnSelectedCandidatePairChange(func(WebRTCICETransport)) gobject.SignalHandle
}
func unsafeWrapWebRTCICETransport(base *gobject.ObjectInstance) *WebRTCICETransportInstance {
return &WebRTCICETransportInstance{
ObjectInstance: gst.ObjectInstance{
InitiallyUnownedInstance: gobject.InitiallyUnownedInstance{
ObjectInstance: *base,
},
},
}
}
func marshalWebRTCICETransportInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCICETransport(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCICETransportFromGlibNone is used to convert raw GstWebRTCICETransport pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCICETransportFromGlibNone(c unsafe.Pointer) WebRTCICETransport {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCICETransport)
}
// UnsafeWebRTCICETransportFromGlibFull is used to convert raw GstWebRTCICETransport pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCICETransportFromGlibFull(c unsafe.Pointer) WebRTCICETransport {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCICETransport)
}
func (w *WebRTCICETransportInstance) upcastToGstWebRTCICETransport() *WebRTCICETransportInstance {
return w
}
// UnsafeWebRTCICETransportToGlibNone is used to convert the instance to it's C value GstWebRTCICETransport. This is used by the bindings internally.
func UnsafeWebRTCICETransportToGlibNone(c WebRTCICETransport) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCICETransportToGlibFull is used to convert the instance to it's C value GstWebRTCICETransport, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCICETransportToGlibFull(c WebRTCICETransport) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// ConnectionStateChange wraps gst_webrtc_ice_transport_connection_state_change
//
// The function takes the following parameters:
//
// - newState WebRTCICEConnectionState
func (ice *WebRTCICETransportInstance) ConnectionStateChange(newState WebRTCICEConnectionState) {
var carg0 *C.GstWebRTCICETransport // in, none, converted
var carg1 C.GstWebRTCICEConnectionState // in, none, casted
carg0 = (*C.GstWebRTCICETransport)(UnsafeWebRTCICETransportToGlibNone(ice))
carg1 = C.GstWebRTCICEConnectionState(newState)
C.gst_webrtc_ice_transport_connection_state_change(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(newState)
}
// GatheringStateChange wraps gst_webrtc_ice_transport_gathering_state_change
//
// The function takes the following parameters:
//
// - newState WebRTCICEGatheringState
func (ice *WebRTCICETransportInstance) GatheringStateChange(newState WebRTCICEGatheringState) {
var carg0 *C.GstWebRTCICETransport // in, none, converted
var carg1 C.GstWebRTCICEGatheringState // in, none, casted
carg0 = (*C.GstWebRTCICETransport)(UnsafeWebRTCICETransportToGlibNone(ice))
carg1 = C.GstWebRTCICEGatheringState(newState)
C.gst_webrtc_ice_transport_gathering_state_change(carg0, carg1)
runtime.KeepAlive(ice)
runtime.KeepAlive(newState)
}
// NewCandidate wraps gst_webrtc_ice_transport_new_candidate
//
// The function takes the following parameters:
//
// - streamId uint
// - component WebRTCICEComponent
// - attr string
func (ice *WebRTCICETransportInstance) NewCandidate(streamId uint, component WebRTCICEComponent, attr string) {
var carg0 *C.GstWebRTCICETransport // in, none, converted
var carg1 C.guint // in, none, casted
var carg2 C.GstWebRTCICEComponent // in, none, casted
var carg3 *C.gchar // in, none, string
carg0 = (*C.GstWebRTCICETransport)(UnsafeWebRTCICETransportToGlibNone(ice))
carg1 = C.guint(streamId)
carg2 = C.GstWebRTCICEComponent(component)
carg3 = (*C.gchar)(unsafe.Pointer(C.CString(attr)))
defer C.free(unsafe.Pointer(carg3))
C.gst_webrtc_ice_transport_new_candidate(carg0, carg1, carg2, carg3)
runtime.KeepAlive(ice)
runtime.KeepAlive(streamId)
runtime.KeepAlive(component)
runtime.KeepAlive(attr)
}
// SelectedPairChange wraps gst_webrtc_ice_transport_selected_pair_change
func (ice *WebRTCICETransportInstance) SelectedPairChange() {
var carg0 *C.GstWebRTCICETransport // in, none, converted
carg0 = (*C.GstWebRTCICETransport)(UnsafeWebRTCICETransportToGlibNone(ice))
C.gst_webrtc_ice_transport_selected_pair_change(carg0)
runtime.KeepAlive(ice)
}
// ConnectOnNewCandidate connects the provided callback to the "on-new-candidate" signal
func (o *WebRTCICETransportInstance) ConnectOnNewCandidate(fn func(WebRTCICETransport, string)) gobject.SignalHandle {
return o.Connect("on-new-candidate", fn)
}
// ConnectOnSelectedCandidatePairChange connects the provided callback to the "on-selected-candidate-pair-change" signal
func (o *WebRTCICETransportInstance) ConnectOnSelectedCandidatePairChange(fn func(WebRTCICETransport)) gobject.SignalHandle {
return o.Connect("on-selected-candidate-pair-change", fn)
}
// WebRTCICETransportOverrides is the struct used to override the default implementation of virtual methods.
// it is generic over the extending instance type.
type WebRTCICETransportOverrides[Instance WebRTCICETransport] struct {
// gst.ObjectOverrides allows you to override virtual methods from the parent class gst.Object
gst.ObjectOverrides[Instance]
// GatherCandidates allows you to override the implementation of the virtual method gather_candidates.
// The function returns the following values:
//
// - goret bool
GatherCandidates func(Instance) bool
}
// UnsafeApplyWebRTCICETransportOverrides applies the overrides to init the gclass by setting the trampoline functions.
// This is used by the bindings internally and only exported for visibility to other bindings code.
func UnsafeApplyWebRTCICETransportOverrides[Instance WebRTCICETransport](gclass unsafe.Pointer, overrides WebRTCICETransportOverrides[Instance]) {
gst.UnsafeApplyObjectOverrides(gclass, overrides.ObjectOverrides)
pclass := (*C.GstWebRTCICETransportClass)(gclass)
if overrides.GatherCandidates != nil {
pclass.gather_candidates = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICETransport_gather_candidates)
classdata.StoreVirtualMethod(
unsafe.Pointer(pclass),
"_gotk4_gstwebrtc1_WebRTCICETransport_gather_candidates",
func(carg0 *C.GstWebRTCICETransport) (cret C.gboolean) {
var transport Instance // go GstWebRTCICETransport subclass
var goret bool // return
transport = UnsafeWebRTCICETransportFromGlibNone(unsafe.Pointer(carg0)).(Instance)
goret = overrides.GatherCandidates(transport)
if goret {
cret = C.TRUE
}
return cret
},
)
}
}
// RegisterWebRTCICETransportSubClass is used to register a go subclass of GstWebRTCICETransport. For this to work safely please implement the
// virtual methods required by the implementation.
func RegisterWebRTCICETransportSubClass[InstanceT WebRTCICETransport](
name string,
classInit func(class *WebRTCICETransportClass),
constructor func() InstanceT,
overrides WebRTCICETransportOverrides[InstanceT],
signals map[string]gobject.SignalDefinition,
interfaceInits ...gobject.SubClassInterfaceInit[InstanceT],
) gobject.Type {
return gobject.UnsafeRegisterSubClass(
name,
classInit,
constructor,
overrides,
signals,
TypeWebRTCICETransport,
UnsafeWebRTCICETransportClassFromGlibBorrow,
UnsafeApplyWebRTCICETransportOverrides,
func (obj *gobject.ObjectInstance) gobject.Object {
return unsafeWrapWebRTCICETransport(obj)
},
interfaceInits...,
)
}
// WebRTCRTPReceiverInstance is the instance type used by all types extending GstWebRTCRTPReceiver. It is used internally by the bindings. Users should use the interface [WebRTCRTPReceiver] instead.
type WebRTCRTPReceiverInstance struct {
_ [0]func() // equal guard
gst.ObjectInstance
}
var _ WebRTCRTPReceiver = (*WebRTCRTPReceiverInstance)(nil)
// WebRTCRTPReceiver wraps GstWebRTCRTPReceiver
//
// An object to track the receiving aspect of the stream
//
// Mostly matches the WebRTC RTCRtpReceiver interface.
type WebRTCRTPReceiver interface {
gst.Object
upcastToGstWebRTCRTPReceiver() *WebRTCRTPReceiverInstance
}
func unsafeWrapWebRTCRTPReceiver(base *gobject.ObjectInstance) *WebRTCRTPReceiverInstance {
return &WebRTCRTPReceiverInstance{
ObjectInstance: gst.ObjectInstance{
InitiallyUnownedInstance: gobject.InitiallyUnownedInstance{
ObjectInstance: *base,
},
},
}
}
func marshalWebRTCRTPReceiverInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCRTPReceiver(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCRTPReceiverFromGlibNone is used to convert raw GstWebRTCRTPReceiver pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPReceiverFromGlibNone(c unsafe.Pointer) WebRTCRTPReceiver {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCRTPReceiver)
}
// UnsafeWebRTCRTPReceiverFromGlibFull is used to convert raw GstWebRTCRTPReceiver pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPReceiverFromGlibFull(c unsafe.Pointer) WebRTCRTPReceiver {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCRTPReceiver)
}
func (w *WebRTCRTPReceiverInstance) upcastToGstWebRTCRTPReceiver() *WebRTCRTPReceiverInstance {
return w
}
// UnsafeWebRTCRTPReceiverToGlibNone is used to convert the instance to it's C value GstWebRTCRTPReceiver. This is used by the bindings internally.
func UnsafeWebRTCRTPReceiverToGlibNone(c WebRTCRTPReceiver) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCRTPReceiverToGlibFull is used to convert the instance to it's C value GstWebRTCRTPReceiver, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPReceiverToGlibFull(c WebRTCRTPReceiver) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// WebRTCRTPSenderInstance is the instance type used by all types extending GstWebRTCRTPSender. It is used internally by the bindings. Users should use the interface [WebRTCRTPSender] instead.
type WebRTCRTPSenderInstance struct {
_ [0]func() // equal guard
gst.ObjectInstance
}
var _ WebRTCRTPSender = (*WebRTCRTPSenderInstance)(nil)
// WebRTCRTPSender wraps GstWebRTCRTPSender
//
// An object to track the sending aspect of the stream
//
// Mostly matches the WebRTC RTCRtpSender interface.
type WebRTCRTPSender interface {
gst.Object
upcastToGstWebRTCRTPSender() *WebRTCRTPSenderInstance
// SetPriority wraps gst_webrtc_rtp_sender_set_priority
//
// The function takes the following parameters:
//
// - priority WebRTCPriorityType: The priority of this sender
//
// Sets the content of the IPv4 Type of Service (ToS), also known as DSCP
// (Differentiated Services Code Point).
// This also sets the Traffic Class field of IPv6.
SetPriority(WebRTCPriorityType)
}
func unsafeWrapWebRTCRTPSender(base *gobject.ObjectInstance) *WebRTCRTPSenderInstance {
return &WebRTCRTPSenderInstance{
ObjectInstance: gst.ObjectInstance{
InitiallyUnownedInstance: gobject.InitiallyUnownedInstance{
ObjectInstance: *base,
},
},
}
}
func marshalWebRTCRTPSenderInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCRTPSender(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCRTPSenderFromGlibNone is used to convert raw GstWebRTCRTPSender pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPSenderFromGlibNone(c unsafe.Pointer) WebRTCRTPSender {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCRTPSender)
}
// UnsafeWebRTCRTPSenderFromGlibFull is used to convert raw GstWebRTCRTPSender pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPSenderFromGlibFull(c unsafe.Pointer) WebRTCRTPSender {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCRTPSender)
}
func (w *WebRTCRTPSenderInstance) upcastToGstWebRTCRTPSender() *WebRTCRTPSenderInstance {
return w
}
// UnsafeWebRTCRTPSenderToGlibNone is used to convert the instance to it's C value GstWebRTCRTPSender. This is used by the bindings internally.
func UnsafeWebRTCRTPSenderToGlibNone(c WebRTCRTPSender) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCRTPSenderToGlibFull is used to convert the instance to it's C value GstWebRTCRTPSender, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPSenderToGlibFull(c WebRTCRTPSender) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// SetPriority wraps gst_webrtc_rtp_sender_set_priority
//
// The function takes the following parameters:
//
// - priority WebRTCPriorityType: The priority of this sender
//
// Sets the content of the IPv4 Type of Service (ToS), also known as DSCP
// (Differentiated Services Code Point).
// This also sets the Traffic Class field of IPv6.
func (sender *WebRTCRTPSenderInstance) SetPriority(priority WebRTCPriorityType) {
var carg0 *C.GstWebRTCRTPSender // in, none, converted
var carg1 C.GstWebRTCPriorityType // in, none, casted
carg0 = (*C.GstWebRTCRTPSender)(UnsafeWebRTCRTPSenderToGlibNone(sender))
carg1 = C.GstWebRTCPriorityType(priority)
C.gst_webrtc_rtp_sender_set_priority(carg0, carg1)
runtime.KeepAlive(sender)
runtime.KeepAlive(priority)
}
// WebRTCRTPTransceiverInstance is the instance type used by all types extending GstWebRTCRTPTransceiver. It is used internally by the bindings. Users should use the interface [WebRTCRTPTransceiver] instead.
type WebRTCRTPTransceiverInstance struct {
_ [0]func() // equal guard
gst.ObjectInstance
}
var _ WebRTCRTPTransceiver = (*WebRTCRTPTransceiverInstance)(nil)
// WebRTCRTPTransceiver wraps GstWebRTCRTPTransceiver
//
// Mostly matches the WebRTC RTCRtpTransceiver interface.
type WebRTCRTPTransceiver interface {
gst.Object
upcastToGstWebRTCRTPTransceiver() *WebRTCRTPTransceiverInstance
}
func unsafeWrapWebRTCRTPTransceiver(base *gobject.ObjectInstance) *WebRTCRTPTransceiverInstance {
return &WebRTCRTPTransceiverInstance{
ObjectInstance: gst.ObjectInstance{
InitiallyUnownedInstance: gobject.InitiallyUnownedInstance{
ObjectInstance: *base,
},
},
}
}
func marshalWebRTCRTPTransceiverInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCRTPTransceiver(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCRTPTransceiverFromGlibNone is used to convert raw GstWebRTCRTPTransceiver pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPTransceiverFromGlibNone(c unsafe.Pointer) WebRTCRTPTransceiver {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCRTPTransceiver)
}
// UnsafeWebRTCRTPTransceiverFromGlibFull is used to convert raw GstWebRTCRTPTransceiver pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPTransceiverFromGlibFull(c unsafe.Pointer) WebRTCRTPTransceiver {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCRTPTransceiver)
}
func (w *WebRTCRTPTransceiverInstance) upcastToGstWebRTCRTPTransceiver() *WebRTCRTPTransceiverInstance {
return w
}
// UnsafeWebRTCRTPTransceiverToGlibNone is used to convert the instance to it's C value GstWebRTCRTPTransceiver. This is used by the bindings internally.
func UnsafeWebRTCRTPTransceiverToGlibNone(c WebRTCRTPTransceiver) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCRTPTransceiverToGlibFull is used to convert the instance to it's C value GstWebRTCRTPTransceiver, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCRTPTransceiverToGlibFull(c WebRTCRTPTransceiver) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// WebRTCSCTPTransportInstance is the instance type used by all types extending GstWebRTCSCTPTransport. It is used internally by the bindings. Users should use the interface [WebRTCSCTPTransport] instead.
type WebRTCSCTPTransportInstance struct {
_ [0]func() // equal guard
gst.ObjectInstance
}
var _ WebRTCSCTPTransport = (*WebRTCSCTPTransportInstance)(nil)
// WebRTCSCTPTransport wraps GstWebRTCSCTPTransport
type WebRTCSCTPTransport interface {
gst.Object
upcastToGstWebRTCSCTPTransport() *WebRTCSCTPTransportInstance
}
func unsafeWrapWebRTCSCTPTransport(base *gobject.ObjectInstance) *WebRTCSCTPTransportInstance {
return &WebRTCSCTPTransportInstance{
ObjectInstance: gst.ObjectInstance{
InitiallyUnownedInstance: gobject.InitiallyUnownedInstance{
ObjectInstance: *base,
},
},
}
}
func marshalWebRTCSCTPTransportInstance(p unsafe.Pointer) (any, error) {
return unsafeWrapWebRTCSCTPTransport(gobject.ValueFromNative(p).Object()), nil
}
// UnsafeWebRTCSCTPTransportFromGlibNone is used to convert raw GstWebRTCSCTPTransport pointers to go while taking a reference and attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCSCTPTransportFromGlibNone(c unsafe.Pointer) WebRTCSCTPTransport {
return gobject.UnsafeObjectFromGlibNone(c).(WebRTCSCTPTransport)
}
// UnsafeWebRTCSCTPTransportFromGlibFull is used to convert raw GstWebRTCSCTPTransport pointers to go while attaching a finalizer. This is used by the bindings internally.
func UnsafeWebRTCSCTPTransportFromGlibFull(c unsafe.Pointer) WebRTCSCTPTransport {
return gobject.UnsafeObjectFromGlibFull(c).(WebRTCSCTPTransport)
}
func (w *WebRTCSCTPTransportInstance) upcastToGstWebRTCSCTPTransport() *WebRTCSCTPTransportInstance {
return w
}
// UnsafeWebRTCSCTPTransportToGlibNone is used to convert the instance to it's C value GstWebRTCSCTPTransport. This is used by the bindings internally.
func UnsafeWebRTCSCTPTransportToGlibNone(c WebRTCSCTPTransport) unsafe.Pointer {
return gobject.UnsafeObjectToGlibNone(c)
}
// UnsafeWebRTCSCTPTransportToGlibFull is used to convert the instance to it's C value GstWebRTCSCTPTransport, while removeing the finalizer. This is used by the bindings internally.
func UnsafeWebRTCSCTPTransportToGlibFull(c WebRTCSCTPTransport) unsafe.Pointer {
return gobject.UnsafeObjectToGlibFull(c)
}
// WebRTCDTLSTransportClass wraps GstWebRTCDTLSTransportClass
//
// WebRTCDTLSTransportClass is the type struct for [WebRTCDTLSTransport]
type WebRTCDTLSTransportClass struct {
*webRTCDTLSTransportClass
}
// webRTCDTLSTransportClass is the struct that's finalized
type webRTCDTLSTransportClass struct {
native *C.GstWebRTCDTLSTransportClass
}
// UnsafeWebRTCDTLSTransportClassFromGlibBorrow is used to convert raw C.GstWebRTCDTLSTransportClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCDTLSTransportClassFromGlibBorrow(p unsafe.Pointer) *WebRTCDTLSTransportClass {
return &WebRTCDTLSTransportClass{&webRTCDTLSTransportClass{(*C.GstWebRTCDTLSTransportClass)(p)}}
}
// UnsafeWebRTCDTLSTransportClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCDTLSTransportClass] is expected to work anymore.
func UnsafeWebRTCDTLSTransportClassFree(w *WebRTCDTLSTransportClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCDTLSTransportClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCDTLSTransportClassToGlibNone(w *WebRTCDTLSTransportClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCDTLSTransportClass) ParentClass() *gst.ObjectClass {
parent := gst.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCDTLSTransportClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCDTLSTransportClass) {}, w)
return parent
}
// WebRTCDataChannelClass wraps GstWebRTCDataChannelClass
//
// WebRTCDataChannelClass is the type struct for [WebRTCDataChannel]
type WebRTCDataChannelClass struct {
*webRTCDataChannelClass
}
// webRTCDataChannelClass is the struct that's finalized
type webRTCDataChannelClass struct {
native *C.GstWebRTCDataChannelClass
}
// UnsafeWebRTCDataChannelClassFromGlibBorrow is used to convert raw C.GstWebRTCDataChannelClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCDataChannelClassFromGlibBorrow(p unsafe.Pointer) *WebRTCDataChannelClass {
return &WebRTCDataChannelClass{&webRTCDataChannelClass{(*C.GstWebRTCDataChannelClass)(p)}}
}
// UnsafeWebRTCDataChannelClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCDataChannelClass] is expected to work anymore.
func UnsafeWebRTCDataChannelClassFree(w *WebRTCDataChannelClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCDataChannelClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCDataChannelClassToGlibNone(w *WebRTCDataChannelClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCDataChannelClass) ParentClass() *gobject.ObjectClass {
parent := gobject.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCDataChannelClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCDataChannelClass) {}, w)
return parent
}
// WebRTCICECandidateStats wraps GstWebRTCICECandidateStats
type WebRTCICECandidateStats struct {
*webRTCICECandidateStats
}
// webRTCICECandidateStats is the struct that's finalized
type webRTCICECandidateStats struct {
native *C.GstWebRTCICECandidateStats
}
var _ gobject.GoValueInitializer = (*WebRTCICECandidateStats)(nil)
func marshalWebRTCICECandidateStats(p unsafe.Pointer) (interface{}, error) {
b := gobject.ValueFromNative(p).Boxed()
return UnsafeWebRTCICECandidateStatsFromGlibBorrow(b), nil
}
func (r *WebRTCICECandidateStats) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCICECandidateStats)
v.SetBoxed(unsafe.Pointer(r.native))
}
// UnsafeWebRTCICECandidateStatsFromGlibBorrow is used to convert raw C.GstWebRTCICECandidateStats pointers to go. This is used by the bindings internally.
func UnsafeWebRTCICECandidateStatsFromGlibBorrow(p unsafe.Pointer) *WebRTCICECandidateStats {
return &WebRTCICECandidateStats{&webRTCICECandidateStats{(*C.GstWebRTCICECandidateStats)(p)}}
}
// UnsafeWebRTCICECandidateStatsFromGlibNone is used to convert raw C.GstWebRTCICECandidateStats pointers to go without transferring ownership. This is used by the bindings internally.
func UnsafeWebRTCICECandidateStatsFromGlibNone(p unsafe.Pointer) *WebRTCICECandidateStats {
// FIXME: this has no ref function, what should we do here?
wrapped := UnsafeWebRTCICECandidateStatsFromGlibBorrow(p)
runtime.SetFinalizer(
wrapped.webRTCICECandidateStats,
func (intern *webRTCICECandidateStats) {
C.gst_webrtc_ice_candidate_stats_free(intern.native)
},
)
return wrapped
}
// UnsafeWebRTCICECandidateStatsFromGlibFull is used to convert raw C.GstWebRTCICECandidateStats pointers to go while taking ownership. This is used by the bindings internally.
func UnsafeWebRTCICECandidateStatsFromGlibFull(p unsafe.Pointer) *WebRTCICECandidateStats {
wrapped := UnsafeWebRTCICECandidateStatsFromGlibBorrow(p)
runtime.SetFinalizer(
wrapped.webRTCICECandidateStats,
func (intern *webRTCICECandidateStats) {
C.gst_webrtc_ice_candidate_stats_free(intern.native)
},
)
return wrapped
}
// UnsafeWebRTCICECandidateStatsFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCICECandidateStats] is expected to work anymore.
func UnsafeWebRTCICECandidateStatsFree(w *WebRTCICECandidateStats) {
C.gst_webrtc_ice_candidate_stats_free(w.native)
}
// UnsafeWebRTCICECandidateStatsToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCICECandidateStatsToGlibNone(w *WebRTCICECandidateStats) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// UnsafeWebRTCICECandidateStatsToGlibFull returns the underlying C pointer and gives up ownership.
// This is used by the bindings internally.
func UnsafeWebRTCICECandidateStatsToGlibFull(w *WebRTCICECandidateStats) unsafe.Pointer {
runtime.SetFinalizer(w.webRTCICECandidateStats, nil)
_p := unsafe.Pointer(w.native)
w.native = nil // WebRTCICECandidateStats is invalid from here on
return _p
}
// Copy wraps gst_webrtc_ice_candidate_stats_copy
//
// The function returns the following values:
//
// - goret *WebRTCICECandidateStats
func (stats *WebRTCICECandidateStats) Copy() *WebRTCICECandidateStats {
var carg0 *C.GstWebRTCICECandidateStats // in, none, converted
var cret *C.GstWebRTCICECandidateStats // return, full, converted
carg0 = (*C.GstWebRTCICECandidateStats)(UnsafeWebRTCICECandidateStatsToGlibNone(stats))
cret = C.gst_webrtc_ice_candidate_stats_copy(carg0)
runtime.KeepAlive(stats)
var goret *WebRTCICECandidateStats
goret = UnsafeWebRTCICECandidateStatsFromGlibFull(unsafe.Pointer(cret))
return goret
}
// WebRTCICEClass wraps GstWebRTCICEClass
//
// WebRTCICEClass is the type struct for [WebRTCICE]
type WebRTCICEClass struct {
*webRTCICEClass
}
// webRTCICEClass is the struct that's finalized
type webRTCICEClass struct {
native *C.GstWebRTCICEClass
}
// UnsafeWebRTCICEClassFromGlibBorrow is used to convert raw C.GstWebRTCICEClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCICEClassFromGlibBorrow(p unsafe.Pointer) *WebRTCICEClass {
return &WebRTCICEClass{&webRTCICEClass{(*C.GstWebRTCICEClass)(p)}}
}
// UnsafeWebRTCICEClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCICEClass] is expected to work anymore.
func UnsafeWebRTCICEClassFree(w *WebRTCICEClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCICEClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCICEClassToGlibNone(w *WebRTCICEClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCICEClass) ParentClass() *gst.ObjectClass {
parent := gst.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCICEClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCICEClass) {}, w)
return parent
}
// WebRTCICEStreamClass wraps GstWebRTCICEStreamClass
//
// WebRTCICEStreamClass is the type struct for [WebRTCICEStream]
type WebRTCICEStreamClass struct {
*webRTCICEStreamClass
}
// webRTCICEStreamClass is the struct that's finalized
type webRTCICEStreamClass struct {
native *C.GstWebRTCICEStreamClass
}
// UnsafeWebRTCICEStreamClassFromGlibBorrow is used to convert raw C.GstWebRTCICEStreamClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCICEStreamClassFromGlibBorrow(p unsafe.Pointer) *WebRTCICEStreamClass {
return &WebRTCICEStreamClass{&webRTCICEStreamClass{(*C.GstWebRTCICEStreamClass)(p)}}
}
// UnsafeWebRTCICEStreamClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCICEStreamClass] is expected to work anymore.
func UnsafeWebRTCICEStreamClassFree(w *WebRTCICEStreamClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCICEStreamClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCICEStreamClassToGlibNone(w *WebRTCICEStreamClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCICEStreamClass) ParentClass() *gst.ObjectClass {
parent := gst.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCICEStreamClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCICEStreamClass) {}, w)
return parent
}
// WebRTCICETransportClass wraps GstWebRTCICETransportClass
//
// WebRTCICETransportClass is the type struct for [WebRTCICETransport]
type WebRTCICETransportClass struct {
*webRTCICETransportClass
}
// webRTCICETransportClass is the struct that's finalized
type webRTCICETransportClass struct {
native *C.GstWebRTCICETransportClass
}
// UnsafeWebRTCICETransportClassFromGlibBorrow is used to convert raw C.GstWebRTCICETransportClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCICETransportClassFromGlibBorrow(p unsafe.Pointer) *WebRTCICETransportClass {
return &WebRTCICETransportClass{&webRTCICETransportClass{(*C.GstWebRTCICETransportClass)(p)}}
}
// UnsafeWebRTCICETransportClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCICETransportClass] is expected to work anymore.
func UnsafeWebRTCICETransportClassFree(w *WebRTCICETransportClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCICETransportClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCICETransportClassToGlibNone(w *WebRTCICETransportClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCICETransportClass) ParentClass() *gst.ObjectClass {
parent := gst.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCICETransportClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCICETransportClass) {}, w)
return parent
}
// WebRTCRTPReceiverClass wraps GstWebRTCRTPReceiverClass
//
// WebRTCRTPReceiverClass is the type struct for [WebRTCRTPReceiver]
type WebRTCRTPReceiverClass struct {
*webRTCRTPReceiverClass
}
// webRTCRTPReceiverClass is the struct that's finalized
type webRTCRTPReceiverClass struct {
native *C.GstWebRTCRTPReceiverClass
}
// UnsafeWebRTCRTPReceiverClassFromGlibBorrow is used to convert raw C.GstWebRTCRTPReceiverClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCRTPReceiverClassFromGlibBorrow(p unsafe.Pointer) *WebRTCRTPReceiverClass {
return &WebRTCRTPReceiverClass{&webRTCRTPReceiverClass{(*C.GstWebRTCRTPReceiverClass)(p)}}
}
// UnsafeWebRTCRTPReceiverClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCRTPReceiverClass] is expected to work anymore.
func UnsafeWebRTCRTPReceiverClassFree(w *WebRTCRTPReceiverClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCRTPReceiverClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCRTPReceiverClassToGlibNone(w *WebRTCRTPReceiverClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCRTPReceiverClass) ParentClass() *gst.ObjectClass {
parent := gst.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCRTPReceiverClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCRTPReceiverClass) {}, w)
return parent
}
// WebRTCRTPSenderClass wraps GstWebRTCRTPSenderClass
//
// WebRTCRTPSenderClass is the type struct for [WebRTCRTPSender]
type WebRTCRTPSenderClass struct {
*webRTCRTPSenderClass
}
// webRTCRTPSenderClass is the struct that's finalized
type webRTCRTPSenderClass struct {
native *C.GstWebRTCRTPSenderClass
}
// UnsafeWebRTCRTPSenderClassFromGlibBorrow is used to convert raw C.GstWebRTCRTPSenderClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCRTPSenderClassFromGlibBorrow(p unsafe.Pointer) *WebRTCRTPSenderClass {
return &WebRTCRTPSenderClass{&webRTCRTPSenderClass{(*C.GstWebRTCRTPSenderClass)(p)}}
}
// UnsafeWebRTCRTPSenderClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCRTPSenderClass] is expected to work anymore.
func UnsafeWebRTCRTPSenderClassFree(w *WebRTCRTPSenderClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCRTPSenderClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCRTPSenderClassToGlibNone(w *WebRTCRTPSenderClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCRTPSenderClass) ParentClass() *gst.ObjectClass {
parent := gst.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCRTPSenderClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCRTPSenderClass) {}, w)
return parent
}
// WebRTCRTPTransceiverClass wraps GstWebRTCRTPTransceiverClass
//
// WebRTCRTPTransceiverClass is the type struct for [WebRTCRTPTransceiver]
type WebRTCRTPTransceiverClass struct {
*webRTCRTPTransceiverClass
}
// webRTCRTPTransceiverClass is the struct that's finalized
type webRTCRTPTransceiverClass struct {
native *C.GstWebRTCRTPTransceiverClass
}
// UnsafeWebRTCRTPTransceiverClassFromGlibBorrow is used to convert raw C.GstWebRTCRTPTransceiverClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCRTPTransceiverClassFromGlibBorrow(p unsafe.Pointer) *WebRTCRTPTransceiverClass {
return &WebRTCRTPTransceiverClass{&webRTCRTPTransceiverClass{(*C.GstWebRTCRTPTransceiverClass)(p)}}
}
// UnsafeWebRTCRTPTransceiverClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCRTPTransceiverClass] is expected to work anymore.
func UnsafeWebRTCRTPTransceiverClassFree(w *WebRTCRTPTransceiverClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCRTPTransceiverClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCRTPTransceiverClassToGlibNone(w *WebRTCRTPTransceiverClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCRTPTransceiverClass) ParentClass() *gst.ObjectClass {
parent := gst.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCRTPTransceiverClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCRTPTransceiverClass) {}, w)
return parent
}
// WebRTCSCTPTransportClass wraps GstWebRTCSCTPTransportClass
//
// WebRTCSCTPTransportClass is the type struct for [WebRTCSCTPTransport]
type WebRTCSCTPTransportClass struct {
*webRTCSCTPTransportClass
}
// webRTCSCTPTransportClass is the struct that's finalized
type webRTCSCTPTransportClass struct {
native *C.GstWebRTCSCTPTransportClass
}
// UnsafeWebRTCSCTPTransportClassFromGlibBorrow is used to convert raw C.GstWebRTCSCTPTransportClass pointers to go. This is used by the bindings internally.
func UnsafeWebRTCSCTPTransportClassFromGlibBorrow(p unsafe.Pointer) *WebRTCSCTPTransportClass {
return &WebRTCSCTPTransportClass{&webRTCSCTPTransportClass{(*C.GstWebRTCSCTPTransportClass)(p)}}
}
// UnsafeWebRTCSCTPTransportClassFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCSCTPTransportClass] is expected to work anymore.
func UnsafeWebRTCSCTPTransportClassFree(w *WebRTCSCTPTransportClass) {
C.free(unsafe.Pointer(w.native))
}
// UnsafeWebRTCSCTPTransportClassToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCSCTPTransportClassToGlibNone(w *WebRTCSCTPTransportClass) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// ParentClass returns the type struct of the parent class of this type struct.
// This essentially casts the underlying c pointer.
func (w *WebRTCSCTPTransportClass) ParentClass() *gst.ObjectClass {
parent := gst.UnsafeObjectClassFromGlibBorrow(UnsafeWebRTCSCTPTransportClassToGlibNone(w))
// attach a cleanup to keep the instance alive as long as the parent is referenced
runtime.AddCleanup(parent, func(_ *WebRTCSCTPTransportClass) {}, w)
return parent
}
// WebRTCSessionDescription wraps GstWebRTCSessionDescription
//
// See &lt;https://www.w3.org/TR/webrtc/#rtcsessiondescription-class&gt;
type WebRTCSessionDescription struct {
*webRTCSessionDescription
}
// webRTCSessionDescription is the struct that's finalized
type webRTCSessionDescription struct {
native *C.GstWebRTCSessionDescription
}
var _ gobject.GoValueInitializer = (*WebRTCSessionDescription)(nil)
func marshalWebRTCSessionDescription(p unsafe.Pointer) (interface{}, error) {
b := gobject.ValueFromNative(p).Boxed()
return UnsafeWebRTCSessionDescriptionFromGlibBorrow(b), nil
}
func (r *WebRTCSessionDescription) InitGoValue(v *gobject.Value) {
v.Init(TypeWebRTCSessionDescription)
v.SetBoxed(unsafe.Pointer(r.native))
}
// UnsafeWebRTCSessionDescriptionFromGlibBorrow is used to convert raw C.GstWebRTCSessionDescription pointers to go. This is used by the bindings internally.
func UnsafeWebRTCSessionDescriptionFromGlibBorrow(p unsafe.Pointer) *WebRTCSessionDescription {
return &WebRTCSessionDescription{&webRTCSessionDescription{(*C.GstWebRTCSessionDescription)(p)}}
}
// UnsafeWebRTCSessionDescriptionFromGlibNone is used to convert raw C.GstWebRTCSessionDescription pointers to go without transferring ownership. This is used by the bindings internally.
func UnsafeWebRTCSessionDescriptionFromGlibNone(p unsafe.Pointer) *WebRTCSessionDescription {
// FIXME: this has no ref function, what should we do here?
wrapped := UnsafeWebRTCSessionDescriptionFromGlibBorrow(p)
runtime.SetFinalizer(
wrapped.webRTCSessionDescription,
func (intern *webRTCSessionDescription) {
C.gst_webrtc_session_description_free(intern.native)
},
)
return wrapped
}
// UnsafeWebRTCSessionDescriptionFromGlibFull is used to convert raw C.GstWebRTCSessionDescription pointers to go while taking ownership. This is used by the bindings internally.
func UnsafeWebRTCSessionDescriptionFromGlibFull(p unsafe.Pointer) *WebRTCSessionDescription {
wrapped := UnsafeWebRTCSessionDescriptionFromGlibBorrow(p)
runtime.SetFinalizer(
wrapped.webRTCSessionDescription,
func (intern *webRTCSessionDescription) {
C.gst_webrtc_session_description_free(intern.native)
},
)
return wrapped
}
// UnsafeWebRTCSessionDescriptionFree unrefs/frees the underlying resource. This is used by the bindings internally.
//
// After this is called, no other method on [WebRTCSessionDescription] is expected to work anymore.
func UnsafeWebRTCSessionDescriptionFree(w *WebRTCSessionDescription) {
C.gst_webrtc_session_description_free(w.native)
}
// UnsafeWebRTCSessionDescriptionToGlibNone returns the underlying C pointer. This is used by the bindings internally.
func UnsafeWebRTCSessionDescriptionToGlibNone(w *WebRTCSessionDescription) unsafe.Pointer {
return unsafe.Pointer(w.native)
}
// UnsafeWebRTCSessionDescriptionToGlibFull returns the underlying C pointer and gives up ownership.
// This is used by the bindings internally.
func UnsafeWebRTCSessionDescriptionToGlibFull(w *WebRTCSessionDescription) unsafe.Pointer {
runtime.SetFinalizer(w.webRTCSessionDescription, nil)
_p := unsafe.Pointer(w.native)
w.native = nil // WebRTCSessionDescription is invalid from here on
return _p
}
// NewWebRTCSessionDescription wraps gst_webrtc_session_description_new
//
// The function takes the following parameters:
//
// - typ WebRTCSDPType: a #GstWebRTCSDPType
// - sdp *gstsdp.SDPMessage: a #GstSDPMessage
//
// The function returns the following values:
//
// - goret *WebRTCSessionDescription
func NewWebRTCSessionDescription(typ WebRTCSDPType, sdp *gstsdp.SDPMessage) *WebRTCSessionDescription {
var carg1 C.GstWebRTCSDPType // in, none, casted
var carg2 *C.GstSDPMessage // in, full, converted
var cret *C.GstWebRTCSessionDescription // return, full, converted
carg1 = C.GstWebRTCSDPType(typ)
carg2 = (*C.GstSDPMessage)(gstsdp.UnsafeSDPMessageToGlibFull(sdp))
cret = C.gst_webrtc_session_description_new(carg1, carg2)
runtime.KeepAlive(typ)
runtime.KeepAlive(sdp)
var goret *WebRTCSessionDescription
goret = UnsafeWebRTCSessionDescriptionFromGlibFull(unsafe.Pointer(cret))
return goret
}
// Copy wraps gst_webrtc_session_description_copy
//
// The function returns the following values:
//
// - goret *WebRTCSessionDescription
func (src *WebRTCSessionDescription) Copy() *WebRTCSessionDescription {
var carg0 *C.GstWebRTCSessionDescription // in, none, converted
var cret *C.GstWebRTCSessionDescription // return, full, converted
carg0 = (*C.GstWebRTCSessionDescription)(UnsafeWebRTCSessionDescriptionToGlibNone(src))
cret = C.gst_webrtc_session_description_copy(carg0)
runtime.KeepAlive(src)
var goret *WebRTCSessionDescription
goret = UnsafeWebRTCSessionDescriptionFromGlibFull(unsafe.Pointer(cret))
return goret
}
// SuppressUnstableWarning should be overwritten by the user to suppress the warning
var SuppressUnstableWarning = false
func init() {
if !SuppressUnstableWarning {
log.Println("Warning: using unstable API")
}
}