From: Thiago Santos Date: Sat, 11 Sep 2010 01:41:03 +0000 (-0300) Subject: qtdemux: Fix iteration bug X-Git-Tag: RELEASE-0.10.27~275 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7dabc7764ed5a9a7aceccf50055ed204c0c0c892;p=platform%2Fupstream%2Fgst-plugins-good.git qtdemux: Fix iteration bug Avoid infinite loop when iterating traf --- diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index 9b8f764..4ec55e0 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); }