diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gst/qtdemux/qtdemux.c | 7 |
2 files changed, 14 insertions, 0 deletions
@@ -1,3 +1,10 @@ +2005-11-10 Daniel Amelang <daniel dot amelang at gmail dot com> + + Reviewed by: Tim-Philipp Müller <tim at centricular dot net> + + * gst/qtdemux/qtdemux.c: (qtdemux_parse_udta): + Add support for custom genre tags. + 2005-11-09 Tim-Philipp Müller <tim at centricular dot net> * ext/tarkin/wavelet.c: 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); + } } } |