summaryrefslogtreecommitdiffstats
path: root/gst/qtdemux/qtdemux.c
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2005-11-10 12:34:26 +0000
committerTim-Philipp Müller <tim@centricular.net>2005-11-10 12:34:26 +0000
commit9c8c1bac44723a161299ae9a7d6c7164da8701d1 (patch)
tree844e05eec37fc1b09cf421146639c0bd9ab0c896 /gst/qtdemux/qtdemux.c
parentda076cc71930f9bbda83e6a7df728f8514571fac (diff)
downloadgst-plugins-bad-9c8c1bac44723a161299ae9a7d6c7164da8701d1.tar.gz
gst-plugins-bad-9c8c1bac44723a161299ae9a7d6c7164da8701d1.tar.bz2
gst-plugins-bad-9c8c1bac44723a161299ae9a7d6c7164da8701d1.zip
gst/qtdemux/qtdemux.c: Add support for custom genre tags.
Original commit message from CVS: Reviewed by: Tim-Philipp Müller <tim at centricular dot net> * gst/qtdemux/qtdemux.c: (qtdemux_parse_udta): Add support for custom genre tags.
Diffstat (limited to 'gst/qtdemux/qtdemux.c')
-rw-r--r--gst/qtdemux/qtdemux.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 61f660df..1cd44ccb 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -842,6 +842,7 @@ gst_qtdemux_add_stream (GstQTDemux * qtdemux,
#define FOURCC_rmra GST_MAKE_FOURCC('r','m','r','a')
#define FOURCC_rmda GST_MAKE_FOURCC('r','m','d','a')
#define FOURCC_rdrf GST_MAKE_FOURCC('r','d','r','f')
+#define FOURCC__gen GST_MAKE_FOURCC(0xa9, 'g', 'e', 'n')
static void qtdemux_dump_mvhd (GstQTDemux * qtdemux, void *buffer, int depth);
static void qtdemux_dump_tkhd (GstQTDemux * qtdemux, void *buffer, int depth);
@@ -945,6 +946,7 @@ QtNodeType qt_node_types[] = {
{FOURCC_rmra, "rmra", QT_CONTAINER,},
{FOURCC_rmda, "rmda", QT_CONTAINER,},
{FOURCC_rdrf, "rdrf", 0,},
+ {FOURCC__gen, "Custom Genre", QT_CONTAINER,},
{0, "unknown", 0},
};
static int n_qt_node_types = sizeof (qt_node_types) / sizeof (qt_node_types[0]);
@@ -2395,6 +2397,11 @@ qtdemux_parse_udta (GstQTDemux * qtdemux, GNode * udta)
node = qtdemux_tree_get_child_by_type (ilst, FOURCC_gnre);
if (node) {
qtdemux_tag_add_gnre (qtdemux, GST_TAG_GENRE, node);
+ } else {
+ node = qtdemux_tree_get_child_by_type (ilst, FOURCC__gen);
+ if (node) {
+ qtdemux_tag_add_str (qtdemux, GST_TAG_GENRE, node);
+ }
}
}