G_GNUC_INTERNAL
gboolean priv_gst_structure_parse_fields (gchar *str, gchar ** end, GstStructure *structure);
+/* used in gstvalue.c and gststructure.c */
+
+#define GST_WRAPPED_PTR_FORMAT "p\aa"
+
+G_GNUC_INTERNAL
+gchar *priv_gst_string_take_and_wrap (gchar * s);
+
/* registry cache backends */
G_GNUC_INTERNAL
gboolean priv_gst_registry_binary_read_cache (GstRegistry * registry, const char *location);
case 'B': /* GST_SEGMENT_FORMAT */
s = gst_debug_print_segment (ptr);
break;
+ case 'a': /* GST_WRAPPED_PTR_FORMAT */
+ s = priv_gst_string_take_and_wrap (gst_debug_print_object (ptr));
+ break;
default:
/* must have been compiled against a newer version with an extension
* we don't known about yet - just ignore and fallback to %p below */
} else if (type == G_TYPE_UINT64) {
g_string_append (s, "%" G_GUINT64_FORMAT);
} else if (type == GST_TYPE_STRUCTURE) {
- g_string_append (s, "%" GST_PTR_FORMAT);
- } else if (g_type_is_a (type, G_TYPE_ENUM)) {
+ g_string_append (s, "%" GST_WRAPPED_PTR_FORMAT);
+ } else if (g_type_is_a (type, G_TYPE_ENUM)
+ || g_type_is_a (type, G_TYPE_FLAGS)) {
g_string_append (s, "%i");
} else {
GST_WARNING ("unhandled type: %s", g_type_name (type));
- g_string_append (s, "%" GST_PTR_FORMAT);
+ g_string_append (s, "%" GST_WRAPPED_PTR_FORMAT);
}
return TRUE;
const GValue * value2, GstValueCompareFunc compare);
static gchar *gst_string_wrap (const gchar * s);
-static gchar *gst_string_take_and_wrap (gchar * s);
static gchar *gst_string_unwrap (const gchar * s);
static void gst_value_move (GValue * dest, GValue * src);
gst_value_serialize_caps (const GValue * value)
{
GstCaps *caps = g_value_get_boxed (value);
- return gst_string_take_and_wrap (gst_caps_to_string (caps));
+ return priv_gst_string_take_and_wrap (gst_caps_to_string (caps));
}
static gboolean
{
GstStructure *structure = g_value_get_boxed (value);
- return gst_string_take_and_wrap (gst_structure_to_string (structure));
+ return priv_gst_string_take_and_wrap (gst_structure_to_string (structure));
}
static gboolean
{
GstCapsFeatures *features = g_value_get_boxed (value);
- return gst_string_take_and_wrap (gst_caps_features_to_string (features));
+ return priv_gst_string_take_and_wrap (gst_caps_features_to_string (features));
}
static gboolean
{
GstTagList *taglist = g_value_get_boxed (value);
- return gst_string_take_and_wrap (gst_tag_list_to_string (taglist));
+ return priv_gst_string_take_and_wrap (gst_tag_list_to_string (taglist));
}
}
/* Same as above, but take ownership of the string */
-static gchar *
-gst_string_take_and_wrap (gchar * s)
+gchar *
+priv_gst_string_take_and_wrap (gchar * s)
{
gchar *out;
gint len = gst_string_measure_wrapping (s);