void gst_opus_common_log_channel_mapping_table (GstElement * element, GstDebugCategory * category, const char *msg, int n_channels, const guint8 * table) { char s[8 + 256 * 4] = "[ "; /* enough for 256 times "255 " at most */ int n; for (n = 0; n < n_channels; ++n) { size_t len = strlen (s); snprintf (s + len, sizeof (s) - len, "%d ", table[n]); } strcat (s, "]"); GST_CAT_LEVEL_LOG (category, GST_LEVEL_INFO, element, "%s: %s", msg, s); }
static void debug_pipeline (GstDebugLevel level, const gchar *prefix, GList *pipeline) { GList *walk; GString *str; gboolean first = TRUE; if (gst_debug_category_get_threshold (GST_CAT_DEFAULT) < level) return; str = g_string_new (prefix); for (walk = pipeline; walk; walk = g_list_next (walk)) { GList *walk2; gboolean first_alt = TRUE; if (!first) g_string_append (str, " ->"); first = FALSE; for (walk2 = g_list_first (walk->data); walk2; walk2 = g_list_next (walk2)) { if (first_alt) g_string_append_printf (str, " %s", gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (walk2->data))); else g_string_append_printf (str, " | %s", gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (walk2->data))); first_alt = FALSE; } } GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, level, NULL, "%s", str->str); g_string_free (str, TRUE); }
static void openssl_poll (GstDtlsConnection * self) { int ret; int error; log_state (self, "poll: before handshake"); ERR_clear_error (); ret = SSL_do_handshake (self->priv->ssl); log_state (self, "poll: after handshake"); switch (ret) { case 1: if (!self->priv->keys_exported) { GST_INFO_OBJECT (self, "handshake just completed successfully, exporting keys"); export_srtp_keys (self); } else { GST_INFO_OBJECT (self, "handshake is completed"); } return; case 0: GST_DEBUG_OBJECT (self, "do_handshake encountered EOF"); break; case -1: GST_DEBUG_OBJECT (self, "do_handshake encountered BIO error"); break; default: GST_DEBUG_OBJECT (self, "do_handshake returned %d", ret); } error = SSL_get_error (self->priv->ssl, ret); switch (error) { case SSL_ERROR_NONE: GST_WARNING_OBJECT (self, "no error, handshake should be done"); break; case SSL_ERROR_SSL: GST_ERROR_OBJECT (self, "SSL error"); ERR_print_errors_cb (ssl_err_cb, self); return; case SSL_ERROR_WANT_READ: GST_LOG_OBJECT (self, "SSL wants read"); break; case SSL_ERROR_WANT_WRITE: GST_LOG_OBJECT (self, "SSL wants write"); break; case SSL_ERROR_SYSCALL:{ gchar message[1024] = "<unknown>"; gint syserror; #ifdef G_OS_WIN32 syserror = WSAGetLastError (); FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM, NULL, syserror, 0, message, sizeof message, NULL); #else syserror = errno; strerror_r (syserror, message, sizeof message); #endif GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, syserror != 0 ? GST_LEVEL_WARNING : GST_LEVEL_LOG, self, "SSL syscall error: errno %d: %s", syserror, message); break; } default: GST_WARNING_OBJECT (self, "Unknown SSL error: %d, ret: %d", error, ret); } ERR_print_errors_cb (ssl_warn_cb, self); }
static void libvisual_log_handler (const char *message, const char *funcname, void *priv) { GST_CAT_LEVEL_LOG (libvisual_debug, (GstDebugLevel) (priv), NULL, "%s - %s", funcname, message); }