summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>2010-09-10 22:41:03 -0300
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2010-12-03 15:50:32 +0100
commit7dabc7764ed5a9a7aceccf50055ed204c0c0c892 (patch)
tree3fecd97fdd1b471a4856415a4f670b18134484c6
parentf48817522dbe1ba25ee7c63b43814af38b25cc50 (diff)
qtdemux: Fix iteration bug
Avoid infinite loop when iterating traf
-rw-r--r--gst/qtdemux/qtdemux.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 9b8f76464..4ec55e074 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -2038,7 +2038,7 @@ qtdemux_parse_moof (GstQTDemux * qtdemux, const guint8 * buffer, guint length,
&default_sample_size);
/* skip trun atoms that don't match the track ID */
if (id != stream->track_id)
- continue;
+ goto next;
/* Track Run node */
trun_node =
qtdemux_tree_get_child_by_type_full (traf_node, FOURCC_trun,
@@ -2050,6 +2050,7 @@ qtdemux_parse_moof (GstQTDemux * qtdemux, const guint8 * buffer, guint length,
trun_node = qtdemux_tree_get_sibling_by_type (trun_node, FOURCC_trun);
}
+ next:
/* iterate all siblings */
traf_node = qtdemux_tree_get_sibling_by_type (traf_node, FOURCC_traf);
}