summaryrefslogtreecommitdiffstats
path: root/gst/qtdemux
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-03-08 12:16:14 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-03-08 12:16:14 +0000
commit6ece4976ccf84bbe355ef854581c19f5c776de31 (patch)
tree08b455977f1a5fca604b8ca7d567c0c83c484ce7 /gst/qtdemux
parentd1323179c9ae217ac3e9c30d8581dbc41cc567a0 (diff)
downloadgst-plugins-bad-6ece4976ccf84bbe355ef854581c19f5c776de31.tar.gz
gst-plugins-bad-6ece4976ccf84bbe355ef854581c19f5c776de31.tar.bz2
gst-plugins-bad-6ece4976ccf84bbe355ef854581c19f5c776de31.zip
gst/qtdemux/qtdemux.c: Extract disc number and count from files that use 'disk' instead of 'disc' as node identifier ...
Original commit message from CVS: * gst/qtdemux/qtdemux.c: (qtdemux_parse_udta): Extract disc number and count from files that use 'disk' instead of 'disc' as node identifier for that (fixes #332066).
Diffstat (limited to 'gst/qtdemux')
-rw-r--r--gst/qtdemux/qtdemux.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 7d07ab4b..4d8df982 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -1316,6 +1316,7 @@ gst_qtdemux_add_stream (GstQTDemux * qtdemux,
#define FOURCC__alb GST_MAKE_FOURCC(0xa9,'a','l','b')
#define FOURCC_gnre GST_MAKE_FOURCC('g','n','r','e')
#define FOURCC_disc GST_MAKE_FOURCC('d','i','s','c')
+#define FOURCC_disk GST_MAKE_FOURCC('d','i','s','k')
#define FOURCC_trkn GST_MAKE_FOURCC('t','r','k','n')
#define FOURCC_cpil GST_MAKE_FOURCC('c','p','i','l')
#define FOURCC_tmpo GST_MAKE_FOURCC('t','m','p','o')
@@ -1421,6 +1422,7 @@ QtNodeType qt_node_types[] = {
{FOURCC_gnre, "Genre", QT_CONTAINER,},
{FOURCC_trkn, "Track Number", QT_CONTAINER,},
{FOURCC_disc, "Disc Number", QT_CONTAINER,},
+ {FOURCC_disk, "Disc Number", QT_CONTAINER,},
{FOURCC_cpil, "cpil", QT_CONTAINER,},
{FOURCC_tmpo, "Tempo", QT_CONTAINER,},
{FOURCC__too, "too", QT_CONTAINER,},
@@ -2932,6 +2934,12 @@ qtdemux_parse_udta (GstQTDemux * qtdemux, GNode * udta)
if (node) {
qtdemux_tag_add_num (qtdemux, GST_TAG_ALBUM_VOLUME_NUMBER,
GST_TAG_ALBUM_VOLUME_COUNT, node);
+ } else {
+ node = qtdemux_tree_get_child_by_type (ilst, FOURCC_disk);
+ if (node) {
+ qtdemux_tag_add_num (qtdemux, GST_TAG_ALBUM_VOLUME_NUMBER,
+ GST_TAG_ALBUM_VOLUME_COUNT, node);
+ }
}
node = qtdemux_tree_get_child_by_type (ilst, FOURCC_gnre);