asfdemux: Fix payloads check
authorEdward Hervey <bilboed@bilboed.com>
Thu, 3 Apr 2014 13:06:22 +0000 (15:06 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Thu, 3 Apr 2014 13:06:22 +0000 (15:06 +0200)
Don't iterate stream->payloads if ... it doesn't exist

CID #1139846

gst/asfdemux/gstasfdemux.c

index 915fefd..07a6a71 100644 (file)
@@ -155,16 +155,16 @@ gst_asf_demux_free_stream (GstASFDemux * demux, AsfStream * stream)
     stream->pad = NULL;
   }
 
-  while (stream->payloads->len > 0) {
-    AsfPayload *payload;
-    guint last;
-
-    last = stream->payloads->len - 1;
-    payload = &g_array_index (stream->payloads, AsfPayload, last);
-    gst_buffer_replace (&payload->buf, NULL);
-    g_array_remove_index (stream->payloads, last);
-  }
   if (stream->payloads) {
+    while (stream->payloads->len > 0) {
+      AsfPayload *payload;
+      guint last;
+
+      last = stream->payloads->len - 1;
+      payload = &g_array_index (stream->payloads, AsfPayload, last);
+      gst_buffer_replace (&payload->buf, NULL);
+      g_array_remove_index (stream->payloads, last);
+    }
     g_array_free (stream->payloads, TRUE);
     stream->payloads = NULL;
   }