40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
#include <stdio.h>
|
|
|
|
#include "audio.h"
|
|
#include "audio_source_file.h"
|
|
#include "audio_demuxer_mp3.h"
|
|
#include "audio_decoder_mp3.h"
|
|
#include "audio_filter_resample.h"
|
|
#include "audio_sink_libao.h"
|
|
|
|
int main(int argc, char **argv) {
|
|
AudioPipeline *pipeline;
|
|
|
|
pipeline = audio_pipeline_assemble(
|
|
audio_source_file("/Users/dark/test2.mp3", 512),
|
|
audio_demuxer_mp3(),
|
|
audio_decoder_mp3(),
|
|
// audio_filter_resample(48000),
|
|
audio_sink_libao(),
|
|
NULL
|
|
);
|
|
|
|
if (pipeline != NULL) {
|
|
/* Assembly worked, start the thing ! */
|
|
AudioPipelineStatus result = pipeline->start(pipeline);
|
|
|
|
if (result != PipelineFinished) {
|
|
fprintf(stderr, "Pipeline failed, status was %d\n", result);
|
|
} else {
|
|
fprintf(stderr, "Pipeline finished.\n");
|
|
}
|
|
|
|
/* We're done here, disassemble and free everything */
|
|
audio_pipeline_destroy(pipeline);
|
|
} else {
|
|
fprintf(stderr, "Failed to assemble MP3 pipeline!\n");
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|