- gst_message_parse_tag (message, &tags);
- gst_tag_list_foreach (tags, print_tag, NULL);
- gst_tag_list_free (tags);
+ gst_message_parse_tag (message, &tag_list);
+ gst_tag_list_foreach (tag_list, print_tag, NULL);
+ gst_tag_list_unref (tag_list);
+ }
+ break;
+ case GST_MESSAGE_TOC:
+ if (toc) {
+ GstToc *toc;
+ GList *entries;
+ gboolean updated;
+
+ if (GST_IS_ELEMENT (GST_MESSAGE_SRC (message))) {
+ PRINT (_("FOUND TOC : found by element \"%s\".\n"),
+ GST_MESSAGE_SRC_NAME (message));
+ } else if (GST_IS_OBJECT (GST_MESSAGE_SRC (message))) {
+ PRINT (_("FOUND TOC : found by object \"%s\".\n"),
+ GST_MESSAGE_SRC_NAME (message));
+ } else {
+ PRINT (_("FOUND TOC\n"));
+ }
+
+ gst_message_parse_toc (message, &toc, &updated);
+ /* recursively loop over toc entries */
+ entries = gst_toc_get_entries (toc);
+ g_list_foreach (entries, print_toc_entry, GUINT_TO_POINTER (0));
+ gst_toc_unref (toc);