Changeset a9fd272 for src/io/sink.c


Ignore:
Timestamp:
Jan 26, 2014, 8:16:59 PM (10 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
Children:
422452b
Parents:
082c88b
Message:

src/io/sink*: add _close function, improve error messages

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/io/sink.c

    r082c88b ra9fd272  
    3939typedef uint_t (*aubio_sink_get_channels_t)(aubio_sink_t * s);
    4040#endif
     41typedef uint_t (*aubio_sink_close_t)(aubio_sink_t * s);
    4142typedef void (*del_aubio_sink_t)(aubio_sink_t * s);
    4243
     
    4950  aubio_sink_get_channels_t s_get_channels;
    5051#endif
     52  aubio_sink_close_t s_close;
    5153  del_aubio_sink_t s_del;
    5254};
     
    5860  if (s->sink) {
    5961    s->s_do = (aubio_sink_do_t)(aubio_sink_apple_audio_do);
     62    s->s_close = (aubio_sink_close_t)(aubio_sink_apple_audio_close);
    6063    s->s_del = (del_aubio_sink_t)(del_aubio_sink_apple_audio);
    6164    return s;
     
    6669  if (s->sink) {
    6770    s->s_do = (aubio_sink_do_t)(aubio_sink_sndfile_do);
     71    s->s_close = (aubio_sink_close_t)(aubio_sink_sndfile_close);
    6872    s->s_del = (del_aubio_sink_t)(del_aubio_sink_sndfile);
    6973    return s;
     
    7478  if (s->sink) {
    7579    s->s_do = (aubio_sink_do_t)(aubio_sink_wavwrite_do);
     80    s->s_close = (aubio_sink_close_t)(aubio_sink_wavwrite_close);
    7681    s->s_del = (del_aubio_sink_t)(del_aubio_sink_wavwrite);
    7782    return s;
    7883  }
    7984#endif /* HAVE_WAVWRITE */
    80   AUBIO_ERROR("sink: failed creating aubio sink with %s\n", uri);
     85  AUBIO_ERROR("sink: failed creating %s with samplerate %dHz\n",
     86      uri, samplerate);
    8187  AUBIO_FREE(s);
    8288  return NULL;
     
    8793}
    8894
     95uint_t aubio_sink_close(aubio_sink_t *s) {
     96  return s->s_close((void *)s->sink);
     97}
     98
    8999void del_aubio_sink(aubio_sink_t * s) {
    90100  if (!s) return;
Note: See TracChangeset for help on using the changeset viewer.