dflac.c - vx32 - Local 9vx git repository for patches.
(HTM) git clone git://r-36.net/vx32
(DIR) Log
(DIR) Files
(DIR) Refs
---
dflac.c (2198B)
---
1
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <stdarg.h>
5 #include <sys/stat.h>
6 #include <assert.h>
7 #include <unistd.h>
8
9 #include "FLAC/file_decoder.h"
10 #include "src/flac/decode.h"
11
12 void fatal(const char *fmt, ...)
13 {
14 va_list ap;
15 va_start(ap, fmt);
16 vfprintf(stderr, fmt, ap);
17 va_end(ap);
18 fputc('\n', stderr);
19 exit(2);
20 }
21
22 int fseek(FILE *stream, long offset, int whence) { assert(0); }
23 long ftell(FILE *stream) { assert(0); }
24 FILE *fopen(const char *path, const char *mode) { assert(0); }
25 int fclose(FILE *fp) { assert(0); }
26 int unlink(const char *path) { assert(0); }
27 int stat(const char *file_name, struct stat *buf) { assert(0); }
28 double atof(const char *nptr) { assert(0); }
29
30 const char *grabbag__file_get_basename(const char *path) { return path; }
31 FILE *grabbag__file_get_binary_stdout() { return stdout; }
32
33 void grabbag__replaygain_load_from_vorbiscomment() { assert(0); }
34 void grabbag__replaygain_compute_scale_factor() { assert(0); }
35 void FLAC__replaygain_synthesis__init_dither_context(
36 DitherContext *dither, int bits, int shapingtype) { assert(0); }
37 size_t FLAC__replaygain_synthesis__apply_gain(FLAC__byte *data_out, FLAC__bool little_endian_data_out, FLAC__bool unsigned_data_out, const FLAC__int32 * const input[], unsigned wide_samples, unsigned channels, const unsigned source_bps, const unsigned target_bps, const double scale, const FLAC__bool hard_limit, FLAC__bool do_dithering, DitherContext *dither_context) { assert(0); }
38
39 void flac__analyze_init(analysis_options aopts) { assert(0); }
40 void flac__analyze_frame(const FLAC__Frame *frame, unsigned frame_number, analysis_options aopts, FILE *fout) { assert(0); }
41 void flac__analyze_finish(analysis_options aopts) { assert(0); }
42
43
44
45 int main(int argc, char **argv)
46 {
47 static wav_decode_options_t wavopts;
48 static analysis_options aopts;
49
50 close(2); // sorry
51
52 flac__utils_parse_skip_until_specification(NULL,
53 &wavopts.common.skip_specification);
54 flac__utils_parse_skip_until_specification(NULL,
55 &wavopts.common.until_specification);
56 wavopts.common.until_specification.is_relative = true;
57
58 int rc = flac__decode_wav("-", "-", 0, aopts, wavopts);
59 if (rc != 0)
60 fatal("flac__decode_wav: %d", rc);
61
62 return 0;
63 }
64