Changes in src/io/sink_sndfile.c [5fc6e81:e406835]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/io/sink_sndfile.c ¶
r5fc6e81 re406835 49 49 uint_t scratch_size; 50 50 smpl_t *scratch_data; 51 int format;52 51 }; 53 52 54 53 uint_t aubio_sink_sndfile_open(aubio_sink_sndfile_t *s); 55 56 uint_t aubio_str_extension_matches(const char_t *ext,57 const char_t *pattern);58 const char_t *aubio_str_get_extension(const char_t *filename);59 54 60 55 aubio_sink_sndfile_t * new_aubio_sink_sndfile(const char_t * path, uint_t samplerate) { … … 72 67 s->samplerate = 0; 73 68 s->channels = 0; 74 75 aubio_sink_sndfile_preset_format(s, aubio_str_get_extension(path));76 69 77 70 // zero samplerate given. do not open yet … … 119 112 if (s->samplerate != 0 /* && s->channels != 0 */) { 120 113 return aubio_sink_sndfile_open(s); 121 }122 return AUBIO_OK;123 }124 125 uint_t aubio_sink_sndfile_preset_format(aubio_sink_sndfile_t *s,126 const char_t *fmt)127 {128 if (aubio_str_extension_matches(fmt, "wav")) {129 s->format = SF_FORMAT_WAV | SF_FORMAT_PCM_16;130 } else if (aubio_str_extension_matches(fmt, "aiff")) {131 s->format = SF_FORMAT_AIFF | SF_FORMAT_PCM_16;132 } else if (aubio_str_extension_matches(fmt, "flac")) {133 s->format = SF_FORMAT_FLAC | SF_FORMAT_PCM_16;134 } else if (aubio_str_extension_matches(fmt, "ogg")) {135 s->format = SF_FORMAT_OGG | SF_FORMAT_VORBIS;136 } else if (atoi(fmt) > 0x010000) {137 s->format = atoi(fmt);138 } else {139 s->format = SF_FORMAT_WAV | SF_FORMAT_PCM_16;140 if (fmt && strnlen(fmt, PATH_MAX)) {141 AUBIO_WRN("sink_sndfile: could not guess format %s for %s,"142 " using default (wav)\n", fmt, s->path);143 return AUBIO_FAIL;144 }145 114 } 146 115 return AUBIO_OK; … … 163 132 sfinfo.samplerate = s->samplerate; 164 133 sfinfo.channels = s->channels; 165 sfinfo.format = s->format;134 sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16; 166 135 167 136 /* try creating the file */
Note: See TracChangeset
for help on using the changeset viewer.