avutil/tests/audio_fifo.c: use av_malloc() family of functions

Signed-off-by: Thomas Turner <thomastdt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Thomas Turner 2016-12-27 18:43:18 -08:00 committed by Michael Niedermayer
parent af7a75cb51
commit 11b7cad3dc

View File

@ -19,6 +19,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <inttypes.h> #include <inttypes.h>
#include "libavutil/mem.h"
#include "libavutil/audio_fifo.c" #include "libavutil/audio_fifo.c"
#define MAX_CHANNELS 32 #define MAX_CHANNELS 32
@ -50,15 +51,6 @@ static void ERROR(const char *str)
exit(1); exit(1);
} }
static void* allocate_memory(size_t size)
{
void *ptr = malloc(size);
if (ptr == NULL){
ERROR("failed to allocate memory!");
}
return ptr;
}
static void print_audio_bytes(const TestStruct *test_sample, void **data_planes, int nb_samples) static void print_audio_bytes(const TestStruct *test_sample, void **data_planes, int nb_samples)
{ {
int p, b, f; int p, b, f;
@ -85,11 +77,15 @@ static int read_samples_from_audio_fifo(AVAudioFifo* afifo, void ***output, int
int samples = FFMIN(nb_samples, afifo->nb_samples); int samples = FFMIN(nb_samples, afifo->nb_samples);
int tot_elements = !av_sample_fmt_is_planar(afifo->sample_fmt) int tot_elements = !av_sample_fmt_is_planar(afifo->sample_fmt)
? samples : afifo->channels * samples; ? samples : afifo->channels * samples;
void **data_planes = allocate_memory(sizeof(void*) * afifo->nb_buffers); void **data_planes = av_malloc_array(afifo->nb_buffers, sizeof(void*));
if (!data_planes)
ERROR("failed to allocate memory!");
*output = data_planes; *output = data_planes;
for (i = 0; i < afifo->nb_buffers; ++i){ for (i = 0; i < afifo->nb_buffers; ++i){
data_planes[i] = allocate_memory(afifo->sample_size * tot_elements); data_planes[i] = av_malloc_array(tot_elements, afifo->sample_size);
if (!data_planes[i])
ERROR("failed to allocate memory!");
} }
return av_audio_fifo_read(afifo, *output, nb_samples); return av_audio_fifo_read(afifo, *output, nb_samples);
@ -178,9 +174,9 @@ static void test_function(const TestStruct test_sample)
/* deallocate */ /* deallocate */
for (i = 0; i < afifo->nb_buffers; ++i){ for (i = 0; i < afifo->nb_buffers; ++i){
free(output_data[i]); av_freep(&output_data[i]);
} }
free(output_data); av_freep(&output_data);
av_audio_fifo_free(afifo); av_audio_fifo_free(afifo);
} }