audioaggregator: Use downstream allocator and params if available
authorOlivier Crête <olivier.crete@collabora.com>
Sat, 20 May 2017 15:59:19 +0000 (17:59 +0200)
committerOlivier Crête <olivier.crete@collabora.com>
Sun, 21 May 2017 11:24:29 +0000 (13:24 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=746529

gst-libs/gst/audio/gstaudioaggregator.c

index f5c6c2b..d683331 100644 (file)
@@ -1024,10 +1024,19 @@ static GstBuffer *
 gst_audio_aggregator_create_output_buffer (GstAudioAggregator * aagg,
     guint num_frames)
 {
-  GstBuffer *outbuf = gst_buffer_new_allocate (NULL, num_frames *
-      GST_AUDIO_INFO_BPF (&aagg->info), NULL);
+  GstAllocator *allocator;
+  GstAllocationParams params;
+  GstBuffer *outbuf;
   GstMapInfo outmap;
 
+  gst_aggregator_get_allocator (GST_AGGREGATOR (aagg), &allocator, &params);
+
+  outbuf = gst_buffer_new_allocate (allocator, num_frames *
+      GST_AUDIO_INFO_BPF (&aagg->info), &params);
+
+  if (allocator)
+    gst_object_unref (allocator);
+
   gst_buffer_map (outbuf, &outmap, GST_MAP_WRITE);
   gst_audio_format_fill_silence (aagg->info.finfo, outmap.data, outmap.size);
   gst_buffer_unmap (outbuf, &outmap);