src/io/sink.c: implement
authorPaul Brossier <piem@piem.org>
Sun, 15 Jul 2012 20:54:38 +0000 (14:54 -0600)
committerPaul Brossier <piem@piem.org>
Sun, 15 Jul 2012 20:54:38 +0000 (14:54 -0600)
src/io/sink.c

index c4129d24999cb4003d00deec2bd57714991ff5ec..570f67421623eb7fcff2ffbd0bd77a2cdd8c3cfc 100644 (file)
@@ -44,13 +44,30 @@ aubio_sink_t * new_aubio_sink(char_t * uri, uint_t samplerate) {
   if (s->sink) return s;
 #endif /* HAVE_SNDFILE */
 #endif /* __APPLE__ */
-  if (s->sink == NULL) { AUBIO_FREE(s); return NULL; }
+  AUBIO_ERROR("failed opening %s", uri);
+  AUBIO_FREE(s);
+  return NULL;
 }
 
 void aubio_sink_do(aubio_sink_t * s, fvec_t * write_data, uint_t write) {
+#ifdef __APPLE__
+  aubio_sink_apple_audio_do((aubio_sink_apple_audio_t *)s->sink, write_data, write);
+#else /* __APPLE__ */
+#if HAVE_SNDFILE
+  aubio_sink_sndfile_do((aubio_sink_sndfile_t *)s->sink, write_data, write);
+#endif /* HAVE_SNDFILE */
+#endif /* __APPLE__ */
 }
 
 void del_aubio_sink(aubio_sink_t * s) {
+  if (!s) return;
+#ifdef __APPLE__
+  del_aubio_sink_apple_audio((aubio_sink_apple_audio_t *)s->sink);
+#else /* __APPLE__ */
+#if HAVE_SNDFILE
+  del_aubio_sink_sndfile((aubio_sink_sndfile_t *)s->sink);
+#endif /* HAVE_SNDFILE */
+#endif /* __APPLE__ */
   AUBIO_FREE(s);
   return;
 }