void nice_debug_disable (gboolean with_stun) { nice_debug_init (); debug_enabled = 0; if (with_stun) stun_debug_disable (); }
static void fs_rawudp_component_class_init (FsRawUdpComponentClass *klass) { GObjectClass *gobject_class = (GObjectClass *) klass; parent_class = g_type_class_peek_parent (klass); gobject_class->set_property = fs_rawudp_component_set_property; gobject_class->get_property = fs_rawudp_component_get_property; gobject_class->constructed = fs_rawudp_constructed; gobject_class->dispose = fs_rawudp_component_dispose; gobject_class->finalize = fs_rawudp_component_finalize; g_object_class_install_property (gobject_class, PROP_COMPONENT, g_param_spec_uint ("component", "The component id", "The id of this component", 1, G_MAXUINT, 1, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_SENDING, g_param_spec_boolean ("sending", "Whether to send from this transmitter", "If set to FALSE, the transmitter will stop sending to this person", TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_IP, g_param_spec_string ("ip", "The local IP of this component", "The IPv4 address as a x.x.x.x string", NULL, G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_PORT, g_param_spec_uint ("port", "The local port requested for this component", "The IPv4 UDP port", 1, 65535, 7078, G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_STUN_IP, g_param_spec_string ("stun-ip", "The IP address of the STUN server", "The IPv4 address of the STUN server as a x.x.x.x string", NULL, G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_STUN_PORT, g_param_spec_uint ("stun-port", "The port of the STUN server", "The IPv4 UDP port of the STUN server as a ", 0, 65535, 3478, G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_STUN_TIMEOUT, g_param_spec_uint ("stun-timeout", "The timeout for the STUN reply", "How long to wait for for the STUN reply (in seconds) before giving up", 1, MAX_STUN_TIMEOUT, DEFAULT_STUN_TIMEOUT, G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_TRANSMITTER, g_param_spec_object ("transmitter", "The transmitter object", "The rawudp transmitter object", FS_TYPE_RAWUDP_TRANSMITTER, G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_FORCED_CANDIDATE, g_param_spec_boxed ("forced-candidate", "A Forced candidate", "This candidate is built from a user preference", FS_TYPE_CANDIDATE, G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_ASSOCIATE_ON_SOURCE, g_param_spec_boolean ("associate-on-source", "Associate incoming data based on the source address", "Whether to associate incoming data stream based on the" " source address", TRUE, G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); #ifdef HAVE_GUPNP g_object_class_install_property (gobject_class, PROP_UPNP_MAPPING, g_param_spec_boolean ("upnp-mapping", "Try to map ports using UPnP", "Tries to map ports using UPnP if enabled", TRUE, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_UPNP_DISCOVERY, g_param_spec_boolean ("upnp-discovery", "Try to use UPnP to find the external IP address", "Tries to discovery the external IP with UPnP if stun fails", TRUE, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_UPNP_MAPPING_TIMEOUT, g_param_spec_uint ("upnp-mapping-timeout", "Timeout after which UPnP mappings expire", "The UPnP port mappings expire after this period if the app has" " crashed (in seconds)", 0, G_MAXUINT32, DEFAULT_UPNP_MAPPING_TIMEOUT, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_UPNP_DISCOVERY_TIMEOUT, g_param_spec_uint ("upnp-discovery-timeout", "Timeout after which UPnP discovery fails", "After this period, UPnP discovery is considered to have failed" " and the local IP is returned", 0, G_MAXUINT32, DEFAULT_UPNP_DISCOVERY_TIMEOUT, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_UPNP_IGD, g_param_spec_object ("upnp-igd", "The GUPnPSimpleIgdThread object", "This is the GUPnP IGD abstraction object", GUPNP_TYPE_SIMPLE_IGD_THREAD, G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS)); #endif /** * FsRawUdpComponent::new-local-candidate: * @self: #FsStream that emitted the signal * @local_candidate: #FsCandidate of the local candidate * * This signal is emitted when a new local candidate is discovered. */ signals[NEW_LOCAL_CANDIDATE] = g_signal_new ("new-local-candidate", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, FS_TYPE_CANDIDATE); /** * FsRawUdpComponent::local-candidates-prepared: * @self: #FsStream that emitted the signal * * This signal is emitted when all local candidates have been * prepared for this component. */ signals[LOCAL_CANDIDATES_PREPARED] = g_signal_new ("local-candidates-prepared", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); /** * FsiRawUdpComponent::new-active-candidate-pair: * @self: #FsStream that emitted the signal * @local_candidate: #FsCandidate of the local candidate being used * @remote_candidate: #FsCandidate of the remote candidate being used * * This signal is emitted when there is a new active chandidate pair that has * been established. * */ signals[NEW_ACTIVE_CANDIDATE_PAIR] = g_signal_new ("new-active-candidate-pair", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 2, FS_TYPE_CANDIDATE, FS_TYPE_CANDIDATE); /** * FsRawUdpComponent::known-source-packet-received: * @self: #FsRawUdpComponent that emitted the signal * @component: The ID of this component * @buffer: the #GstBuffer coming from the known source * * This signal is emitted when a buffer coming from a confirmed known source * is received. * */ signals[KNOWN_SOURCE_PACKET_RECEIVED] = g_signal_new ("known-source-packet-received", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_POINTER); /** * FsRawUdpComponent::error: * @self: #FsStreamTransmitter that emitted the signal * @errorno: The number of the error * @error_msg: Error message * * This signal is emitted in any error condition * */ signals[ERROR_SIGNAL] = g_signal_new ("error", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 2, FS_TYPE_ERROR, G_TYPE_STRING); g_type_class_add_private (klass, sizeof (FsRawUdpComponentPrivate)); if (gst_debug_category_get_threshold (GST_CAT_DEFAULT) >= GST_LEVEL_DEBUG) stun_debug_enable (); else stun_debug_disable (); }