qtdemux: fix suboptimal queue iteration code
authorTim-Philipp Müller <tim@centricular.com>
Mon, 10 Aug 2015 11:45:27 +0000 (12:45 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 10 Aug 2015 11:45:50 +0000 (12:45 +0100)
gst/isomp4/qtdemux.c

index 8a40ea1..eeacca1 100644 (file)
@@ -6980,6 +6980,8 @@ gst_qtdemux_add_stream (GstQTDemux * qtdemux,
   }
 
   if (stream->pad) {
+    GList *l;
+
     GST_DEBUG_OBJECT (qtdemux, "adding pad %s %p to qtdemux %p",
         GST_OBJECT_NAME (stream->pad), stream->pad, qtdemux);
     gst_element_add_pad (GST_ELEMENT_CAST (qtdemux), stream->pad);
@@ -6993,11 +6995,8 @@ gst_qtdemux_add_stream (GstQTDemux * qtdemux,
     stream->send_global_tags = TRUE;
     /* send upstream GST_EVENT_PROTECTION events that were received before
        this source pad was created */
-    for (int i = 0; i < qtdemux->protection_event_queue.length; ++i) {
-      GstEvent *event =
-          (GstEvent *) g_queue_peek_nth (&qtdemux->protection_event_queue, i);
-      gst_pad_push_event (stream->pad, gst_event_ref (event));
-    }
+    for (l = qtdemux->protection_event_queue.head; l != NULL; l = l->next)
+      gst_pad_push_event (stream->pad, gst_event_ref (l->data));
   }
 done:
   if (list)