summaryrefslogtreecommitdiffstats
path: root/tests/icles
diff options
context:
space:
mode:
authorEdgard Lima <edgard.lima@indt.org.br>2008-02-10 04:36:12 +0000
committerEdgard Lima <edgard.lima@indt.org.br>2008-02-10 04:36:12 +0000
commita0254c0e2f1d3667c302b92c820bc7aa4a85ecf3 (patch)
tree95923c362c351f4570348079fb3509c2b665141d /tests/icles
parenta4c996087e679a43d888446927e6e457b10bdb5f (diff)
downloadgst-plugins-bad-a0254c0e2f1d3667c302b92c820bc7aa4a85ecf3.tar.gz
gst-plugins-bad-a0254c0e2f1d3667c302b92c820bc7aa4a85ecf3.tar.bz2
gst-plugins-bad-a0254c0e2f1d3667c302b92c820bc7aa4a85ecf3.zip
Map Date-Time and GPS tags.
Original commit message from CVS: Map Date-Time and GPS tags.
Diffstat (limited to 'tests/icles')
-rw-r--r--tests/icles/metadata_editor.c34
1 files changed, 33 insertions, 1 deletions
diff --git a/tests/icles/metadata_editor.c b/tests/icles/metadata_editor.c
index 02212bb2..e8bef14b 100644
--- a/tests/icles/metadata_editor.c
+++ b/tests/icles/metadata_editor.c
@@ -137,6 +137,30 @@ GString *filename = NULL;
*/
static void
+dump_tag_buffer(const char *tag, guint8 * buf, guint32 size)
+{
+ guint32 i;
+ printf("\nDumping %s (size = %u)\n\n", tag, size);
+
+ for(i=0; i<size; ++i) {
+
+ if (i % 16 == 0)
+ printf("%04x:%04x | ", i >> 16, i & 0xFFFF);
+
+ printf("%02x", buf[i]);
+
+ if (i % 16 != 15)
+ printf(" ");
+ else
+ printf("\n");
+
+ }
+
+ printf("\n\n");
+
+}
+
+static void
insert_tag_on_tree (const GstTagList * list, const gchar * tag,
gpointer user_data)
{
@@ -150,6 +174,13 @@ insert_tag_on_tree (const GstTagList * list, const gchar * tag,
if (gst_tag_get_type (tag) == G_TYPE_STRING) {
if (!gst_tag_list_get_string_index (list, tag, 0, &str))
g_assert_not_reached ();
+ } else if ( gst_tag_get_type (tag) == GST_TYPE_BUFFER ) {
+ const GValue *val = NULL;
+ GstBuffer *buf;
+ val = gst_tag_list_get_value_index (list, tag, 0);
+ buf = gst_value_get_buffer (val);
+ dump_tag_buffer(tag, GST_BUFFER_DATA(buf), GST_BUFFER_SIZE(buf));
+ str = g_strdup("It has been printed to stdout");
} else {
str = g_strdup_value_contents (gst_tag_list_get_value_index (list, tag, 0));
}
@@ -215,7 +246,8 @@ change_tag_list (GstTagList ** list, const gchar * tag, const gchar * value)
}
break;
default:
- g_printerr ("Tags of type '%s' are not supported yet.\n",
+ g_printerr ("Tags of type '%s' are not supported yet for editing"
+ " by this application.\n",
g_type_name (type));
break;
}