diff options
author | Thiago Santos <thiago.sousa.santos@collabora.co.uk> | 2010-09-10 22:41:03 -0300 |
---|---|---|
committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2010-12-03 15:50:32 +0100 |
commit | 7dabc7764ed5a9a7aceccf50055ed204c0c0c892 (patch) | |
tree | 3fecd97fdd1b471a4856415a4f670b18134484c6 | |
parent | f48817522dbe1ba25ee7c63b43814af38b25cc50 (diff) |
qtdemux: Fix iteration bug
Avoid infinite loop when iterating traf
-rw-r--r-- | gst/qtdemux/qtdemux.c | 3 |
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); } |