audioaggregator: Use downstream allocator and params if available

https://bugzilla.gnome.org/show_bug.cgi?id=746529
This commit is contained in:
Olivier Crête 2017-05-20 17:59:19 +02:00
parent 9897c5c80d
commit ea26b9aa37

View 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);