|
@@ -29,7 +29,7 @@ typedef struct TestStruct {
|
|
|
const enum AVSampleFormat format;
|
|
|
const int nb_ch;
|
|
|
void const *data_planes[MAX_CHANNELS];
|
|
|
- int nb_samples_pch;
|
|
|
+ const int nb_samples_pch;
|
|
|
} TestStruct;
|
|
|
|
|
|
static const uint8_t data_U8 [] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
|
|
@@ -102,55 +102,55 @@ static int read_samples_from_audio_fifo(AVAudioFifo* afifo, void ***output, int
|
|
|
return av_audio_fifo_read(afifo, *output, nb_samples);
|
|
|
}
|
|
|
|
|
|
-static int write_samples_to_audio_fifo(AVAudioFifo* afifo, const TestStruct test_sample,
|
|
|
+static int write_samples_to_audio_fifo(AVAudioFifo* afifo, const TestStruct *test_sample,
|
|
|
int nb_samples, int offset)
|
|
|
{
|
|
|
int offset_size, i;
|
|
|
void *data_planes[MAX_CHANNELS];
|
|
|
|
|
|
- if(nb_samples > test_sample.nb_samples_pch - offset){
|
|
|
+ if(nb_samples > test_sample->nb_samples_pch - offset){
|
|
|
return 0;
|
|
|
}
|
|
|
- if(offset >= test_sample.nb_samples_pch){
|
|
|
+ if(offset >= test_sample->nb_samples_pch){
|
|
|
return 0;
|
|
|
}
|
|
|
offset_size = offset * afifo->sample_size;
|
|
|
|
|
|
for (i = 0; i < afifo->nb_buffers ; ++i){
|
|
|
- data_planes[i] = (uint8_t*)test_sample.data_planes[i] + offset_size;
|
|
|
+ data_planes[i] = (uint8_t*)test_sample->data_planes[i] + offset_size;
|
|
|
}
|
|
|
|
|
|
return av_audio_fifo_write(afifo, data_planes, nb_samples);
|
|
|
}
|
|
|
|
|
|
-static void test_function(const TestStruct test_sample)
|
|
|
+static void test_function(const TestStruct *test_sample)
|
|
|
{
|
|
|
int ret, i;
|
|
|
void **output_data = NULL;
|
|
|
- AVAudioFifo *afifo = av_audio_fifo_alloc(test_sample.format, test_sample.nb_ch,
|
|
|
- test_sample.nb_samples_pch);
|
|
|
+ AVAudioFifo *afifo = av_audio_fifo_alloc(test_sample->format, test_sample->nb_ch,
|
|
|
+ test_sample->nb_samples_pch);
|
|
|
if (!afifo) {
|
|
|
ERROR("ERROR: av_audio_fifo_alloc returned NULL!");
|
|
|
}
|
|
|
- ret = write_samples_to_audio_fifo(afifo, test_sample, test_sample.nb_samples_pch, 0);
|
|
|
+ ret = write_samples_to_audio_fifo(afifo, test_sample, test_sample->nb_samples_pch, 0);
|
|
|
if (ret < 0){
|
|
|
ERROR("ERROR: av_audio_fifo_write failed!");
|
|
|
}
|
|
|
printf("written: %d\n", ret);
|
|
|
|
|
|
- ret = write_samples_to_audio_fifo(afifo, test_sample, test_sample.nb_samples_pch, 0);
|
|
|
+ ret = write_samples_to_audio_fifo(afifo, test_sample, test_sample->nb_samples_pch, 0);
|
|
|
if (ret < 0){
|
|
|
ERROR("ERROR: av_audio_fifo_write failed!");
|
|
|
}
|
|
|
printf("written: %d\n", ret);
|
|
|
printf("remaining samples in audio_fifo: %d\n\n", av_audio_fifo_size(afifo));
|
|
|
|
|
|
- ret = read_samples_from_audio_fifo(afifo, &output_data, test_sample.nb_samples_pch);
|
|
|
+ ret = read_samples_from_audio_fifo(afifo, &output_data, test_sample->nb_samples_pch);
|
|
|
if (ret < 0){
|
|
|
ERROR("ERROR: av_audio_fifo_read failed!");
|
|
|
}
|
|
|
printf("read: %d\n", ret);
|
|
|
- print_audio_bytes(&test_sample, output_data, ret);
|
|
|
+ print_audio_bytes(test_sample, output_data, ret);
|
|
|
printf("remaining samples in audio_fifo: %d\n\n", av_audio_fifo_size(afifo));
|
|
|
|
|
|
/* test av_audio_fifo_peek */
|
|
@@ -159,7 +159,7 @@ static void test_function(const TestStruct test_sample)
|
|
|
ERROR("ERROR: av_audio_fifo_peek failed!");
|
|
|
}
|
|
|
printf("peek:\n");
|
|
|
- print_audio_bytes(&test_sample, output_data, ret);
|
|
|
+ print_audio_bytes(test_sample, output_data, ret);
|
|
|
printf("\n");
|
|
|
|
|
|
/* test av_audio_fifo_peek_at */
|
|
@@ -170,7 +170,7 @@ static void test_function(const TestStruct test_sample)
|
|
|
ERROR("ERROR: av_audio_fifo_peek_at failed!");
|
|
|
}
|
|
|
printf("%d:\n", i);
|
|
|
- print_audio_bytes(&test_sample, output_data, ret);
|
|
|
+ print_audio_bytes(test_sample, output_data, ret);
|
|
|
}
|
|
|
printf("\n");
|
|
|
|
|
@@ -194,7 +194,7 @@ int main(void)
|
|
|
|
|
|
for (t = 0; t < tests; ++t){
|
|
|
printf("\nTEST: %d\n\n", t+1);
|
|
|
- test_function(test_struct[t]);
|
|
|
+ test_function(&test_struct[t]);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|