mirror of
https://github.com/go-gst/go-gst.git
synced 2025-10-05 16:06:55 +08:00
3476 lines
111 KiB
Go
3476 lines
111 KiB
Go
// Code generated by girgen. DO NOT EDIT.
|
|
|
|
package gstwebrtc
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime"
|
|
_ "runtime/cgo"
|
|
"unsafe"
|
|
|
|
"github.com/diamondburned/gotk4/pkg/core/gbox"
|
|
"github.com/diamondburned/gotk4/pkg/core/gerror"
|
|
"github.com/diamondburned/gotk4/pkg/core/gextras"
|
|
coreglib "github.com/diamondburned/gotk4/pkg/core/glib"
|
|
"github.com/diamondburned/gotk4/pkg/glib/v2"
|
|
"github.com/go-gst/go-gst/pkg/gst"
|
|
"github.com/go-gst/go-gst/pkg/gstsdp"
|
|
)
|
|
|
|
// #cgo pkg-config: gstreamer-webrtc-1.0
|
|
// #cgo CFLAGS: -Wno-deprecated-declarations
|
|
// #define GST_USE_UNSTABLE_API // APIs in this package are unstable
|
|
// #include <stdlib.h>
|
|
// #include <glib-object.h>
|
|
// #include <gst/webrtc/sctptransport.h>
|
|
// #include <gst/webrtc/webrtc.h>
|
|
// extern void callbackDelete(gpointer);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICETransport_ConnectOnSelectedCandidatePairChange(gpointer, guintptr);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICETransport_ConnectOnNewCandidate(gpointer, gchar*, guintptr);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICEOnCandidateFunc(GstWebRTCICE*, guint, gchar*, gpointer);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICEClass_set_turn_server(GstWebRTCICE*, gchar*);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICEClass_set_tos(GstWebRTCICE*, GstWebRTCICEStream*, guint);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICEClass_set_stun_server(GstWebRTCICE*, gchar*);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICEClass_set_is_controller(GstWebRTCICE*, gboolean);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICEClass_set_http_proxy(GstWebRTCICE*, gchar*);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICEClass_set_force_relay(GstWebRTCICE*, gboolean);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCICEClass_add_candidate(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, GstPromise*);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnOpen(gpointer, guintptr);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnMessageString(gpointer, gchar*, guintptr);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnMessageData(gpointer, GBytes*, guintptr);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnError(gpointer, GError*, guintptr);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnClose(gpointer, guintptr);
|
|
// extern void _gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnBufferedAmountLow(gpointer, guintptr);
|
|
// extern gchar* _gotk4_gstwebrtc1_WebRTCICEClass_get_turn_server(GstWebRTCICE*);
|
|
// extern gchar* _gotk4_gstwebrtc1_WebRTCICEClass_get_stun_server(GstWebRTCICE*);
|
|
// extern gchar* _gotk4_gstwebrtc1_WebRTCICEClass_get_http_proxy(GstWebRTCICE*);
|
|
// extern gboolean _gotk4_gstwebrtc1_WebRTCICETransportClass_gather_candidates(GstWebRTCICETransport*);
|
|
// extern gboolean _gotk4_gstwebrtc1_WebRTCICEStreamClass_gather_candidates(GstWebRTCICEStream*);
|
|
// extern gboolean _gotk4_gstwebrtc1_WebRTCICEClass_set_remote_credentials(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, gchar*);
|
|
// extern gboolean _gotk4_gstwebrtc1_WebRTCICEClass_set_local_credentials(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, gchar*);
|
|
// extern gboolean _gotk4_gstwebrtc1_WebRTCICEClass_get_selected_pair(GstWebRTCICE*, GstWebRTCICEStream*, GstWebRTCICECandidateStats**, GstWebRTCICECandidateStats**);
|
|
// extern gboolean _gotk4_gstwebrtc1_WebRTCICEClass_get_is_controller(GstWebRTCICE*);
|
|
// extern gboolean _gotk4_gstwebrtc1_WebRTCICEClass_gather_candidates(GstWebRTCICE*, GstWebRTCICEStream*);
|
|
// extern gboolean _gotk4_gstwebrtc1_WebRTCICEClass_add_turn_server(GstWebRTCICE*, gchar*);
|
|
// extern GstWebRTCICETransport* _gotk4_gstwebrtc1_WebRTCICEStreamClass_find_transport(GstWebRTCICEStream*, GstWebRTCICEComponent);
|
|
// extern GstWebRTCICETransport* _gotk4_gstwebrtc1_WebRTCICEClass_find_transport(GstWebRTCICE*, GstWebRTCICEStream*, GstWebRTCICEComponent);
|
|
// extern GstWebRTCICEStream* _gotk4_gstwebrtc1_WebRTCICEClass_add_stream(GstWebRTCICE*, guint);
|
|
// GstWebRTCICECandidateStats** _gotk4_gstwebrtc1_WebRTCICE_virtual_get_local_candidates(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1) {
|
|
// return ((GstWebRTCICECandidateStats** (*)(GstWebRTCICE*, GstWebRTCICEStream*))(fnptr))(arg0, arg1);
|
|
// };
|
|
// GstWebRTCICECandidateStats** _gotk4_gstwebrtc1_WebRTCICE_virtual_get_remote_candidates(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1) {
|
|
// return ((GstWebRTCICECandidateStats** (*)(GstWebRTCICE*, GstWebRTCICEStream*))(fnptr))(arg0, arg1);
|
|
// };
|
|
// GstWebRTCICEStream* _gotk4_gstwebrtc1_WebRTCICE_virtual_add_stream(void* fnptr, GstWebRTCICE* arg0, guint arg1) {
|
|
// return ((GstWebRTCICEStream* (*)(GstWebRTCICE*, guint))(fnptr))(arg0, arg1);
|
|
// };
|
|
// GstWebRTCICETransport* _gotk4_gstwebrtc1_WebRTCICEStream_virtual_find_transport(void* fnptr, GstWebRTCICEStream* arg0, GstWebRTCICEComponent arg1) {
|
|
// return ((GstWebRTCICETransport* (*)(GstWebRTCICEStream*, GstWebRTCICEComponent))(fnptr))(arg0, arg1);
|
|
// };
|
|
// GstWebRTCICETransport* _gotk4_gstwebrtc1_WebRTCICE_virtual_find_transport(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1, GstWebRTCICEComponent arg2) {
|
|
// return ((GstWebRTCICETransport* (*)(GstWebRTCICE*, GstWebRTCICEStream*, GstWebRTCICEComponent))(fnptr))(arg0, arg1, arg2);
|
|
// };
|
|
// gboolean _gotk4_gstwebrtc1_WebRTCICEStream_virtual_gather_candidates(void* fnptr, GstWebRTCICEStream* arg0) {
|
|
// return ((gboolean (*)(GstWebRTCICEStream*))(fnptr))(arg0);
|
|
// };
|
|
// gboolean _gotk4_gstwebrtc1_WebRTCICETransport_virtual_gather_candidates(void* fnptr, GstWebRTCICETransport* arg0) {
|
|
// return ((gboolean (*)(GstWebRTCICETransport*))(fnptr))(arg0);
|
|
// };
|
|
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_add_turn_server(void* fnptr, GstWebRTCICE* arg0, gchar* arg1) {
|
|
// return ((gboolean (*)(GstWebRTCICE*, gchar*))(fnptr))(arg0, arg1);
|
|
// };
|
|
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_gather_candidates(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1) {
|
|
// return ((gboolean (*)(GstWebRTCICE*, GstWebRTCICEStream*))(fnptr))(arg0, arg1);
|
|
// };
|
|
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_get_is_controller(void* fnptr, GstWebRTCICE* arg0) {
|
|
// return ((gboolean (*)(GstWebRTCICE*))(fnptr))(arg0);
|
|
// };
|
|
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_get_selected_pair(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1, GstWebRTCICECandidateStats** arg2, GstWebRTCICECandidateStats** arg3) {
|
|
// return ((gboolean (*)(GstWebRTCICE*, GstWebRTCICEStream*, GstWebRTCICECandidateStats**, GstWebRTCICECandidateStats**))(fnptr))(arg0, arg1, arg2, arg3);
|
|
// };
|
|
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_set_local_credentials(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1, gchar* arg2, gchar* arg3) {
|
|
// return ((gboolean (*)(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, gchar*))(fnptr))(arg0, arg1, arg2, arg3);
|
|
// };
|
|
// gboolean _gotk4_gstwebrtc1_WebRTCICE_virtual_set_remote_credentials(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1, gchar* arg2, gchar* arg3) {
|
|
// return ((gboolean (*)(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, gchar*))(fnptr))(arg0, arg1, arg2, arg3);
|
|
// };
|
|
// gchar* _gotk4_gstwebrtc1_WebRTCICE_virtual_get_http_proxy(void* fnptr, GstWebRTCICE* arg0) {
|
|
// return ((gchar* (*)(GstWebRTCICE*))(fnptr))(arg0);
|
|
// };
|
|
// gchar* _gotk4_gstwebrtc1_WebRTCICE_virtual_get_stun_server(void* fnptr, GstWebRTCICE* arg0) {
|
|
// return ((gchar* (*)(GstWebRTCICE*))(fnptr))(arg0);
|
|
// };
|
|
// gchar* _gotk4_gstwebrtc1_WebRTCICE_virtual_get_turn_server(void* fnptr, GstWebRTCICE* arg0) {
|
|
// return ((gchar* (*)(GstWebRTCICE*))(fnptr))(arg0);
|
|
// };
|
|
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_add_candidate(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1, gchar* arg2, GstPromise* arg3) {
|
|
// ((void (*)(GstWebRTCICE*, GstWebRTCICEStream*, gchar*, GstPromise*))(fnptr))(arg0, arg1, arg2, arg3);
|
|
// };
|
|
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_force_relay(void* fnptr, GstWebRTCICE* arg0, gboolean arg1) {
|
|
// ((void (*)(GstWebRTCICE*, gboolean))(fnptr))(arg0, arg1);
|
|
// };
|
|
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_http_proxy(void* fnptr, GstWebRTCICE* arg0, gchar* arg1) {
|
|
// ((void (*)(GstWebRTCICE*, gchar*))(fnptr))(arg0, arg1);
|
|
// };
|
|
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_is_controller(void* fnptr, GstWebRTCICE* arg0, gboolean arg1) {
|
|
// ((void (*)(GstWebRTCICE*, gboolean))(fnptr))(arg0, arg1);
|
|
// };
|
|
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_on_ice_candidate(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEOnCandidateFunc arg1, gpointer arg2, GDestroyNotify arg3) {
|
|
// ((void (*)(GstWebRTCICE*, GstWebRTCICEOnCandidateFunc, gpointer, GDestroyNotify))(fnptr))(arg0, arg1, arg2, arg3);
|
|
// };
|
|
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_stun_server(void* fnptr, GstWebRTCICE* arg0, gchar* arg1) {
|
|
// ((void (*)(GstWebRTCICE*, gchar*))(fnptr))(arg0, arg1);
|
|
// };
|
|
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_tos(void* fnptr, GstWebRTCICE* arg0, GstWebRTCICEStream* arg1, guint arg2) {
|
|
// ((void (*)(GstWebRTCICE*, GstWebRTCICEStream*, guint))(fnptr))(arg0, arg1, arg2);
|
|
// };
|
|
// void _gotk4_gstwebrtc1_WebRTCICE_virtual_set_turn_server(void* fnptr, GstWebRTCICE* arg0, gchar* arg1) {
|
|
// ((void (*)(GstWebRTCICE*, gchar*))(fnptr))(arg0, arg1);
|
|
// };
|
|
import "C"
|
|
|
|
// GType values.
|
|
var (
|
|
GTypeWebRTCBundlePolicy = coreglib.Type(C.gst_webrtc_bundle_policy_get_type())
|
|
GTypeWebRTCDTLSSetup = coreglib.Type(C.gst_webrtc_dtls_setup_get_type())
|
|
GTypeWebRTCDTLSTransportState = coreglib.Type(C.gst_webrtc_dtls_transport_state_get_type())
|
|
GTypeWebRTCDataChannelState = coreglib.Type(C.gst_webrtc_data_channel_state_get_type())
|
|
GTypeWebRTCError = coreglib.Type(C.gst_webrtc_error_get_type())
|
|
GTypeWebRTCFECType = coreglib.Type(C.gst_webrtc_fec_type_get_type())
|
|
GTypeWebRTCICEComponent = coreglib.Type(C.gst_webrtc_ice_component_get_type())
|
|
GTypeWebRTCICEConnectionState = coreglib.Type(C.gst_webrtc_ice_connection_state_get_type())
|
|
GTypeWebRTCICEGatheringState = coreglib.Type(C.gst_webrtc_ice_gathering_state_get_type())
|
|
GTypeWebRTCICERole = coreglib.Type(C.gst_webrtc_ice_role_get_type())
|
|
GTypeWebRTCICETransportPolicy = coreglib.Type(C.gst_webrtc_ice_transport_policy_get_type())
|
|
GTypeWebRTCKind = coreglib.Type(C.gst_webrtc_kind_get_type())
|
|
GTypeWebRTCPeerConnectionState = coreglib.Type(C.gst_webrtc_peer_connection_state_get_type())
|
|
GTypeWebRTCPriorityType = coreglib.Type(C.gst_webrtc_priority_type_get_type())
|
|
GTypeWebRTCRTPTransceiverDirection = coreglib.Type(C.gst_webrtc_rtp_transceiver_direction_get_type())
|
|
GTypeWebRTCSCTPTransportState = coreglib.Type(C.gst_webrtc_sctp_transport_state_get_type())
|
|
GTypeWebRTCSDPType = coreglib.Type(C.gst_webrtc_sdp_type_get_type())
|
|
GTypeWebRTCSignalingState = coreglib.Type(C.gst_webrtc_signaling_state_get_type())
|
|
GTypeWebRTCStatsType = coreglib.Type(C.gst_webrtc_stats_type_get_type())
|
|
GTypeWebRTCDTLSTransport = coreglib.Type(C.gst_webrtc_dtls_transport_get_type())
|
|
GTypeWebRTCDataChannel = coreglib.Type(C.gst_webrtc_data_channel_get_type())
|
|
GTypeWebRTCICE = coreglib.Type(C.gst_webrtc_ice_get_type())
|
|
GTypeWebRTCICEStream = coreglib.Type(C.gst_webrtc_ice_stream_get_type())
|
|
GTypeWebRTCICETransport = coreglib.Type(C.gst_webrtc_ice_transport_get_type())
|
|
GTypeWebRTCRTPReceiver = coreglib.Type(C.gst_webrtc_rtp_receiver_get_type())
|
|
GTypeWebRTCRTPSender = coreglib.Type(C.gst_webrtc_rtp_sender_get_type())
|
|
GTypeWebRTCRTPTransceiver = coreglib.Type(C.gst_webrtc_rtp_transceiver_get_type())
|
|
GTypeWebRTCSCTPTransport = coreglib.Type(C.gst_webrtc_sctp_transport_get_type())
|
|
GTypeWebRTCICECandidateStats = coreglib.Type(C.gst_webrtc_ice_candidate_stats_get_type())
|
|
GTypeWebRTCSessionDescription = coreglib.Type(C.gst_webrtc_session_description_get_type())
|
|
)
|
|
|
|
func init() {
|
|
coreglib.RegisterGValueMarshalers([]coreglib.TypeMarshaler{
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCBundlePolicy, F: marshalWebRTCBundlePolicy},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCDTLSSetup, F: marshalWebRTCDTLSSetup},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCDTLSTransportState, F: marshalWebRTCDTLSTransportState},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCDataChannelState, F: marshalWebRTCDataChannelState},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCError, F: marshalWebRTCError},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCFECType, F: marshalWebRTCFECType},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICEComponent, F: marshalWebRTCICEComponent},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICEConnectionState, F: marshalWebRTCICEConnectionState},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICEGatheringState, F: marshalWebRTCICEGatheringState},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICERole, F: marshalWebRTCICERole},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICETransportPolicy, F: marshalWebRTCICETransportPolicy},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCKind, F: marshalWebRTCKind},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCPeerConnectionState, F: marshalWebRTCPeerConnectionState},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCPriorityType, F: marshalWebRTCPriorityType},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCRTPTransceiverDirection, F: marshalWebRTCRTPTransceiverDirection},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCSCTPTransportState, F: marshalWebRTCSCTPTransportState},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCSDPType, F: marshalWebRTCSDPType},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCSignalingState, F: marshalWebRTCSignalingState},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCStatsType, F: marshalWebRTCStatsType},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCDTLSTransport, F: marshalWebRTCDTLSTransport},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCDataChannel, F: marshalWebRTCDataChannel},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICE, F: marshalWebRTCICE},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICEStream, F: marshalWebRTCICEStream},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICETransport, F: marshalWebRTCICETransport},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCRTPReceiver, F: marshalWebRTCRTPReceiver},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCRTPSender, F: marshalWebRTCRTPSender},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCRTPTransceiver, F: marshalWebRTCRTPTransceiver},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCSCTPTransport, F: marshalWebRTCSCTPTransport},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCICECandidateStats, F: marshalWebRTCICECandidateStats},
|
|
coreglib.TypeMarshaler{T: GTypeWebRTCSessionDescription, F: marshalWebRTCSessionDescription},
|
|
})
|
|
}
|
|
|
|
// WebRTCBundlePolicy: see
|
|
// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1 for more
|
|
// information.
|
|
type WebRTCBundlePolicy C.gint
|
|
|
|
const (
|
|
// WebrtcBundlePolicyNone: none.
|
|
WebrtcBundlePolicyNone WebRTCBundlePolicy = iota
|
|
// WebrtcBundlePolicyBalanced: balanced.
|
|
WebrtcBundlePolicyBalanced
|
|
// WebrtcBundlePolicyMaxCompat: max-compat.
|
|
WebrtcBundlePolicyMaxCompat
|
|
// WebrtcBundlePolicyMaxBundle: max-bundle.
|
|
WebrtcBundlePolicyMaxBundle
|
|
)
|
|
|
|
func marshalWebRTCBundlePolicy(p uintptr) (interface{}, error) {
|
|
return WebRTCBundlePolicy(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCBundlePolicy.
|
|
func (w WebRTCBundlePolicy) String() string {
|
|
switch w {
|
|
case WebrtcBundlePolicyNone:
|
|
return "None"
|
|
case WebrtcBundlePolicyBalanced:
|
|
return "Balanced"
|
|
case WebrtcBundlePolicyMaxCompat:
|
|
return "MaxCompat"
|
|
case WebrtcBundlePolicyMaxBundle:
|
|
return "MaxBundle"
|
|
default:
|
|
return fmt.Sprintf("WebRTCBundlePolicy(%d)", w)
|
|
}
|
|
}
|
|
|
|
type WebRTCDTLSSetup C.gint
|
|
|
|
const (
|
|
// WebrtcDTLSSetupNone: none.
|
|
WebrtcDTLSSetupNone WebRTCDTLSSetup = iota
|
|
// WebrtcDTLSSetupActpass: actpass.
|
|
WebrtcDTLSSetupActpass
|
|
// WebrtcDTLSSetupActive: sendonly.
|
|
WebrtcDTLSSetupActive
|
|
// WebrtcDTLSSetupPassive: recvonly.
|
|
WebrtcDTLSSetupPassive
|
|
)
|
|
|
|
func marshalWebRTCDTLSSetup(p uintptr) (interface{}, error) {
|
|
return WebRTCDTLSSetup(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCDTLSSetup.
|
|
func (w WebRTCDTLSSetup) String() string {
|
|
switch w {
|
|
case WebrtcDTLSSetupNone:
|
|
return "None"
|
|
case WebrtcDTLSSetupActpass:
|
|
return "Actpass"
|
|
case WebrtcDTLSSetupActive:
|
|
return "Active"
|
|
case WebrtcDTLSSetupPassive:
|
|
return "Passive"
|
|
default:
|
|
return fmt.Sprintf("WebRTCDTLSSetup(%d)", w)
|
|
}
|
|
}
|
|
|
|
type WebRTCDTLSTransportState C.gint
|
|
|
|
const (
|
|
// NewWebrtcDTLSTransportState: new.
|
|
NewWebrtcDTLSTransportState WebRTCDTLSTransportState = iota
|
|
// WebrtcDTLSTransportStateClosed: closed.
|
|
WebrtcDTLSTransportStateClosed
|
|
// WebrtcDTLSTransportStateFailed: failed.
|
|
WebrtcDTLSTransportStateFailed
|
|
// WebrtcDTLSTransportStateConnecting: connecting.
|
|
WebrtcDTLSTransportStateConnecting
|
|
// WebrtcDTLSTransportStateConnected: connected.
|
|
WebrtcDTLSTransportStateConnected
|
|
)
|
|
|
|
func marshalWebRTCDTLSTransportState(p uintptr) (interface{}, error) {
|
|
return WebRTCDTLSTransportState(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCDTLSTransportState.
|
|
func (w WebRTCDTLSTransportState) String() string {
|
|
switch w {
|
|
case NewWebrtcDTLSTransportState:
|
|
return "New"
|
|
case WebrtcDTLSTransportStateClosed:
|
|
return "Closed"
|
|
case WebrtcDTLSTransportStateFailed:
|
|
return "Failed"
|
|
case WebrtcDTLSTransportStateConnecting:
|
|
return "Connecting"
|
|
case WebrtcDTLSTransportStateConnected:
|
|
return "Connected"
|
|
default:
|
|
return fmt.Sprintf("WebRTCDTLSTransportState(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCDataChannelState: see
|
|
// <http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate>.
|
|
type WebRTCDataChannelState C.gint
|
|
|
|
const (
|
|
// WebrtcDataChannelStateConnecting: connecting.
|
|
WebrtcDataChannelStateConnecting WebRTCDataChannelState = 1
|
|
// WebrtcDataChannelStateOpen: open.
|
|
WebrtcDataChannelStateOpen WebRTCDataChannelState = 2
|
|
// WebrtcDataChannelStateClosing: closing.
|
|
WebrtcDataChannelStateClosing WebRTCDataChannelState = 3
|
|
// WebrtcDataChannelStateClosed: closed.
|
|
WebrtcDataChannelStateClosed WebRTCDataChannelState = 4
|
|
)
|
|
|
|
func marshalWebRTCDataChannelState(p uintptr) (interface{}, error) {
|
|
return WebRTCDataChannelState(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCDataChannelState.
|
|
func (w WebRTCDataChannelState) String() string {
|
|
switch w {
|
|
case WebrtcDataChannelStateConnecting:
|
|
return "Connecting"
|
|
case WebrtcDataChannelStateOpen:
|
|
return "Open"
|
|
case WebrtcDataChannelStateClosing:
|
|
return "Closing"
|
|
case WebrtcDataChannelStateClosed:
|
|
return "Closed"
|
|
default:
|
|
return fmt.Sprintf("WebRTCDataChannelState(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCError: see <https://www.w3.org/TR/webrtc/#dom-rtcerrordetailtype> for
|
|
// more information.
|
|
type WebRTCError C.gint
|
|
|
|
const (
|
|
// WebrtcErrorDataChannelFailure: data-channel-failure.
|
|
WebrtcErrorDataChannelFailure WebRTCError = iota
|
|
// WebrtcErrorDTLSFailure: dtls-failure.
|
|
WebrtcErrorDTLSFailure
|
|
// WebrtcErrorFingerprintFailure: fingerprint-failure.
|
|
WebrtcErrorFingerprintFailure
|
|
// WebrtcErrorSCTPFailure: sctp-failure.
|
|
WebrtcErrorSCTPFailure
|
|
// WebrtcErrorSdpSyntaxError: sdp-syntax-error.
|
|
WebrtcErrorSdpSyntaxError
|
|
// WebrtcErrorHardwareEncoderNotAvailable: hardware-encoder-not-available.
|
|
WebrtcErrorHardwareEncoderNotAvailable
|
|
// WebrtcErrorEncoderError: encoder-error.
|
|
WebrtcErrorEncoderError
|
|
// WebrtcErrorInvalidState: invalid-state (part of WebIDL specification).
|
|
WebrtcErrorInvalidState
|
|
// WebrtcErrorInternalFailure: GStreamer-specific failure, not matching any
|
|
// other value from the specification.
|
|
WebrtcErrorInternalFailure
|
|
// WebrtcErrorInvalidModification: invalid-modification (part of WebIDL
|
|
// specification).
|
|
WebrtcErrorInvalidModification
|
|
// WebrtcErrorTypeError: type-error (maps to JavaScript TypeError).
|
|
WebrtcErrorTypeError
|
|
)
|
|
|
|
func marshalWebRTCError(p uintptr) (interface{}, error) {
|
|
return WebRTCError(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCError.
|
|
func (w WebRTCError) String() string {
|
|
switch w {
|
|
case WebrtcErrorDataChannelFailure:
|
|
return "DataChannelFailure"
|
|
case WebrtcErrorDTLSFailure:
|
|
return "DTLSFailure"
|
|
case WebrtcErrorFingerprintFailure:
|
|
return "FingerprintFailure"
|
|
case WebrtcErrorSCTPFailure:
|
|
return "SCTPFailure"
|
|
case WebrtcErrorSdpSyntaxError:
|
|
return "SdpSyntaxError"
|
|
case WebrtcErrorHardwareEncoderNotAvailable:
|
|
return "HardwareEncoderNotAvailable"
|
|
case WebrtcErrorEncoderError:
|
|
return "EncoderError"
|
|
case WebrtcErrorInvalidState:
|
|
return "InvalidState"
|
|
case WebrtcErrorInternalFailure:
|
|
return "InternalFailure"
|
|
case WebrtcErrorInvalidModification:
|
|
return "InvalidModification"
|
|
case WebrtcErrorTypeError:
|
|
return "TypeError"
|
|
default:
|
|
return fmt.Sprintf("WebRTCError(%d)", w)
|
|
}
|
|
}
|
|
|
|
func WebRTCErrorQuark() glib.Quark {
|
|
var _cret C.GQuark // in
|
|
|
|
_cret = C.gst_webrtc_error_quark()
|
|
|
|
var _quark glib.Quark // out
|
|
|
|
_quark = glib.Quark(_cret)
|
|
|
|
return _quark
|
|
}
|
|
|
|
type WebRTCFECType C.gint
|
|
|
|
const (
|
|
// WebrtcFecTypeNone: none.
|
|
WebrtcFecTypeNone WebRTCFECType = iota
|
|
// WebrtcFecTypeUlpRed: ulpfec + red.
|
|
WebrtcFecTypeUlpRed
|
|
)
|
|
|
|
func marshalWebRTCFECType(p uintptr) (interface{}, error) {
|
|
return WebRTCFECType(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCFECType.
|
|
func (w WebRTCFECType) String() string {
|
|
switch w {
|
|
case WebrtcFecTypeNone:
|
|
return "None"
|
|
case WebrtcFecTypeUlpRed:
|
|
return "UlpRed"
|
|
default:
|
|
return fmt.Sprintf("WebRTCFECType(%d)", w)
|
|
}
|
|
}
|
|
|
|
type WebRTCICEComponent C.gint
|
|
|
|
const (
|
|
// WebrtcIceComponentRtp: RTP component.
|
|
WebrtcIceComponentRtp WebRTCICEComponent = iota
|
|
// WebrtcIceComponentRtcp: RTCP component.
|
|
WebrtcIceComponentRtcp
|
|
)
|
|
|
|
func marshalWebRTCICEComponent(p uintptr) (interface{}, error) {
|
|
return WebRTCICEComponent(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCICEComponent.
|
|
func (w WebRTCICEComponent) String() string {
|
|
switch w {
|
|
case WebrtcIceComponentRtp:
|
|
return "Rtp"
|
|
case WebrtcIceComponentRtcp:
|
|
return "Rtcp"
|
|
default:
|
|
return fmt.Sprintf("WebRTCICEComponent(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCICEConnectionState: see
|
|
// <http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate>.
|
|
type WebRTCICEConnectionState C.gint
|
|
|
|
const (
|
|
// NewWebrtcIceConnectionState: new.
|
|
NewWebrtcIceConnectionState WebRTCICEConnectionState = iota
|
|
// WebrtcIceConnectionStateChecking: checking.
|
|
WebrtcIceConnectionStateChecking
|
|
// WebrtcIceConnectionStateConnected: connected.
|
|
WebrtcIceConnectionStateConnected
|
|
// WebrtcIceConnectionStateCompleted: completed.
|
|
WebrtcIceConnectionStateCompleted
|
|
// WebrtcIceConnectionStateFailed: failed.
|
|
WebrtcIceConnectionStateFailed
|
|
// WebrtcIceConnectionStateDisconnected: disconnected.
|
|
WebrtcIceConnectionStateDisconnected
|
|
// WebrtcIceConnectionStateClosed: closed.
|
|
WebrtcIceConnectionStateClosed
|
|
)
|
|
|
|
func marshalWebRTCICEConnectionState(p uintptr) (interface{}, error) {
|
|
return WebRTCICEConnectionState(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCICEConnectionState.
|
|
func (w WebRTCICEConnectionState) String() string {
|
|
switch w {
|
|
case NewWebrtcIceConnectionState:
|
|
return "New"
|
|
case WebrtcIceConnectionStateChecking:
|
|
return "Checking"
|
|
case WebrtcIceConnectionStateConnected:
|
|
return "Connected"
|
|
case WebrtcIceConnectionStateCompleted:
|
|
return "Completed"
|
|
case WebrtcIceConnectionStateFailed:
|
|
return "Failed"
|
|
case WebrtcIceConnectionStateDisconnected:
|
|
return "Disconnected"
|
|
case WebrtcIceConnectionStateClosed:
|
|
return "Closed"
|
|
default:
|
|
return fmt.Sprintf("WebRTCICEConnectionState(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCICEGatheringState: see
|
|
// <http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate>.
|
|
type WebRTCICEGatheringState C.gint
|
|
|
|
const (
|
|
// NewWebrtcIceGatheringState: new.
|
|
NewWebrtcIceGatheringState WebRTCICEGatheringState = iota
|
|
// WebrtcIceGatheringStateGathering: gathering.
|
|
WebrtcIceGatheringStateGathering
|
|
// WebrtcIceGatheringStateComplete: complete.
|
|
WebrtcIceGatheringStateComplete
|
|
)
|
|
|
|
func marshalWebRTCICEGatheringState(p uintptr) (interface{}, error) {
|
|
return WebRTCICEGatheringState(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCICEGatheringState.
|
|
func (w WebRTCICEGatheringState) String() string {
|
|
switch w {
|
|
case NewWebrtcIceGatheringState:
|
|
return "New"
|
|
case WebrtcIceGatheringStateGathering:
|
|
return "Gathering"
|
|
case WebrtcIceGatheringStateComplete:
|
|
return "Complete"
|
|
default:
|
|
return fmt.Sprintf("WebRTCICEGatheringState(%d)", w)
|
|
}
|
|
}
|
|
|
|
type WebRTCICERole C.gint
|
|
|
|
const (
|
|
// WebrtcIceRoleControlled: controlled.
|
|
WebrtcIceRoleControlled WebRTCICERole = iota
|
|
// WebrtcIceRoleControlling: controlling.
|
|
WebrtcIceRoleControlling
|
|
)
|
|
|
|
func marshalWebRTCICERole(p uintptr) (interface{}, error) {
|
|
return WebRTCICERole(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCICERole.
|
|
func (w WebRTCICERole) String() string {
|
|
switch w {
|
|
case WebrtcIceRoleControlled:
|
|
return "Controlled"
|
|
case WebrtcIceRoleControlling:
|
|
return "Controlling"
|
|
default:
|
|
return fmt.Sprintf("WebRTCICERole(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCICETransportPolicy: see
|
|
// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1 for more
|
|
// information.
|
|
type WebRTCICETransportPolicy C.gint
|
|
|
|
const (
|
|
// WebrtcIceTransportPolicyAll: all.
|
|
WebrtcIceTransportPolicyAll WebRTCICETransportPolicy = iota
|
|
// WebrtcIceTransportPolicyRelay: relay.
|
|
WebrtcIceTransportPolicyRelay
|
|
)
|
|
|
|
func marshalWebRTCICETransportPolicy(p uintptr) (interface{}, error) {
|
|
return WebRTCICETransportPolicy(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCICETransportPolicy.
|
|
func (w WebRTCICETransportPolicy) String() string {
|
|
switch w {
|
|
case WebrtcIceTransportPolicyAll:
|
|
return "All"
|
|
case WebrtcIceTransportPolicyRelay:
|
|
return "Relay"
|
|
default:
|
|
return fmt.Sprintf("WebRTCICETransportPolicy(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCKind:
|
|
// https://w3c.github.io/mediacapture-main/#dom-mediastreamtrack-kind.
|
|
type WebRTCKind C.gint
|
|
|
|
const (
|
|
// WebrtcKindUnknown: kind has not yet been set.
|
|
WebrtcKindUnknown WebRTCKind = iota
|
|
// WebrtcKindAudio: kind is audio.
|
|
WebrtcKindAudio
|
|
// WebrtcKindVideo: kind is audio.
|
|
WebrtcKindVideo
|
|
)
|
|
|
|
func marshalWebRTCKind(p uintptr) (interface{}, error) {
|
|
return WebRTCKind(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCKind.
|
|
func (w WebRTCKind) String() string {
|
|
switch w {
|
|
case WebrtcKindUnknown:
|
|
return "Unknown"
|
|
case WebrtcKindAudio:
|
|
return "Audio"
|
|
case WebrtcKindVideo:
|
|
return "Video"
|
|
default:
|
|
return fmt.Sprintf("WebRTCKind(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCPeerConnectionState: see
|
|
// <http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate>.
|
|
type WebRTCPeerConnectionState C.gint
|
|
|
|
const (
|
|
// NewWebrtcPeerConnectionState: new.
|
|
NewWebrtcPeerConnectionState WebRTCPeerConnectionState = iota
|
|
// WebrtcPeerConnectionStateConnecting: connecting.
|
|
WebrtcPeerConnectionStateConnecting
|
|
// WebrtcPeerConnectionStateConnected: connected.
|
|
WebrtcPeerConnectionStateConnected
|
|
// WebrtcPeerConnectionStateDisconnected: disconnected.
|
|
WebrtcPeerConnectionStateDisconnected
|
|
// WebrtcPeerConnectionStateFailed: failed.
|
|
WebrtcPeerConnectionStateFailed
|
|
// WebrtcPeerConnectionStateClosed: closed.
|
|
WebrtcPeerConnectionStateClosed
|
|
)
|
|
|
|
func marshalWebRTCPeerConnectionState(p uintptr) (interface{}, error) {
|
|
return WebRTCPeerConnectionState(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCPeerConnectionState.
|
|
func (w WebRTCPeerConnectionState) String() string {
|
|
switch w {
|
|
case NewWebrtcPeerConnectionState:
|
|
return "New"
|
|
case WebrtcPeerConnectionStateConnecting:
|
|
return "Connecting"
|
|
case WebrtcPeerConnectionStateConnected:
|
|
return "Connected"
|
|
case WebrtcPeerConnectionStateDisconnected:
|
|
return "Disconnected"
|
|
case WebrtcPeerConnectionStateFailed:
|
|
return "Failed"
|
|
case WebrtcPeerConnectionStateClosed:
|
|
return "Closed"
|
|
default:
|
|
return fmt.Sprintf("WebRTCPeerConnectionState(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCPriorityType: see
|
|
// <http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype>.
|
|
type WebRTCPriorityType C.gint
|
|
|
|
const (
|
|
// WebrtcPriorityTypeVeryLow: very-low.
|
|
WebrtcPriorityTypeVeryLow WebRTCPriorityType = 1
|
|
// WebrtcPriorityTypeLow: low.
|
|
WebrtcPriorityTypeLow WebRTCPriorityType = 2
|
|
// WebrtcPriorityTypeMedium: medium.
|
|
WebrtcPriorityTypeMedium WebRTCPriorityType = 3
|
|
// WebrtcPriorityTypeHigh: high.
|
|
WebrtcPriorityTypeHigh WebRTCPriorityType = 4
|
|
)
|
|
|
|
func marshalWebRTCPriorityType(p uintptr) (interface{}, error) {
|
|
return WebRTCPriorityType(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCPriorityType.
|
|
func (w WebRTCPriorityType) String() string {
|
|
switch w {
|
|
case WebrtcPriorityTypeVeryLow:
|
|
return "VeryLow"
|
|
case WebrtcPriorityTypeLow:
|
|
return "Low"
|
|
case WebrtcPriorityTypeMedium:
|
|
return "Medium"
|
|
case WebrtcPriorityTypeHigh:
|
|
return "High"
|
|
default:
|
|
return fmt.Sprintf("WebRTCPriorityType(%d)", w)
|
|
}
|
|
}
|
|
|
|
type WebRTCRTPTransceiverDirection C.gint
|
|
|
|
const (
|
|
// WebrtcRtpTransceiverDirectionNone: none.
|
|
WebrtcRtpTransceiverDirectionNone WebRTCRTPTransceiverDirection = iota
|
|
// WebrtcRtpTransceiverDirectionInactive: inactive.
|
|
WebrtcRtpTransceiverDirectionInactive
|
|
// WebrtcRtpTransceiverDirectionSendonly: sendonly.
|
|
WebrtcRtpTransceiverDirectionSendonly
|
|
// WebrtcRtpTransceiverDirectionRecvonly: recvonly.
|
|
WebrtcRtpTransceiverDirectionRecvonly
|
|
// WebrtcRtpTransceiverDirectionSendrecv: sendrecv.
|
|
WebrtcRtpTransceiverDirectionSendrecv
|
|
)
|
|
|
|
func marshalWebRTCRTPTransceiverDirection(p uintptr) (interface{}, error) {
|
|
return WebRTCRTPTransceiverDirection(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCRTPTransceiverDirection.
|
|
func (w WebRTCRTPTransceiverDirection) String() string {
|
|
switch w {
|
|
case WebrtcRtpTransceiverDirectionNone:
|
|
return "None"
|
|
case WebrtcRtpTransceiverDirectionInactive:
|
|
return "Inactive"
|
|
case WebrtcRtpTransceiverDirectionSendonly:
|
|
return "Sendonly"
|
|
case WebrtcRtpTransceiverDirectionRecvonly:
|
|
return "Recvonly"
|
|
case WebrtcRtpTransceiverDirectionSendrecv:
|
|
return "Sendrecv"
|
|
default:
|
|
return fmt.Sprintf("WebRTCRTPTransceiverDirection(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCSCTPTransportState: see
|
|
// <http://w3c.github.io/webrtc-pc/#dom-rtcsctptransportstate>.
|
|
type WebRTCSCTPTransportState C.gint
|
|
|
|
const (
|
|
// NewWebrtcSCTPTransportState: new.
|
|
NewWebrtcSCTPTransportState WebRTCSCTPTransportState = iota
|
|
// WebrtcSCTPTransportStateConnecting: connecting.
|
|
WebrtcSCTPTransportStateConnecting
|
|
// WebrtcSCTPTransportStateConnected: connected.
|
|
WebrtcSCTPTransportStateConnected
|
|
// WebrtcSCTPTransportStateClosed: closed.
|
|
WebrtcSCTPTransportStateClosed
|
|
)
|
|
|
|
func marshalWebRTCSCTPTransportState(p uintptr) (interface{}, error) {
|
|
return WebRTCSCTPTransportState(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCSCTPTransportState.
|
|
func (w WebRTCSCTPTransportState) String() string {
|
|
switch w {
|
|
case NewWebrtcSCTPTransportState:
|
|
return "New"
|
|
case WebrtcSCTPTransportStateConnecting:
|
|
return "Connecting"
|
|
case WebrtcSCTPTransportStateConnected:
|
|
return "Connected"
|
|
case WebrtcSCTPTransportStateClosed:
|
|
return "Closed"
|
|
default:
|
|
return fmt.Sprintf("WebRTCSCTPTransportState(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCSDPType: see <http://w3c.github.io/webrtc-pc/#rtcsdptype>.
|
|
type WebRTCSDPType C.gint
|
|
|
|
const (
|
|
// WebrtcSdpTypeOffer: offer.
|
|
WebrtcSdpTypeOffer WebRTCSDPType = 1
|
|
// WebrtcSdpTypePranswer: pranswer.
|
|
WebrtcSdpTypePranswer WebRTCSDPType = 2
|
|
// WebrtcSdpTypeAnswer: answer.
|
|
WebrtcSdpTypeAnswer WebRTCSDPType = 3
|
|
// WebrtcSdpTypeRollback: rollback.
|
|
WebrtcSdpTypeRollback WebRTCSDPType = 4
|
|
)
|
|
|
|
func marshalWebRTCSDPType(p uintptr) (interface{}, error) {
|
|
return WebRTCSDPType(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCSDPType.
|
|
func (w WebRTCSDPType) String() string {
|
|
switch w {
|
|
case WebrtcSdpTypeOffer:
|
|
return "Offer"
|
|
case WebrtcSdpTypePranswer:
|
|
return "Pranswer"
|
|
case WebrtcSdpTypeAnswer:
|
|
return "Answer"
|
|
case WebrtcSdpTypeRollback:
|
|
return "Rollback"
|
|
default:
|
|
return fmt.Sprintf("WebRTCSDPType(%d)", w)
|
|
}
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - typ: WebRTCSDPType.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8: string representation of type or "unknown" when type is not
|
|
// recognized.
|
|
func WebRTCSDPTypeToString(typ WebRTCSDPType) string {
|
|
var _arg1 C.GstWebRTCSDPType // out
|
|
var _cret *C.gchar // in
|
|
|
|
_arg1 = C.GstWebRTCSDPType(typ)
|
|
|
|
_cret = C.gst_webrtc_sdp_type_to_string(_arg1)
|
|
runtime.KeepAlive(typ)
|
|
|
|
var _utf8 string // out
|
|
|
|
_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
|
|
|
|
return _utf8
|
|
}
|
|
|
|
// WebRTCSignalingState: see
|
|
// <http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate>.
|
|
type WebRTCSignalingState C.gint
|
|
|
|
const (
|
|
// WebrtcSignalingStateStable: stable.
|
|
WebrtcSignalingStateStable WebRTCSignalingState = iota
|
|
// WebrtcSignalingStateClosed: closed.
|
|
WebrtcSignalingStateClosed
|
|
// WebrtcSignalingStateHaveLocalOffer: have-local-offer.
|
|
WebrtcSignalingStateHaveLocalOffer
|
|
// WebrtcSignalingStateHaveRemoteOffer: have-remote-offer.
|
|
WebrtcSignalingStateHaveRemoteOffer
|
|
// WebrtcSignalingStateHaveLocalPranswer: have-local-pranswer.
|
|
WebrtcSignalingStateHaveLocalPranswer
|
|
// WebrtcSignalingStateHaveRemotePranswer: have-remote-pranswer.
|
|
WebrtcSignalingStateHaveRemotePranswer
|
|
)
|
|
|
|
func marshalWebRTCSignalingState(p uintptr) (interface{}, error) {
|
|
return WebRTCSignalingState(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCSignalingState.
|
|
func (w WebRTCSignalingState) String() string {
|
|
switch w {
|
|
case WebrtcSignalingStateStable:
|
|
return "Stable"
|
|
case WebrtcSignalingStateClosed:
|
|
return "Closed"
|
|
case WebrtcSignalingStateHaveLocalOffer:
|
|
return "HaveLocalOffer"
|
|
case WebrtcSignalingStateHaveRemoteOffer:
|
|
return "HaveRemoteOffer"
|
|
case WebrtcSignalingStateHaveLocalPranswer:
|
|
return "HaveLocalPranswer"
|
|
case WebrtcSignalingStateHaveRemotePranswer:
|
|
return "HaveRemotePranswer"
|
|
default:
|
|
return fmt.Sprintf("WebRTCSignalingState(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCStatsType: see <https://w3c.github.io/webrtc-stats/#dom-rtcstatstype>.
|
|
type WebRTCStatsType C.gint
|
|
|
|
const (
|
|
// WebrtcStatsCodec: codec.
|
|
WebrtcStatsCodec WebRTCStatsType = 1
|
|
// WebrtcStatsInboundRtp: inbound-rtp.
|
|
WebrtcStatsInboundRtp WebRTCStatsType = 2
|
|
// WebrtcStatsOutboundRtp: outbound-rtp.
|
|
WebrtcStatsOutboundRtp WebRTCStatsType = 3
|
|
// WebrtcStatsRemoteInboundRtp: remote-inbound-rtp.
|
|
WebrtcStatsRemoteInboundRtp WebRTCStatsType = 4
|
|
// WebrtcStatsRemoteOutboundRtp: remote-outbound-rtp.
|
|
WebrtcStatsRemoteOutboundRtp WebRTCStatsType = 5
|
|
// WebrtcStatsCsrc: csrc.
|
|
WebrtcStatsCsrc WebRTCStatsType = 6
|
|
// WebrtcStatsPeerConnection: peer-connection.
|
|
WebrtcStatsPeerConnection WebRTCStatsType = 7
|
|
// WebrtcStatsDataChannel: data-channel.
|
|
WebrtcStatsDataChannel WebRTCStatsType = 8
|
|
// WebrtcStatsStream: stream.
|
|
WebrtcStatsStream WebRTCStatsType = 9
|
|
// WebrtcStatsTransport: transport.
|
|
WebrtcStatsTransport WebRTCStatsType = 10
|
|
// WebrtcStatsCandidatePair: candidate-pair.
|
|
WebrtcStatsCandidatePair WebRTCStatsType = 11
|
|
// WebrtcStatsLocalCandidate: local-candidate.
|
|
WebrtcStatsLocalCandidate WebRTCStatsType = 12
|
|
// WebrtcStatsRemoteCandidate: remote-candidate.
|
|
WebrtcStatsRemoteCandidate WebRTCStatsType = 13
|
|
// WebrtcStatsCertificate: certificate.
|
|
WebrtcStatsCertificate WebRTCStatsType = 14
|
|
)
|
|
|
|
func marshalWebRTCStatsType(p uintptr) (interface{}, error) {
|
|
return WebRTCStatsType(coreglib.ValueFromNative(unsafe.Pointer(p)).Enum()), nil
|
|
}
|
|
|
|
// String returns the name in string for WebRTCStatsType.
|
|
func (w WebRTCStatsType) String() string {
|
|
switch w {
|
|
case WebrtcStatsCodec:
|
|
return "Codec"
|
|
case WebrtcStatsInboundRtp:
|
|
return "InboundRtp"
|
|
case WebrtcStatsOutboundRtp:
|
|
return "OutboundRtp"
|
|
case WebrtcStatsRemoteInboundRtp:
|
|
return "RemoteInboundRtp"
|
|
case WebrtcStatsRemoteOutboundRtp:
|
|
return "RemoteOutboundRtp"
|
|
case WebrtcStatsCsrc:
|
|
return "Csrc"
|
|
case WebrtcStatsPeerConnection:
|
|
return "PeerConnection"
|
|
case WebrtcStatsDataChannel:
|
|
return "DataChannel"
|
|
case WebrtcStatsStream:
|
|
return "Stream"
|
|
case WebrtcStatsTransport:
|
|
return "Transport"
|
|
case WebrtcStatsCandidatePair:
|
|
return "CandidatePair"
|
|
case WebrtcStatsLocalCandidate:
|
|
return "LocalCandidate"
|
|
case WebrtcStatsRemoteCandidate:
|
|
return "RemoteCandidate"
|
|
case WebrtcStatsCertificate:
|
|
return "Certificate"
|
|
default:
|
|
return fmt.Sprintf("WebRTCStatsType(%d)", w)
|
|
}
|
|
}
|
|
|
|
// WebRTCICEOnCandidateFunc: callback function to be triggered on discovery of a
|
|
// new candidate.
|
|
type WebRTCICEOnCandidateFunc func(ice WebRTCICEer, streamId uint, candidate string)
|
|
|
|
type WebRTCDTLSTransport struct {
|
|
_ [0]func() // equal guard
|
|
gst.GstObject
|
|
}
|
|
|
|
var (
|
|
_ gst.GstObjector = (*WebRTCDTLSTransport)(nil)
|
|
)
|
|
|
|
func wrapWebRTCDTLSTransport(obj *coreglib.Object) *WebRTCDTLSTransport {
|
|
return &WebRTCDTLSTransport{
|
|
GstObject: gst.GstObject{
|
|
InitiallyUnowned: coreglib.InitiallyUnowned{
|
|
Object: obj,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCDTLSTransport(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCDTLSTransport(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
type WebRTCDataChannel struct {
|
|
_ [0]func() // equal guard
|
|
*coreglib.Object
|
|
}
|
|
|
|
var (
|
|
_ coreglib.Objector = (*WebRTCDataChannel)(nil)
|
|
)
|
|
|
|
// WebRTCDataChanneller describes types inherited from class WebRTCDataChannel.
|
|
//
|
|
// To get the original type, the caller must assert this to an interface or
|
|
// another type.
|
|
type WebRTCDataChanneller interface {
|
|
coreglib.Objector
|
|
baseWebRTCDataChannel() *WebRTCDataChannel
|
|
}
|
|
|
|
var _ WebRTCDataChanneller = (*WebRTCDataChannel)(nil)
|
|
|
|
func wrapWebRTCDataChannel(obj *coreglib.Object) *WebRTCDataChannel {
|
|
return &WebRTCDataChannel{
|
|
Object: obj,
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCDataChannel(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCDataChannel(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
func (channel *WebRTCDataChannel) baseWebRTCDataChannel() *WebRTCDataChannel {
|
|
return channel
|
|
}
|
|
|
|
// BaseWebRTCDataChannel returns the underlying base object.
|
|
func BaseWebRTCDataChannel(obj WebRTCDataChanneller) *WebRTCDataChannel {
|
|
return obj.baseWebRTCDataChannel()
|
|
}
|
|
|
|
func (channel *WebRTCDataChannel) ConnectOnBufferedAmountLow(f func()) coreglib.SignalHandle {
|
|
return coreglib.ConnectGeneratedClosure(channel, "on-buffered-amount-low", false, unsafe.Pointer(C._gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnBufferedAmountLow), f)
|
|
}
|
|
|
|
func (channel *WebRTCDataChannel) ConnectOnClose(f func()) coreglib.SignalHandle {
|
|
return coreglib.ConnectGeneratedClosure(channel, "on-close", false, unsafe.Pointer(C._gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnClose), f)
|
|
}
|
|
|
|
func (channel *WebRTCDataChannel) ConnectOnError(f func(err error)) coreglib.SignalHandle {
|
|
return coreglib.ConnectGeneratedClosure(channel, "on-error", false, unsafe.Pointer(C._gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnError), f)
|
|
}
|
|
|
|
func (channel *WebRTCDataChannel) ConnectOnMessageData(f func(data *glib.Bytes)) coreglib.SignalHandle {
|
|
return coreglib.ConnectGeneratedClosure(channel, "on-message-data", false, unsafe.Pointer(C._gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnMessageData), f)
|
|
}
|
|
|
|
func (channel *WebRTCDataChannel) ConnectOnMessageString(f func(data string)) coreglib.SignalHandle {
|
|
return coreglib.ConnectGeneratedClosure(channel, "on-message-string", false, unsafe.Pointer(C._gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnMessageString), f)
|
|
}
|
|
|
|
func (channel *WebRTCDataChannel) ConnectOnOpen(f func()) coreglib.SignalHandle {
|
|
return coreglib.ConnectGeneratedClosure(channel, "on-open", false, unsafe.Pointer(C._gotk4_gstwebrtc1_WebRTCDataChannel_ConnectOnOpen), f)
|
|
}
|
|
|
|
// Close the channel.
|
|
func (channel *WebRTCDataChannel) Close() {
|
|
var _arg0 *C.GstWebRTCDataChannel // out
|
|
|
|
_arg0 = (*C.GstWebRTCDataChannel)(unsafe.Pointer(coreglib.BaseObject(channel).Native()))
|
|
|
|
C.gst_webrtc_data_channel_close(_arg0)
|
|
runtime.KeepAlive(channel)
|
|
}
|
|
|
|
// SendData: send data as a data message over channel.
|
|
//
|
|
// The function takes the following parameters:
|
|
//
|
|
// - data (optional) or NULL.
|
|
func (channel *WebRTCDataChannel) SendData(data *glib.Bytes) {
|
|
var _arg0 *C.GstWebRTCDataChannel // out
|
|
var _arg1 *C.GBytes // out
|
|
|
|
_arg0 = (*C.GstWebRTCDataChannel)(unsafe.Pointer(coreglib.BaseObject(channel).Native()))
|
|
if data != nil {
|
|
_arg1 = (*C.GBytes)(gextras.StructNative(unsafe.Pointer(data)))
|
|
}
|
|
|
|
C.gst_webrtc_data_channel_send_data(_arg0, _arg1)
|
|
runtime.KeepAlive(channel)
|
|
runtime.KeepAlive(data)
|
|
}
|
|
|
|
// SendDataFull: send data as a data message over channel.
|
|
//
|
|
// The function takes the following parameters:
|
|
//
|
|
// - data (optional) or NULL.
|
|
func (channel *WebRTCDataChannel) SendDataFull(data *glib.Bytes) error {
|
|
var _arg0 *C.GstWebRTCDataChannel // out
|
|
var _arg1 *C.GBytes // out
|
|
var _cerr *C.GError // in
|
|
|
|
_arg0 = (*C.GstWebRTCDataChannel)(unsafe.Pointer(coreglib.BaseObject(channel).Native()))
|
|
if data != nil {
|
|
_arg1 = (*C.GBytes)(gextras.StructNative(unsafe.Pointer(data)))
|
|
}
|
|
|
|
C.gst_webrtc_data_channel_send_data_full(_arg0, _arg1, &_cerr)
|
|
runtime.KeepAlive(channel)
|
|
runtime.KeepAlive(data)
|
|
|
|
var _goerr error // out
|
|
|
|
if _cerr != nil {
|
|
_goerr = gerror.Take(unsafe.Pointer(_cerr))
|
|
}
|
|
|
|
return _goerr
|
|
}
|
|
|
|
// SendString: send str as a string message over channel.
|
|
//
|
|
// The function takes the following parameters:
|
|
//
|
|
// - str (optional): string or NULL.
|
|
func (channel *WebRTCDataChannel) SendString(str string) {
|
|
var _arg0 *C.GstWebRTCDataChannel // out
|
|
var _arg1 *C.gchar // out
|
|
|
|
_arg0 = (*C.GstWebRTCDataChannel)(unsafe.Pointer(coreglib.BaseObject(channel).Native()))
|
|
if str != "" {
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(str)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
}
|
|
|
|
C.gst_webrtc_data_channel_send_string(_arg0, _arg1)
|
|
runtime.KeepAlive(channel)
|
|
runtime.KeepAlive(str)
|
|
}
|
|
|
|
// SendStringFull: send str as a string message over channel.
|
|
//
|
|
// The function takes the following parameters:
|
|
//
|
|
// - str (optional): string or NULL.
|
|
func (channel *WebRTCDataChannel) SendStringFull(str string) error {
|
|
var _arg0 *C.GstWebRTCDataChannel // out
|
|
var _arg1 *C.gchar // out
|
|
var _cerr *C.GError // in
|
|
|
|
_arg0 = (*C.GstWebRTCDataChannel)(unsafe.Pointer(coreglib.BaseObject(channel).Native()))
|
|
if str != "" {
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(str)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
}
|
|
|
|
C.gst_webrtc_data_channel_send_string_full(_arg0, _arg1, &_cerr)
|
|
runtime.KeepAlive(channel)
|
|
runtime.KeepAlive(str)
|
|
|
|
var _goerr error // out
|
|
|
|
if _cerr != nil {
|
|
_goerr = gerror.Take(unsafe.Pointer(_cerr))
|
|
}
|
|
|
|
return _goerr
|
|
}
|
|
|
|
// WebRTCICEOverrides contains methods that are overridable.
|
|
type WebRTCICEOverrides struct {
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - candidate: ICE candidate.
|
|
// - promise (optional) for task notifications (Since: 1.24).
|
|
AddCandidate func(stream WebRTCICEStreamer, candidate string, promise *gst.Promise)
|
|
// The function takes the following parameters:
|
|
//
|
|
// - sessionId: session id.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICEStream (optional) or NULL.
|
|
AddStream func(sessionId uint) WebRTCICEStreamer
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri: URI of the TURN server.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
AddTurnServer func(uri string) bool
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - component: WebRTCICEComponent.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICETransport (optional) or NULL.
|
|
FindTransport func(stream WebRTCICEStreamer, component WebRTCICEComponent) WebRTCICETransporter
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
GatherCandidates func(stream WebRTCICEStreamer) bool
|
|
// HTTPProxy: get HTTP Proxy to be used when connecting to TURN server.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8: URI of the HTTP proxy of the form
|
|
// http://[username:password@]hostname[:port][?alpn=<alpn>]
|
|
//
|
|
// Get HTTP Proxy to be used when connecting to TURN server.
|
|
HTTPProxy func() string
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: TRUE if set as controller, FALSE otherwise.
|
|
IsController func() bool
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - localStats: pointer to WebRTCICECandidateStats for local candidate.
|
|
// - remoteStats: pointer to WebRTCICECandidateStats for remote candidate.
|
|
// - ok: FALSE on failure, otherwise local_stats remote_stats will be set.
|
|
SelectedPair func(stream WebRTCICEStreamer) (localStats, remoteStats *WebRTCICECandidateStats, ok bool)
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8 (optional): URI of the STUN sever.
|
|
StunServer func() string
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8 (optional): URI of the TURN sever.
|
|
TurnServer func() string
|
|
// The function takes the following parameters:
|
|
//
|
|
// - forceRelay: TRUE to enable force relay.
|
|
SetForceRelay func(forceRelay bool)
|
|
// SetHTTPProxy: set HTTP Proxy to be used when connecting to TURN server.
|
|
//
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri: URI of the HTTP proxy of the form
|
|
// http://[username:password@]hostname[:port][?alpn=<alpn>].
|
|
SetHTTPProxy func(uri string)
|
|
// The function takes the following parameters:
|
|
//
|
|
// - controller: TRUE to set as controller.
|
|
SetIsController func(controller bool)
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - ufrag: ICE username.
|
|
// - pwd: ICE password.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
SetLocalCredentials func(stream WebRTCICEStreamer, ufrag, pwd string) bool
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - ufrag: ICE username.
|
|
// - pwd: ICE password.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
SetRemoteCredentials func(stream WebRTCICEStreamer, ufrag, pwd string) bool
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri (optional): URI of the STUN server.
|
|
SetStunServer func(uri string)
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - tos: toS to be set.
|
|
SetTos func(stream WebRTCICEStreamer, tos uint)
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri (optional): URI of the TURN sever.
|
|
SetTurnServer func(uri string)
|
|
}
|
|
|
|
func defaultWebRTCICEOverrides(v *WebRTCICE) WebRTCICEOverrides {
|
|
return WebRTCICEOverrides{
|
|
AddCandidate: v.addCandidate,
|
|
AddStream: v.addStream,
|
|
AddTurnServer: v.addTurnServer,
|
|
FindTransport: v.findTransport,
|
|
GatherCandidates: v.gatherCandidates,
|
|
HTTPProxy: v.httpProxy,
|
|
IsController: v.isController,
|
|
SelectedPair: v.selectedPair,
|
|
StunServer: v.stunServer,
|
|
TurnServer: v.turnServer,
|
|
SetForceRelay: v.setForceRelay,
|
|
SetHTTPProxy: v.setHTTPProxy,
|
|
SetIsController: v.setIsController,
|
|
SetLocalCredentials: v.setLocalCredentials,
|
|
SetRemoteCredentials: v.setRemoteCredentials,
|
|
SetStunServer: v.setStunServer,
|
|
SetTos: v.setTos,
|
|
SetTurnServer: v.setTurnServer,
|
|
}
|
|
}
|
|
|
|
type WebRTCICE struct {
|
|
_ [0]func() // equal guard
|
|
gst.GstObject
|
|
}
|
|
|
|
var (
|
|
_ gst.GstObjector = (*WebRTCICE)(nil)
|
|
)
|
|
|
|
// WebRTCICEer describes types inherited from class WebRTCICE.
|
|
//
|
|
// To get the original type, the caller must assert this to an interface or
|
|
// another type.
|
|
type WebRTCICEer interface {
|
|
coreglib.Objector
|
|
baseWebRTCICE() *WebRTCICE
|
|
}
|
|
|
|
var _ WebRTCICEer = (*WebRTCICE)(nil)
|
|
|
|
func init() {
|
|
coreglib.RegisterClassInfo[*WebRTCICE, *WebRTCICEClass, WebRTCICEOverrides](
|
|
GTypeWebRTCICE,
|
|
initWebRTCICEClass,
|
|
wrapWebRTCICE,
|
|
defaultWebRTCICEOverrides,
|
|
)
|
|
}
|
|
|
|
func initWebRTCICEClass(gclass unsafe.Pointer, overrides WebRTCICEOverrides, classInitFunc func(*WebRTCICEClass)) {
|
|
pclass := (*C.GstWebRTCICEClass)(unsafe.Pointer(C.g_type_check_class_cast((*C.GTypeClass)(gclass), C.GType(GTypeWebRTCICE))))
|
|
|
|
if overrides.AddCandidate != nil {
|
|
pclass.add_candidate = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_add_candidate)
|
|
}
|
|
|
|
if overrides.AddStream != nil {
|
|
pclass.add_stream = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_add_stream)
|
|
}
|
|
|
|
if overrides.AddTurnServer != nil {
|
|
pclass.add_turn_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_add_turn_server)
|
|
}
|
|
|
|
if overrides.FindTransport != nil {
|
|
pclass.find_transport = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_find_transport)
|
|
}
|
|
|
|
if overrides.GatherCandidates != nil {
|
|
pclass.gather_candidates = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_gather_candidates)
|
|
}
|
|
|
|
if overrides.HTTPProxy != nil {
|
|
pclass.get_http_proxy = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_get_http_proxy)
|
|
}
|
|
|
|
if overrides.IsController != nil {
|
|
pclass.get_is_controller = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_get_is_controller)
|
|
}
|
|
|
|
if overrides.SelectedPair != nil {
|
|
pclass.get_selected_pair = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_get_selected_pair)
|
|
}
|
|
|
|
if overrides.StunServer != nil {
|
|
pclass.get_stun_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_get_stun_server)
|
|
}
|
|
|
|
if overrides.TurnServer != nil {
|
|
pclass.get_turn_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_get_turn_server)
|
|
}
|
|
|
|
if overrides.SetForceRelay != nil {
|
|
pclass.set_force_relay = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_set_force_relay)
|
|
}
|
|
|
|
if overrides.SetHTTPProxy != nil {
|
|
pclass.set_http_proxy = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_set_http_proxy)
|
|
}
|
|
|
|
if overrides.SetIsController != nil {
|
|
pclass.set_is_controller = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_set_is_controller)
|
|
}
|
|
|
|
if overrides.SetLocalCredentials != nil {
|
|
pclass.set_local_credentials = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_set_local_credentials)
|
|
}
|
|
|
|
if overrides.SetRemoteCredentials != nil {
|
|
pclass.set_remote_credentials = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_set_remote_credentials)
|
|
}
|
|
|
|
if overrides.SetStunServer != nil {
|
|
pclass.set_stun_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_set_stun_server)
|
|
}
|
|
|
|
if overrides.SetTos != nil {
|
|
pclass.set_tos = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_set_tos)
|
|
}
|
|
|
|
if overrides.SetTurnServer != nil {
|
|
pclass.set_turn_server = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEClass_set_turn_server)
|
|
}
|
|
|
|
if classInitFunc != nil {
|
|
class := (*WebRTCICEClass)(gextras.NewStructNative(gclass))
|
|
classInitFunc(class)
|
|
}
|
|
}
|
|
|
|
func wrapWebRTCICE(obj *coreglib.Object) *WebRTCICE {
|
|
return &WebRTCICE{
|
|
GstObject: gst.GstObject{
|
|
InitiallyUnowned: coreglib.InitiallyUnowned{
|
|
Object: obj,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCICE(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCICE(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
func (ice *WebRTCICE) baseWebRTCICE() *WebRTCICE {
|
|
return ice
|
|
}
|
|
|
|
// BaseWebRTCICE returns the underlying base object.
|
|
func BaseWebRTCICE(obj WebRTCICEer) *WebRTCICE {
|
|
return obj.baseWebRTCICE()
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - candidate: ICE candidate.
|
|
// - promise (optional) for task notifications (Since: 1.24).
|
|
func (ice *WebRTCICE) AddCandidate(stream WebRTCICEStreamer, candidate string, promise *gst.Promise) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 *C.gchar // out
|
|
var _arg3 *C.GstPromise // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = (*C.gchar)(unsafe.Pointer(C.CString(candidate)))
|
|
defer C.free(unsafe.Pointer(_arg2))
|
|
if promise != nil {
|
|
_arg3 = (*C.GstPromise)(gextras.StructNative(unsafe.Pointer(promise)))
|
|
}
|
|
|
|
C.gst_webrtc_ice_add_candidate(_arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(candidate)
|
|
runtime.KeepAlive(promise)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - sessionId: session id.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICEStream (optional) or NULL.
|
|
func (ice *WebRTCICE) AddStream(sessionId uint) WebRTCICEStreamer {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 C.guint // out
|
|
var _cret *C.GstWebRTCICEStream // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = C.guint(sessionId)
|
|
|
|
_cret = C.gst_webrtc_ice_add_stream(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(sessionId)
|
|
|
|
var _webRTCICEStream WebRTCICEStreamer // out
|
|
|
|
if _cret != nil {
|
|
{
|
|
objptr := unsafe.Pointer(_cret)
|
|
|
|
object := coreglib.AssumeOwnership(objptr)
|
|
casted := object.WalkCast(func(obj coreglib.Objector) bool {
|
|
_, ok := obj.(WebRTCICEStreamer)
|
|
return ok
|
|
})
|
|
rv, ok := casted.(WebRTCICEStreamer)
|
|
if !ok {
|
|
panic("no marshaler for " + object.TypeFromInstance().String() + " matching gstwebrtc.WebRTCICEStreamer")
|
|
}
|
|
_webRTCICEStream = rv
|
|
}
|
|
}
|
|
|
|
return _webRTCICEStream
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri: URI of the TURN server.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICE) AddTurnServer(uri string) bool {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.gchar // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
|
|
_cret = C.gst_webrtc_ice_add_turn_server(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(uri)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - component: WebRTCICEComponent.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICETransport (optional) or NULL.
|
|
func (ice *WebRTCICE) FindTransport(stream WebRTCICEStreamer, component WebRTCICEComponent) WebRTCICETransporter {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 C.GstWebRTCICEComponent // out
|
|
var _cret *C.GstWebRTCICETransport // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = C.GstWebRTCICEComponent(component)
|
|
|
|
_cret = C.gst_webrtc_ice_find_transport(_arg0, _arg1, _arg2)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(component)
|
|
|
|
var _webRTCICETransport WebRTCICETransporter // out
|
|
|
|
if _cret != nil {
|
|
{
|
|
objptr := unsafe.Pointer(_cret)
|
|
|
|
object := coreglib.AssumeOwnership(objptr)
|
|
casted := object.WalkCast(func(obj coreglib.Objector) bool {
|
|
_, ok := obj.(WebRTCICETransporter)
|
|
return ok
|
|
})
|
|
rv, ok := casted.(WebRTCICETransporter)
|
|
if !ok {
|
|
panic("no marshaler for " + object.TypeFromInstance().String() + " matching gstwebrtc.WebRTCICETransporter")
|
|
}
|
|
_webRTCICETransport = rv
|
|
}
|
|
}
|
|
|
|
return _webRTCICETransport
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICE) GatherCandidates(stream WebRTCICEStreamer) bool {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_gather_candidates(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8: URI of the HTTP proxy of the form
|
|
// http://[username:password@]hostname[:port][?alpn=<alpn>]
|
|
//
|
|
// Get HTTP Proxy to be used when connecting to TURN server.
|
|
func (ice *WebRTCICE) HTTPProxy() string {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _cret *C.gchar // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_get_http_proxy(_arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _utf8 string // out
|
|
|
|
_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
|
|
defer C.free(unsafe.Pointer(_cret))
|
|
|
|
return _utf8
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: TRUE if set as controller, FALSE otherwise.
|
|
func (ice *WebRTCICE) IsController() bool {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_get_is_controller(_arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICECandidateStats: list of local candidates.
|
|
func (ice *WebRTCICE) LocalCandidates(stream WebRTCICEStreamer) []*WebRTCICECandidateStats {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _cret **C.GstWebRTCICECandidateStats // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_get_local_candidates(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
|
|
var _webRTCICECandidateStats []*WebRTCICECandidateStats // out
|
|
|
|
defer C.free(unsafe.Pointer(_cret))
|
|
{
|
|
var i int
|
|
var z *C.GstWebRTCICECandidateStats
|
|
for p := _cret; *p != z; p = &unsafe.Slice(p, 2)[1] {
|
|
i++
|
|
}
|
|
|
|
src := unsafe.Slice(_cret, i)
|
|
_webRTCICECandidateStats = make([]*WebRTCICECandidateStats, i)
|
|
for i := range src {
|
|
_webRTCICECandidateStats[i] = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer(src[i])))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_webRTCICECandidateStats[i])),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
}
|
|
}
|
|
|
|
return _webRTCICECandidateStats
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICECandidateStats: list of remote candidates.
|
|
func (ice *WebRTCICE) RemoteCandidates(stream WebRTCICEStreamer) []*WebRTCICECandidateStats {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _cret **C.GstWebRTCICECandidateStats // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_get_remote_candidates(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
|
|
var _webRTCICECandidateStats []*WebRTCICECandidateStats // out
|
|
|
|
defer C.free(unsafe.Pointer(_cret))
|
|
{
|
|
var i int
|
|
var z *C.GstWebRTCICECandidateStats
|
|
for p := _cret; *p != z; p = &unsafe.Slice(p, 2)[1] {
|
|
i++
|
|
}
|
|
|
|
src := unsafe.Slice(_cret, i)
|
|
_webRTCICECandidateStats = make([]*WebRTCICECandidateStats, i)
|
|
for i := range src {
|
|
_webRTCICECandidateStats[i] = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer(src[i])))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_webRTCICECandidateStats[i])),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
}
|
|
}
|
|
|
|
return _webRTCICECandidateStats
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - localStats: pointer to WebRTCICECandidateStats for local candidate.
|
|
// - remoteStats: pointer to WebRTCICECandidateStats for remote candidate.
|
|
// - ok: FALSE on failure, otherwise local_stats remote_stats will be set.
|
|
func (ice *WebRTCICE) SelectedPair(stream WebRTCICEStreamer) (localStats, remoteStats *WebRTCICECandidateStats, ok bool) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 *C.GstWebRTCICECandidateStats // in
|
|
var _arg3 *C.GstWebRTCICECandidateStats // in
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_get_selected_pair(_arg0, _arg1, &_arg2, &_arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
|
|
var _localStats *WebRTCICECandidateStats // out
|
|
var _remoteStats *WebRTCICECandidateStats // out
|
|
var _ok bool // out
|
|
|
|
_localStats = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer(_arg2)))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_localStats)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
_remoteStats = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer(_arg3)))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_remoteStats)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _localStats, _remoteStats, _ok
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8 (optional): URI of the STUN sever.
|
|
func (ice *WebRTCICE) StunServer() string {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _cret *C.gchar // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_get_stun_server(_arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _utf8 string // out
|
|
|
|
if _cret != nil {
|
|
_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
|
|
defer C.free(unsafe.Pointer(_cret))
|
|
}
|
|
|
|
return _utf8
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8 (optional): URI of the TURN sever.
|
|
func (ice *WebRTCICE) TurnServer() string {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _cret *C.gchar // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_get_turn_server(_arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _utf8 string // out
|
|
|
|
if _cret != nil {
|
|
_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
|
|
defer C.free(unsafe.Pointer(_cret))
|
|
}
|
|
|
|
return _utf8
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - forceRelay: TRUE to enable force relay.
|
|
func (ice *WebRTCICE) SetForceRelay(forceRelay bool) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 C.gboolean // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
if forceRelay {
|
|
_arg1 = C.TRUE
|
|
}
|
|
|
|
C.gst_webrtc_ice_set_force_relay(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(forceRelay)
|
|
}
|
|
|
|
// SetHTTPProxy: set HTTP Proxy to be used when connecting to TURN server.
|
|
//
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri: URI of the HTTP proxy of the form
|
|
// http://[username:password@]hostname[:port][?alpn=<alpn>].
|
|
func (ice *WebRTCICE) SetHTTPProxy(uri string) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.gchar // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
|
|
C.gst_webrtc_ice_set_http_proxy(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(uri)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - controller: TRUE to set as controller.
|
|
func (ice *WebRTCICE) SetIsController(controller bool) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 C.gboolean // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
if controller {
|
|
_arg1 = C.TRUE
|
|
}
|
|
|
|
C.gst_webrtc_ice_set_is_controller(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(controller)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - ufrag: ICE username.
|
|
// - pwd: ICE password.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICE) SetLocalCredentials(stream WebRTCICEStreamer, ufrag, pwd string) bool {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 *C.gchar // out
|
|
var _arg3 *C.gchar // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = (*C.gchar)(unsafe.Pointer(C.CString(ufrag)))
|
|
defer C.free(unsafe.Pointer(_arg2))
|
|
_arg3 = (*C.gchar)(unsafe.Pointer(C.CString(pwd)))
|
|
defer C.free(unsafe.Pointer(_arg3))
|
|
|
|
_cret = C.gst_webrtc_ice_set_local_credentials(_arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(ufrag)
|
|
runtime.KeepAlive(pwd)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - fn callback function.
|
|
func (ice *WebRTCICE) SetOnIceCandidate(fn WebRTCICEOnCandidateFunc) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 C.GstWebRTCICEOnCandidateFunc // out
|
|
var _arg2 C.gpointer
|
|
var _arg3 C.GDestroyNotify
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEOnCandidateFunc)
|
|
_arg2 = C.gpointer(gbox.Assign(fn))
|
|
_arg3 = (C.GDestroyNotify)((*[0]byte)(C.callbackDelete))
|
|
|
|
C.gst_webrtc_ice_set_on_ice_candidate(_arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(fn)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - ufrag: ICE username.
|
|
// - pwd: ICE password.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICE) SetRemoteCredentials(stream WebRTCICEStreamer, ufrag, pwd string) bool {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 *C.gchar // out
|
|
var _arg3 *C.gchar // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = (*C.gchar)(unsafe.Pointer(C.CString(ufrag)))
|
|
defer C.free(unsafe.Pointer(_arg2))
|
|
_arg3 = (*C.gchar)(unsafe.Pointer(C.CString(pwd)))
|
|
defer C.free(unsafe.Pointer(_arg3))
|
|
|
|
_cret = C.gst_webrtc_ice_set_remote_credentials(_arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(ufrag)
|
|
runtime.KeepAlive(pwd)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri (optional): URI of the STUN server.
|
|
func (ice *WebRTCICE) SetStunServer(uri string) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.gchar // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
if uri != "" {
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
}
|
|
|
|
C.gst_webrtc_ice_set_stun_server(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(uri)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - tos: toS to be set.
|
|
func (ice *WebRTCICE) SetTos(stream WebRTCICEStreamer, tos uint) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 C.guint // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = C.guint(tos)
|
|
|
|
C.gst_webrtc_ice_set_tos(_arg0, _arg1, _arg2)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(tos)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri (optional): URI of the TURN sever.
|
|
func (ice *WebRTCICE) SetTurnServer(uri string) {
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.gchar // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
if uri != "" {
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
}
|
|
|
|
C.gst_webrtc_ice_set_turn_server(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(uri)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - candidate: ICE candidate.
|
|
// - promise (optional) for task notifications (Since: 1.24).
|
|
func (ice *WebRTCICE) addCandidate(stream WebRTCICEStreamer, candidate string, promise *gst.Promise) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.add_candidate
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 *C.gchar // out
|
|
var _arg3 *C.GstPromise // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = (*C.gchar)(unsafe.Pointer(C.CString(candidate)))
|
|
defer C.free(unsafe.Pointer(_arg2))
|
|
if promise != nil {
|
|
_arg3 = (*C.GstPromise)(gextras.StructNative(unsafe.Pointer(promise)))
|
|
}
|
|
|
|
C._gotk4_gstwebrtc1_WebRTCICE_virtual_add_candidate(unsafe.Pointer(fnarg), _arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(candidate)
|
|
runtime.KeepAlive(promise)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - sessionId: session id.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICEStream (optional) or NULL.
|
|
func (ice *WebRTCICE) addStream(sessionId uint) WebRTCICEStreamer {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.add_stream
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 C.guint // out
|
|
var _cret *C.GstWebRTCICEStream // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = C.guint(sessionId)
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_add_stream(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(sessionId)
|
|
|
|
var _webRTCICEStream WebRTCICEStreamer // out
|
|
|
|
if _cret != nil {
|
|
{
|
|
objptr := unsafe.Pointer(_cret)
|
|
|
|
object := coreglib.AssumeOwnership(objptr)
|
|
casted := object.WalkCast(func(obj coreglib.Objector) bool {
|
|
_, ok := obj.(WebRTCICEStreamer)
|
|
return ok
|
|
})
|
|
rv, ok := casted.(WebRTCICEStreamer)
|
|
if !ok {
|
|
panic("no marshaler for " + object.TypeFromInstance().String() + " matching gstwebrtc.WebRTCICEStreamer")
|
|
}
|
|
_webRTCICEStream = rv
|
|
}
|
|
}
|
|
|
|
return _webRTCICEStream
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri: URI of the TURN server.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICE) addTurnServer(uri string) bool {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.add_turn_server
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.gchar // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_add_turn_server(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(uri)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - component: WebRTCICEComponent.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICETransport (optional) or NULL.
|
|
func (ice *WebRTCICE) findTransport(stream WebRTCICEStreamer, component WebRTCICEComponent) WebRTCICETransporter {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.find_transport
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 C.GstWebRTCICEComponent // out
|
|
var _cret *C.GstWebRTCICETransport // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = C.GstWebRTCICEComponent(component)
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_find_transport(unsafe.Pointer(fnarg), _arg0, _arg1, _arg2)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(component)
|
|
|
|
var _webRTCICETransport WebRTCICETransporter // out
|
|
|
|
if _cret != nil {
|
|
{
|
|
objptr := unsafe.Pointer(_cret)
|
|
|
|
object := coreglib.AssumeOwnership(objptr)
|
|
casted := object.WalkCast(func(obj coreglib.Objector) bool {
|
|
_, ok := obj.(WebRTCICETransporter)
|
|
return ok
|
|
})
|
|
rv, ok := casted.(WebRTCICETransporter)
|
|
if !ok {
|
|
panic("no marshaler for " + object.TypeFromInstance().String() + " matching gstwebrtc.WebRTCICETransporter")
|
|
}
|
|
_webRTCICETransport = rv
|
|
}
|
|
}
|
|
|
|
return _webRTCICETransport
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICE) gatherCandidates(stream WebRTCICEStreamer) bool {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.gather_candidates
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_gather_candidates(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// httpProxy: get HTTP Proxy to be used when connecting to TURN server.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8: URI of the HTTP proxy of the form
|
|
// http://[username:password@]hostname[:port][?alpn=<alpn>]
|
|
//
|
|
// Get HTTP Proxy to be used when connecting to TURN server.
|
|
func (ice *WebRTCICE) httpProxy() string {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.get_http_proxy
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _cret *C.gchar // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_get_http_proxy(unsafe.Pointer(fnarg), _arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _utf8 string // out
|
|
|
|
_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
|
|
defer C.free(unsafe.Pointer(_cret))
|
|
|
|
return _utf8
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: TRUE if set as controller, FALSE otherwise.
|
|
func (ice *WebRTCICE) isController() bool {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.get_is_controller
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_get_is_controller(unsafe.Pointer(fnarg), _arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
func (ice *WebRTCICE) localCandidates(stream WebRTCICEStreamer) *WebRTCICECandidateStats {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.get_local_candidates
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _cret **C.GstWebRTCICECandidateStats // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_get_local_candidates(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
|
|
var _webRTCICECandidateStats *WebRTCICECandidateStats // out
|
|
|
|
_webRTCICECandidateStats = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer((*_cret))))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_webRTCICECandidateStats)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
|
|
return _webRTCICECandidateStats
|
|
}
|
|
|
|
func (ice *WebRTCICE) remoteCandidates(stream WebRTCICEStreamer) *WebRTCICECandidateStats {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.get_remote_candidates
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _cret **C.GstWebRTCICECandidateStats // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_get_remote_candidates(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
|
|
var _webRTCICECandidateStats *WebRTCICECandidateStats // out
|
|
|
|
_webRTCICECandidateStats = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer((*_cret))))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_webRTCICECandidateStats)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
|
|
return _webRTCICECandidateStats
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - localStats: pointer to WebRTCICECandidateStats for local candidate.
|
|
// - remoteStats: pointer to WebRTCICECandidateStats for remote candidate.
|
|
// - ok: FALSE on failure, otherwise local_stats remote_stats will be set.
|
|
func (ice *WebRTCICE) selectedPair(stream WebRTCICEStreamer) (localStats, remoteStats *WebRTCICECandidateStats, ok bool) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.get_selected_pair
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 *C.GstWebRTCICECandidateStats // in
|
|
var _arg3 *C.GstWebRTCICECandidateStats // in
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_get_selected_pair(unsafe.Pointer(fnarg), _arg0, _arg1, &_arg2, &_arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
|
|
var _localStats *WebRTCICECandidateStats // out
|
|
var _remoteStats *WebRTCICECandidateStats // out
|
|
var _ok bool // out
|
|
|
|
_localStats = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer(_arg2)))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_localStats)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
_remoteStats = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer(_arg3)))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_remoteStats)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _localStats, _remoteStats, _ok
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8 (optional): URI of the STUN sever.
|
|
func (ice *WebRTCICE) stunServer() string {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.get_stun_server
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _cret *C.gchar // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_get_stun_server(unsafe.Pointer(fnarg), _arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _utf8 string // out
|
|
|
|
if _cret != nil {
|
|
_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
|
|
defer C.free(unsafe.Pointer(_cret))
|
|
}
|
|
|
|
return _utf8
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - utf8 (optional): URI of the TURN sever.
|
|
func (ice *WebRTCICE) turnServer() string {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.get_turn_server
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _cret *C.gchar // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_get_turn_server(unsafe.Pointer(fnarg), _arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _utf8 string // out
|
|
|
|
if _cret != nil {
|
|
_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
|
|
defer C.free(unsafe.Pointer(_cret))
|
|
}
|
|
|
|
return _utf8
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - forceRelay: TRUE to enable force relay.
|
|
func (ice *WebRTCICE) setForceRelay(forceRelay bool) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_force_relay
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 C.gboolean // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
if forceRelay {
|
|
_arg1 = C.TRUE
|
|
}
|
|
|
|
C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_force_relay(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(forceRelay)
|
|
}
|
|
|
|
// setHTTPProxy: set HTTP Proxy to be used when connecting to TURN server.
|
|
//
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri: URI of the HTTP proxy of the form
|
|
// http://[username:password@]hostname[:port][?alpn=<alpn>].
|
|
func (ice *WebRTCICE) setHTTPProxy(uri string) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_http_proxy
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.gchar // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
|
|
C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_http_proxy(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(uri)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - controller: TRUE to set as controller.
|
|
func (ice *WebRTCICE) setIsController(controller bool) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_is_controller
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 C.gboolean // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
if controller {
|
|
_arg1 = C.TRUE
|
|
}
|
|
|
|
C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_is_controller(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(controller)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - ufrag: ICE username.
|
|
// - pwd: ICE password.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICE) setLocalCredentials(stream WebRTCICEStreamer, ufrag, pwd string) bool {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_local_credentials
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 *C.gchar // out
|
|
var _arg3 *C.gchar // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = (*C.gchar)(unsafe.Pointer(C.CString(ufrag)))
|
|
defer C.free(unsafe.Pointer(_arg2))
|
|
_arg3 = (*C.gchar)(unsafe.Pointer(C.CString(pwd)))
|
|
defer C.free(unsafe.Pointer(_arg3))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_local_credentials(unsafe.Pointer(fnarg), _arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(ufrag)
|
|
runtime.KeepAlive(pwd)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - fn callback function.
|
|
func (ice *WebRTCICE) setOnIceCandidate(fn WebRTCICEOnCandidateFunc) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_on_ice_candidate
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 C.GstWebRTCICEOnCandidateFunc // out
|
|
var _arg2 C.gpointer
|
|
var _arg3 C.GDestroyNotify
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEOnCandidateFunc)
|
|
_arg2 = C.gpointer(gbox.Assign(fn))
|
|
_arg3 = (C.GDestroyNotify)((*[0]byte)(C.callbackDelete))
|
|
|
|
C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_on_ice_candidate(unsafe.Pointer(fnarg), _arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(fn)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - ufrag: ICE username.
|
|
// - pwd: ICE password.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICE) setRemoteCredentials(stream WebRTCICEStreamer, ufrag, pwd string) bool {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_remote_credentials
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 *C.gchar // out
|
|
var _arg3 *C.gchar // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = (*C.gchar)(unsafe.Pointer(C.CString(ufrag)))
|
|
defer C.free(unsafe.Pointer(_arg2))
|
|
_arg3 = (*C.gchar)(unsafe.Pointer(C.CString(pwd)))
|
|
defer C.free(unsafe.Pointer(_arg3))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_remote_credentials(unsafe.Pointer(fnarg), _arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(ufrag)
|
|
runtime.KeepAlive(pwd)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri (optional): URI of the STUN server.
|
|
func (ice *WebRTCICE) setStunServer(uri string) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_stun_server
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.gchar // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
if uri != "" {
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
}
|
|
|
|
C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_stun_server(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(uri)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - stream: WebRTCICEStream.
|
|
// - tos: toS to be set.
|
|
func (ice *WebRTCICE) setTos(stream WebRTCICEStreamer, tos uint) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_tos
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.GstWebRTCICEStream // out
|
|
var _arg2 C.guint // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg2 = C.guint(tos)
|
|
|
|
C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_tos(unsafe.Pointer(fnarg), _arg0, _arg1, _arg2)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(tos)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - uri (optional): URI of the TURN sever.
|
|
func (ice *WebRTCICE) setTurnServer(uri string) {
|
|
gclass := (*C.GstWebRTCICEClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.set_turn_server
|
|
|
|
var _arg0 *C.GstWebRTCICE // out
|
|
var _arg1 *C.gchar // out
|
|
|
|
_arg0 = (*C.GstWebRTCICE)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
if uri != "" {
|
|
_arg1 = (*C.gchar)(unsafe.Pointer(C.CString(uri)))
|
|
defer C.free(unsafe.Pointer(_arg1))
|
|
}
|
|
|
|
C._gotk4_gstwebrtc1_WebRTCICE_virtual_set_turn_server(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(uri)
|
|
}
|
|
|
|
// WebRTCICEStreamOverrides contains methods that are overridable.
|
|
type WebRTCICEStreamOverrides struct {
|
|
// The function takes the following parameters:
|
|
//
|
|
// - component: WebRTCICEComponent.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICETransport (optional) or NULL.
|
|
FindTransport func(component WebRTCICEComponent) WebRTCICETransporter
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
GatherCandidates func() bool
|
|
}
|
|
|
|
func defaultWebRTCICEStreamOverrides(v *WebRTCICEStream) WebRTCICEStreamOverrides {
|
|
return WebRTCICEStreamOverrides{
|
|
FindTransport: v.findTransport,
|
|
GatherCandidates: v.gatherCandidates,
|
|
}
|
|
}
|
|
|
|
type WebRTCICEStream struct {
|
|
_ [0]func() // equal guard
|
|
gst.GstObject
|
|
}
|
|
|
|
var (
|
|
_ gst.GstObjector = (*WebRTCICEStream)(nil)
|
|
)
|
|
|
|
// WebRTCICEStreamer describes types inherited from class WebRTCICEStream.
|
|
//
|
|
// To get the original type, the caller must assert this to an interface or
|
|
// another type.
|
|
type WebRTCICEStreamer interface {
|
|
coreglib.Objector
|
|
baseWebRTCICEStream() *WebRTCICEStream
|
|
}
|
|
|
|
var _ WebRTCICEStreamer = (*WebRTCICEStream)(nil)
|
|
|
|
func init() {
|
|
coreglib.RegisterClassInfo[*WebRTCICEStream, *WebRTCICEStreamClass, WebRTCICEStreamOverrides](
|
|
GTypeWebRTCICEStream,
|
|
initWebRTCICEStreamClass,
|
|
wrapWebRTCICEStream,
|
|
defaultWebRTCICEStreamOverrides,
|
|
)
|
|
}
|
|
|
|
func initWebRTCICEStreamClass(gclass unsafe.Pointer, overrides WebRTCICEStreamOverrides, classInitFunc func(*WebRTCICEStreamClass)) {
|
|
pclass := (*C.GstWebRTCICEStreamClass)(unsafe.Pointer(C.g_type_check_class_cast((*C.GTypeClass)(gclass), C.GType(GTypeWebRTCICEStream))))
|
|
|
|
if overrides.FindTransport != nil {
|
|
pclass.find_transport = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEStreamClass_find_transport)
|
|
}
|
|
|
|
if overrides.GatherCandidates != nil {
|
|
pclass.gather_candidates = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICEStreamClass_gather_candidates)
|
|
}
|
|
|
|
if classInitFunc != nil {
|
|
class := (*WebRTCICEStreamClass)(gextras.NewStructNative(gclass))
|
|
classInitFunc(class)
|
|
}
|
|
}
|
|
|
|
func wrapWebRTCICEStream(obj *coreglib.Object) *WebRTCICEStream {
|
|
return &WebRTCICEStream{
|
|
GstObject: gst.GstObject{
|
|
InitiallyUnowned: coreglib.InitiallyUnowned{
|
|
Object: obj,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCICEStream(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCICEStream(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
func (stream *WebRTCICEStream) baseWebRTCICEStream() *WebRTCICEStream {
|
|
return stream
|
|
}
|
|
|
|
// BaseWebRTCICEStream returns the underlying base object.
|
|
func BaseWebRTCICEStream(obj WebRTCICEStreamer) *WebRTCICEStream {
|
|
return obj.baseWebRTCICEStream()
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - component: WebRTCICEComponent.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICETransport (optional) or NULL.
|
|
func (stream *WebRTCICEStream) FindTransport(component WebRTCICEComponent) WebRTCICETransporter {
|
|
var _arg0 *C.GstWebRTCICEStream // out
|
|
var _arg1 C.GstWebRTCICEComponent // out
|
|
var _cret *C.GstWebRTCICETransport // in
|
|
|
|
_arg0 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg1 = C.GstWebRTCICEComponent(component)
|
|
|
|
_cret = C.gst_webrtc_ice_stream_find_transport(_arg0, _arg1)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(component)
|
|
|
|
var _webRTCICETransport WebRTCICETransporter // out
|
|
|
|
if _cret != nil {
|
|
{
|
|
objptr := unsafe.Pointer(_cret)
|
|
|
|
object := coreglib.AssumeOwnership(objptr)
|
|
casted := object.WalkCast(func(obj coreglib.Objector) bool {
|
|
_, ok := obj.(WebRTCICETransporter)
|
|
return ok
|
|
})
|
|
rv, ok := casted.(WebRTCICETransporter)
|
|
if !ok {
|
|
panic("no marshaler for " + object.TypeFromInstance().String() + " matching gstwebrtc.WebRTCICETransporter")
|
|
}
|
|
_webRTCICETransport = rv
|
|
}
|
|
}
|
|
|
|
return _webRTCICETransport
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICEStream) GatherCandidates() bool {
|
|
var _arg0 *C.GstWebRTCICEStream // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C.gst_webrtc_ice_stream_gather_candidates(_arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - component: WebRTCICEComponent.
|
|
//
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICETransport (optional) or NULL.
|
|
func (stream *WebRTCICEStream) findTransport(component WebRTCICEComponent) WebRTCICETransporter {
|
|
gclass := (*C.GstWebRTCICEStreamClass)(coreglib.PeekParentClass(stream))
|
|
fnarg := gclass.find_transport
|
|
|
|
var _arg0 *C.GstWebRTCICEStream // out
|
|
var _arg1 C.GstWebRTCICEComponent // out
|
|
var _cret *C.GstWebRTCICETransport // in
|
|
|
|
_arg0 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(stream).Native()))
|
|
_arg1 = C.GstWebRTCICEComponent(component)
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICEStream_virtual_find_transport(unsafe.Pointer(fnarg), _arg0, _arg1)
|
|
runtime.KeepAlive(stream)
|
|
runtime.KeepAlive(component)
|
|
|
|
var _webRTCICETransport WebRTCICETransporter // out
|
|
|
|
if _cret != nil {
|
|
{
|
|
objptr := unsafe.Pointer(_cret)
|
|
|
|
object := coreglib.AssumeOwnership(objptr)
|
|
casted := object.WalkCast(func(obj coreglib.Objector) bool {
|
|
_, ok := obj.(WebRTCICETransporter)
|
|
return ok
|
|
})
|
|
rv, ok := casted.(WebRTCICETransporter)
|
|
if !ok {
|
|
panic("no marshaler for " + object.TypeFromInstance().String() + " matching gstwebrtc.WebRTCICETransporter")
|
|
}
|
|
_webRTCICETransport = rv
|
|
}
|
|
}
|
|
|
|
return _webRTCICETransport
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - ok: FALSE on error, TRUE otherwise.
|
|
func (ice *WebRTCICEStream) gatherCandidates() bool {
|
|
gclass := (*C.GstWebRTCICEStreamClass)(coreglib.PeekParentClass(ice))
|
|
fnarg := gclass.gather_candidates
|
|
|
|
var _arg0 *C.GstWebRTCICEStream // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICEStream)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICEStream_virtual_gather_candidates(unsafe.Pointer(fnarg), _arg0)
|
|
runtime.KeepAlive(ice)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// WebRTCICETransportOverrides contains methods that are overridable.
|
|
type WebRTCICETransportOverrides struct {
|
|
GatherCandidates func() bool
|
|
}
|
|
|
|
func defaultWebRTCICETransportOverrides(v *WebRTCICETransport) WebRTCICETransportOverrides {
|
|
return WebRTCICETransportOverrides{
|
|
GatherCandidates: v.gatherCandidates,
|
|
}
|
|
}
|
|
|
|
type WebRTCICETransport struct {
|
|
_ [0]func() // equal guard
|
|
gst.GstObject
|
|
}
|
|
|
|
var (
|
|
_ gst.GstObjector = (*WebRTCICETransport)(nil)
|
|
)
|
|
|
|
// WebRTCICETransporter describes types inherited from class WebRTCICETransport.
|
|
//
|
|
// To get the original type, the caller must assert this to an interface or
|
|
// another type.
|
|
type WebRTCICETransporter interface {
|
|
coreglib.Objector
|
|
baseWebRTCICETransport() *WebRTCICETransport
|
|
}
|
|
|
|
var _ WebRTCICETransporter = (*WebRTCICETransport)(nil)
|
|
|
|
func init() {
|
|
coreglib.RegisterClassInfo[*WebRTCICETransport, *WebRTCICETransportClass, WebRTCICETransportOverrides](
|
|
GTypeWebRTCICETransport,
|
|
initWebRTCICETransportClass,
|
|
wrapWebRTCICETransport,
|
|
defaultWebRTCICETransportOverrides,
|
|
)
|
|
}
|
|
|
|
func initWebRTCICETransportClass(gclass unsafe.Pointer, overrides WebRTCICETransportOverrides, classInitFunc func(*WebRTCICETransportClass)) {
|
|
pclass := (*C.GstWebRTCICETransportClass)(unsafe.Pointer(C.g_type_check_class_cast((*C.GTypeClass)(gclass), C.GType(GTypeWebRTCICETransport))))
|
|
|
|
if overrides.GatherCandidates != nil {
|
|
pclass.gather_candidates = (*[0]byte)(C._gotk4_gstwebrtc1_WebRTCICETransportClass_gather_candidates)
|
|
}
|
|
|
|
if classInitFunc != nil {
|
|
class := (*WebRTCICETransportClass)(gextras.NewStructNative(gclass))
|
|
classInitFunc(class)
|
|
}
|
|
}
|
|
|
|
func wrapWebRTCICETransport(obj *coreglib.Object) *WebRTCICETransport {
|
|
return &WebRTCICETransport{
|
|
GstObject: gst.GstObject{
|
|
InitiallyUnowned: coreglib.InitiallyUnowned{
|
|
Object: obj,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCICETransport(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCICETransport(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
func (ice *WebRTCICETransport) baseWebRTCICETransport() *WebRTCICETransport {
|
|
return ice
|
|
}
|
|
|
|
// BaseWebRTCICETransport returns the underlying base object.
|
|
func BaseWebRTCICETransport(obj WebRTCICETransporter) *WebRTCICETransport {
|
|
return obj.baseWebRTCICETransport()
|
|
}
|
|
|
|
func (ice *WebRTCICETransport) ConnectOnNewCandidate(f func(object string)) coreglib.SignalHandle {
|
|
return coreglib.ConnectGeneratedClosure(ice, "on-new-candidate", false, unsafe.Pointer(C._gotk4_gstwebrtc1_WebRTCICETransport_ConnectOnNewCandidate), f)
|
|
}
|
|
|
|
func (ice *WebRTCICETransport) ConnectOnSelectedCandidatePairChange(f func()) coreglib.SignalHandle {
|
|
return coreglib.ConnectGeneratedClosure(ice, "on-selected-candidate-pair-change", false, unsafe.Pointer(C._gotk4_gstwebrtc1_WebRTCICETransport_ConnectOnSelectedCandidatePairChange), f)
|
|
}
|
|
|
|
func (ice *WebRTCICETransport) ConnectionStateChange(newState WebRTCICEConnectionState) {
|
|
var _arg0 *C.GstWebRTCICETransport // out
|
|
var _arg1 C.GstWebRTCICEConnectionState // out
|
|
|
|
_arg0 = (*C.GstWebRTCICETransport)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = C.GstWebRTCICEConnectionState(newState)
|
|
|
|
C.gst_webrtc_ice_transport_connection_state_change(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(newState)
|
|
}
|
|
|
|
func (ice *WebRTCICETransport) GatheringStateChange(newState WebRTCICEGatheringState) {
|
|
var _arg0 *C.GstWebRTCICETransport // out
|
|
var _arg1 C.GstWebRTCICEGatheringState // out
|
|
|
|
_arg0 = (*C.GstWebRTCICETransport)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = C.GstWebRTCICEGatheringState(newState)
|
|
|
|
C.gst_webrtc_ice_transport_gathering_state_change(_arg0, _arg1)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(newState)
|
|
}
|
|
|
|
// The function takes the following parameters:
|
|
//
|
|
// - streamId
|
|
// - component
|
|
// - attr
|
|
func (ice *WebRTCICETransport) NewCandidate(streamId uint, component WebRTCICEComponent, attr string) {
|
|
var _arg0 *C.GstWebRTCICETransport // out
|
|
var _arg1 C.guint // out
|
|
var _arg2 C.GstWebRTCICEComponent // out
|
|
var _arg3 *C.gchar // out
|
|
|
|
_arg0 = (*C.GstWebRTCICETransport)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
_arg1 = C.guint(streamId)
|
|
_arg2 = C.GstWebRTCICEComponent(component)
|
|
_arg3 = (*C.gchar)(unsafe.Pointer(C.CString(attr)))
|
|
defer C.free(unsafe.Pointer(_arg3))
|
|
|
|
C.gst_webrtc_ice_transport_new_candidate(_arg0, _arg1, _arg2, _arg3)
|
|
runtime.KeepAlive(ice)
|
|
runtime.KeepAlive(streamId)
|
|
runtime.KeepAlive(component)
|
|
runtime.KeepAlive(attr)
|
|
}
|
|
|
|
func (ice *WebRTCICETransport) SelectedPairChange() {
|
|
var _arg0 *C.GstWebRTCICETransport // out
|
|
|
|
_arg0 = (*C.GstWebRTCICETransport)(unsafe.Pointer(coreglib.BaseObject(ice).Native()))
|
|
|
|
C.gst_webrtc_ice_transport_selected_pair_change(_arg0)
|
|
runtime.KeepAlive(ice)
|
|
}
|
|
|
|
func (transport *WebRTCICETransport) gatherCandidates() bool {
|
|
gclass := (*C.GstWebRTCICETransportClass)(coreglib.PeekParentClass(transport))
|
|
fnarg := gclass.gather_candidates
|
|
|
|
var _arg0 *C.GstWebRTCICETransport // out
|
|
var _cret C.gboolean // in
|
|
|
|
_arg0 = (*C.GstWebRTCICETransport)(unsafe.Pointer(coreglib.BaseObject(transport).Native()))
|
|
|
|
_cret = C._gotk4_gstwebrtc1_WebRTCICETransport_virtual_gather_candidates(unsafe.Pointer(fnarg), _arg0)
|
|
runtime.KeepAlive(transport)
|
|
|
|
var _ok bool // out
|
|
|
|
if _cret != 0 {
|
|
_ok = true
|
|
}
|
|
|
|
return _ok
|
|
}
|
|
|
|
// WebRTCRTPReceiver: object to track the receiving aspect of the stream
|
|
//
|
|
// Mostly matches the WebRTC RTCRtpReceiver interface.
|
|
type WebRTCRTPReceiver struct {
|
|
_ [0]func() // equal guard
|
|
gst.GstObject
|
|
}
|
|
|
|
var (
|
|
_ gst.GstObjector = (*WebRTCRTPReceiver)(nil)
|
|
)
|
|
|
|
func wrapWebRTCRTPReceiver(obj *coreglib.Object) *WebRTCRTPReceiver {
|
|
return &WebRTCRTPReceiver{
|
|
GstObject: gst.GstObject{
|
|
InitiallyUnowned: coreglib.InitiallyUnowned{
|
|
Object: obj,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCRTPReceiver(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCRTPReceiver(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
// WebRTCRTPSender: object to track the sending aspect of the stream
|
|
//
|
|
// Mostly matches the WebRTC RTCRtpSender interface.
|
|
type WebRTCRTPSender struct {
|
|
_ [0]func() // equal guard
|
|
gst.GstObject
|
|
}
|
|
|
|
var (
|
|
_ gst.GstObjector = (*WebRTCRTPSender)(nil)
|
|
)
|
|
|
|
func wrapWebRTCRTPSender(obj *coreglib.Object) *WebRTCRTPSender {
|
|
return &WebRTCRTPSender{
|
|
GstObject: gst.GstObject{
|
|
InitiallyUnowned: coreglib.InitiallyUnowned{
|
|
Object: obj,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCRTPSender(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCRTPSender(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
// SetPriority 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.
|
|
//
|
|
// The function takes the following parameters:
|
|
//
|
|
// - priority of this sender.
|
|
func (sender *WebRTCRTPSender) SetPriority(priority WebRTCPriorityType) {
|
|
var _arg0 *C.GstWebRTCRTPSender // out
|
|
var _arg1 C.GstWebRTCPriorityType // out
|
|
|
|
_arg0 = (*C.GstWebRTCRTPSender)(unsafe.Pointer(coreglib.BaseObject(sender).Native()))
|
|
_arg1 = C.GstWebRTCPriorityType(priority)
|
|
|
|
C.gst_webrtc_rtp_sender_set_priority(_arg0, _arg1)
|
|
runtime.KeepAlive(sender)
|
|
runtime.KeepAlive(priority)
|
|
}
|
|
|
|
// WebRTCRTPTransceiver: mostly matches the WebRTC RTCRtpTransceiver interface.
|
|
type WebRTCRTPTransceiver struct {
|
|
_ [0]func() // equal guard
|
|
gst.GstObject
|
|
}
|
|
|
|
var (
|
|
_ gst.GstObjector = (*WebRTCRTPTransceiver)(nil)
|
|
)
|
|
|
|
// WebRTCRTPTransceiverer describes types inherited from class WebRTCRTPTransceiver.
|
|
//
|
|
// To get the original type, the caller must assert this to an interface or
|
|
// another type.
|
|
type WebRTCRTPTransceiverer interface {
|
|
coreglib.Objector
|
|
baseWebRTCRTPTransceiver() *WebRTCRTPTransceiver
|
|
}
|
|
|
|
var _ WebRTCRTPTransceiverer = (*WebRTCRTPTransceiver)(nil)
|
|
|
|
func wrapWebRTCRTPTransceiver(obj *coreglib.Object) *WebRTCRTPTransceiver {
|
|
return &WebRTCRTPTransceiver{
|
|
GstObject: gst.GstObject{
|
|
InitiallyUnowned: coreglib.InitiallyUnowned{
|
|
Object: obj,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCRTPTransceiver(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCRTPTransceiver(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
func (v *WebRTCRTPTransceiver) baseWebRTCRTPTransceiver() *WebRTCRTPTransceiver {
|
|
return v
|
|
}
|
|
|
|
// BaseWebRTCRTPTransceiver returns the underlying base object.
|
|
func BaseWebRTCRTPTransceiver(obj WebRTCRTPTransceiverer) *WebRTCRTPTransceiver {
|
|
return obj.baseWebRTCRTPTransceiver()
|
|
}
|
|
|
|
type WebRTCSCTPTransport struct {
|
|
_ [0]func() // equal guard
|
|
gst.GstObject
|
|
}
|
|
|
|
var (
|
|
_ gst.GstObjector = (*WebRTCSCTPTransport)(nil)
|
|
)
|
|
|
|
// WebRTCSCTPTransporter describes types inherited from class WebRTCSCTPTransport.
|
|
//
|
|
// To get the original type, the caller must assert this to an interface or
|
|
// another type.
|
|
type WebRTCSCTPTransporter interface {
|
|
coreglib.Objector
|
|
baseWebRTCSCTPTransport() *WebRTCSCTPTransport
|
|
}
|
|
|
|
var _ WebRTCSCTPTransporter = (*WebRTCSCTPTransport)(nil)
|
|
|
|
func wrapWebRTCSCTPTransport(obj *coreglib.Object) *WebRTCSCTPTransport {
|
|
return &WebRTCSCTPTransport{
|
|
GstObject: gst.GstObject{
|
|
InitiallyUnowned: coreglib.InitiallyUnowned{
|
|
Object: obj,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func marshalWebRTCSCTPTransport(p uintptr) (interface{}, error) {
|
|
return wrapWebRTCSCTPTransport(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
|
|
}
|
|
|
|
func (v *WebRTCSCTPTransport) baseWebRTCSCTPTransport() *WebRTCSCTPTransport {
|
|
return v
|
|
}
|
|
|
|
// BaseWebRTCSCTPTransport returns the underlying base object.
|
|
func BaseWebRTCSCTPTransport(obj WebRTCSCTPTransporter) *WebRTCSCTPTransport {
|
|
return obj.baseWebRTCSCTPTransport()
|
|
}
|
|
|
|
// WebRTCICECandidateStats: instance of this type is always passed by reference.
|
|
type WebRTCICECandidateStats struct {
|
|
*webRTCICECandidateStats
|
|
}
|
|
|
|
// webRTCICECandidateStats is the struct that's finalized.
|
|
type webRTCICECandidateStats struct {
|
|
native *C.GstWebRTCICECandidateStats
|
|
}
|
|
|
|
func marshalWebRTCICECandidateStats(p uintptr) (interface{}, error) {
|
|
b := coreglib.ValueFromNative(unsafe.Pointer(p)).Boxed()
|
|
return &WebRTCICECandidateStats{&webRTCICECandidateStats{(*C.GstWebRTCICECandidateStats)(b)}}, nil
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) Ipaddr() string {
|
|
valptr := &w.native.ipaddr
|
|
var _v string // out
|
|
_v = C.GoString((*C.gchar)(unsafe.Pointer(*valptr)))
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) Port() uint {
|
|
valptr := &w.native.port
|
|
var _v uint // out
|
|
_v = uint(*valptr)
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) StreamID() uint {
|
|
valptr := &w.native.stream_id
|
|
var _v uint // out
|
|
_v = uint(*valptr)
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) Type() string {
|
|
valptr := &w.native._type
|
|
var _v string // out
|
|
_v = C.GoString((*C.gchar)(unsafe.Pointer(*valptr)))
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) Proto() string {
|
|
valptr := &w.native.proto
|
|
var _v string // out
|
|
_v = C.GoString((*C.gchar)(unsafe.Pointer(*valptr)))
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) RelayProto() string {
|
|
valptr := &w.native.relay_proto
|
|
var _v string // out
|
|
_v = C.GoString((*C.gchar)(unsafe.Pointer(*valptr)))
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) Prio() uint {
|
|
valptr := &w.native.prio
|
|
var _v uint // out
|
|
_v = uint(*valptr)
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) URL() string {
|
|
valptr := &w.native.url
|
|
var _v string // out
|
|
_v = C.GoString((*C.gchar)(unsafe.Pointer(*valptr)))
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) GstReserved() [20]unsafe.Pointer {
|
|
valptr := &w.native._gst_reserved
|
|
var _v [20]unsafe.Pointer // out
|
|
{
|
|
src := &*valptr
|
|
for i := 0; i < 20; i++ {
|
|
_v[i] = (unsafe.Pointer)(unsafe.Pointer(src[i]))
|
|
}
|
|
}
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) SetPort(port uint) {
|
|
valptr := &w.native.port
|
|
*valptr = C.guint(port)
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) SetStreamID(streamId uint) {
|
|
valptr := &w.native.stream_id
|
|
*valptr = C.guint(streamId)
|
|
}
|
|
|
|
func (w *WebRTCICECandidateStats) SetPrio(prio uint) {
|
|
valptr := &w.native.prio
|
|
*valptr = C.guint(prio)
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCICECandidateStats: copy of stats.
|
|
func (stats *WebRTCICECandidateStats) Copy() *WebRTCICECandidateStats {
|
|
var _arg0 *C.GstWebRTCICECandidateStats // out
|
|
var _cret *C.GstWebRTCICECandidateStats // in
|
|
|
|
_arg0 = (*C.GstWebRTCICECandidateStats)(gextras.StructNative(unsafe.Pointer(stats)))
|
|
|
|
_cret = C.gst_webrtc_ice_candidate_stats_copy(_arg0)
|
|
runtime.KeepAlive(stats)
|
|
|
|
var _webRTCICECandidateStats *WebRTCICECandidateStats // out
|
|
|
|
_webRTCICECandidateStats = (*WebRTCICECandidateStats)(gextras.NewStructNative(unsafe.Pointer(_cret)))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_webRTCICECandidateStats)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_ice_candidate_stats_free((*C.GstWebRTCICECandidateStats)(intern.C))
|
|
},
|
|
)
|
|
|
|
return _webRTCICECandidateStats
|
|
}
|
|
|
|
// WebRTCICEClass: instance of this type is always passed by reference.
|
|
type WebRTCICEClass struct {
|
|
*webRTCICEClass
|
|
}
|
|
|
|
// webRTCICEClass is the struct that's finalized.
|
|
type webRTCICEClass struct {
|
|
native *C.GstWebRTCICEClass
|
|
}
|
|
|
|
func (w *WebRTCICEClass) ParentClass() *gst.ObjectClass {
|
|
valptr := &w.native.parent_class
|
|
var _v *gst.ObjectClass // out
|
|
_v = (*gst.ObjectClass)(gextras.NewStructNative(unsafe.Pointer(valptr)))
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICEClass) GstReserved() [4]unsafe.Pointer {
|
|
valptr := &w.native._gst_reserved
|
|
var _v [4]unsafe.Pointer // out
|
|
{
|
|
src := &*valptr
|
|
for i := 0; i < 4; i++ {
|
|
_v[i] = (unsafe.Pointer)(unsafe.Pointer(src[i]))
|
|
}
|
|
}
|
|
return _v
|
|
}
|
|
|
|
// WebRTCICEStreamClass: instance of this type is always passed by reference.
|
|
type WebRTCICEStreamClass struct {
|
|
*webRTCICEStreamClass
|
|
}
|
|
|
|
// webRTCICEStreamClass is the struct that's finalized.
|
|
type webRTCICEStreamClass struct {
|
|
native *C.GstWebRTCICEStreamClass
|
|
}
|
|
|
|
func (w *WebRTCICEStreamClass) ParentClass() *gst.ObjectClass {
|
|
valptr := &w.native.parent_class
|
|
var _v *gst.ObjectClass // out
|
|
_v = (*gst.ObjectClass)(gextras.NewStructNative(unsafe.Pointer(valptr)))
|
|
return _v
|
|
}
|
|
|
|
// WebRTCICETransportClass: instance of this type is always passed by reference.
|
|
type WebRTCICETransportClass struct {
|
|
*webRTCICETransportClass
|
|
}
|
|
|
|
// webRTCICETransportClass is the struct that's finalized.
|
|
type webRTCICETransportClass struct {
|
|
native *C.GstWebRTCICETransportClass
|
|
}
|
|
|
|
func (w *WebRTCICETransportClass) ParentClass() *gst.ObjectClass {
|
|
valptr := &w.native.parent_class
|
|
var _v *gst.ObjectClass // out
|
|
_v = (*gst.ObjectClass)(gextras.NewStructNative(unsafe.Pointer(valptr)))
|
|
return _v
|
|
}
|
|
|
|
func (w *WebRTCICETransportClass) Padding() [4]unsafe.Pointer {
|
|
valptr := &w.native._padding
|
|
var _v [4]unsafe.Pointer // out
|
|
{
|
|
src := &*valptr
|
|
for i := 0; i < 4; i++ {
|
|
_v[i] = (unsafe.Pointer)(unsafe.Pointer(src[i]))
|
|
}
|
|
}
|
|
return _v
|
|
}
|
|
|
|
// WebRTCSessionDescription: see
|
|
// <https://www.w3.org/TR/webrtc/#rtcsessiondescription-class>
|
|
//
|
|
// An instance of this type is always passed by reference.
|
|
type WebRTCSessionDescription struct {
|
|
*webRTCSessionDescription
|
|
}
|
|
|
|
// webRTCSessionDescription is the struct that's finalized.
|
|
type webRTCSessionDescription struct {
|
|
native *C.GstWebRTCSessionDescription
|
|
}
|
|
|
|
func marshalWebRTCSessionDescription(p uintptr) (interface{}, error) {
|
|
b := coreglib.ValueFromNative(unsafe.Pointer(p)).Boxed()
|
|
return &WebRTCSessionDescription{&webRTCSessionDescription{(*C.GstWebRTCSessionDescription)(b)}}, nil
|
|
}
|
|
|
|
// NewWebRTCSessionDescription constructs a struct WebRTCSessionDescription.
|
|
func NewWebRTCSessionDescription(typ WebRTCSDPType, sdp *gstsdp.SDPMessage) *WebRTCSessionDescription {
|
|
var _arg1 C.GstWebRTCSDPType // out
|
|
var _arg2 *C.GstSDPMessage // out
|
|
var _cret *C.GstWebRTCSessionDescription // in
|
|
|
|
_arg1 = C.GstWebRTCSDPType(typ)
|
|
_arg2 = (*C.GstSDPMessage)(gextras.StructNative(unsafe.Pointer(sdp)))
|
|
runtime.SetFinalizer(gextras.StructIntern(unsafe.Pointer(sdp)), nil)
|
|
|
|
_cret = C.gst_webrtc_session_description_new(_arg1, _arg2)
|
|
runtime.KeepAlive(typ)
|
|
runtime.KeepAlive(sdp)
|
|
|
|
var _webRTCSessionDescription *WebRTCSessionDescription // out
|
|
|
|
_webRTCSessionDescription = (*WebRTCSessionDescription)(gextras.NewStructNative(unsafe.Pointer(_cret)))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_webRTCSessionDescription)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_session_description_free((*C.GstWebRTCSessionDescription)(intern.C))
|
|
},
|
|
)
|
|
|
|
return _webRTCSessionDescription
|
|
}
|
|
|
|
// Type of the description.
|
|
func (w *WebRTCSessionDescription) Type() WebRTCSDPType {
|
|
valptr := &w.native._type
|
|
var _v WebRTCSDPType // out
|
|
_v = WebRTCSDPType(*valptr)
|
|
return _v
|
|
}
|
|
|
|
// Sdp of the description.
|
|
func (w *WebRTCSessionDescription) Sdp() *gstsdp.SDPMessage {
|
|
valptr := &w.native.sdp
|
|
var _v *gstsdp.SDPMessage // out
|
|
_v = (*gstsdp.SDPMessage)(gextras.NewStructNative(unsafe.Pointer(*valptr)))
|
|
return _v
|
|
}
|
|
|
|
// The function returns the following values:
|
|
//
|
|
// - webRTCSessionDescription: new copy of src.
|
|
func (src *WebRTCSessionDescription) Copy() *WebRTCSessionDescription {
|
|
var _arg0 *C.GstWebRTCSessionDescription // out
|
|
var _cret *C.GstWebRTCSessionDescription // in
|
|
|
|
_arg0 = (*C.GstWebRTCSessionDescription)(gextras.StructNative(unsafe.Pointer(src)))
|
|
|
|
_cret = C.gst_webrtc_session_description_copy(_arg0)
|
|
runtime.KeepAlive(src)
|
|
|
|
var _webRTCSessionDescription *WebRTCSessionDescription // out
|
|
|
|
_webRTCSessionDescription = (*WebRTCSessionDescription)(gextras.NewStructNative(unsafe.Pointer(_cret)))
|
|
runtime.SetFinalizer(
|
|
gextras.StructIntern(unsafe.Pointer(_webRTCSessionDescription)),
|
|
func(intern *struct{ C unsafe.Pointer }) {
|
|
C.gst_webrtc_session_description_free((*C.GstWebRTCSessionDescription)(intern.C))
|
|
},
|
|
)
|
|
|
|
return _webRTCSessionDescription
|
|
}
|