qtdemux: don't use glib 2.44-only API
authorTim-Philipp Müller <tim@centricular.com>
Sun, 9 Aug 2015 16:25:45 +0000 (17:25 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 10 Aug 2015 11:32:23 +0000 (12:32 +0100)
gst/isomp4/qtdemux.c

index 4a3cc7c..8a40ea1 100644 (file)
@@ -4891,10 +4891,11 @@ gst_qtdemux_decorate_and_push_buffer (GstQTDemux * qtdemux,
 
     index = stream->sample_index - (stream->n_samples - info->crypto_info->len);
     if (G_LIKELY (index >= 0 && index < info->crypto_info->len)) {
-      crypto_info =
-          g_steal_pointer (&g_ptr_array_index (info->crypto_info, index));
+      /* steal structure from array */
+      crypto_info = g_ptr_array_index (info->crypto_info, index);
+      g_ptr_array_index (info->crypto_info, index) = NULL;
       GST_LOG_OBJECT (qtdemux, "attaching cenc metadata [%u]", index);
-      if (!gst_buffer_add_protection_meta (buf, crypto_info))
+      if (!crypto_info || !gst_buffer_add_protection_meta (buf, crypto_info))
         GST_ERROR_OBJECT (qtdemux, "failed to attach cenc metadata to buffer");
     }
   }