Index: src/io/sink.c
===================================================================
--- src/io/sink.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/sink.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -55,5 +55,5 @@
 };
 
-aubio_sink_t * new_aubio_sink(char_t * uri, uint_t samplerate) {
+aubio_sink_t * new_aubio_sink(const char_t * uri, uint_t samplerate) {
   aubio_sink_t * s = AUBIO_NEW(aubio_sink_t);
 #ifdef HAVE_SINK_APPLE_AUDIO
@@ -121,9 +121,9 @@
 }
 
-uint_t aubio_sink_get_samplerate(aubio_sink_t * s) {
+uint_t aubio_sink_get_samplerate(const aubio_sink_t * s) {
   return s->s_get_samplerate((void *)s->sink);
 }
 
-uint_t aubio_sink_get_channels(aubio_sink_t * s) {
+uint_t aubio_sink_get_channels(const aubio_sink_t * s) {
   return s->s_get_channels((void *)s->sink);
 }
Index: src/io/sink.h
===================================================================
--- src/io/sink.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/sink.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -77,5 +77,5 @@
 
 */
-aubio_sink_t * new_aubio_sink(char_t * uri, uint_t samplerate);
+aubio_sink_t * new_aubio_sink(const char_t * uri, uint_t samplerate);
 
 /**
@@ -121,5 +121,5 @@
 
 */
-uint_t aubio_sink_get_samplerate(aubio_sink_t *s);
+uint_t aubio_sink_get_samplerate(const aubio_sink_t *s);
 
 /**
@@ -131,5 +131,5 @@
 
 */
-uint_t aubio_sink_get_channels(aubio_sink_t *s);
+uint_t aubio_sink_get_channels(const aubio_sink_t *s);
 
 /**
Index: src/io/sink_apple_audio.c
===================================================================
--- src/io/sink_apple_audio.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/sink_apple_audio.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -58,5 +58,5 @@
 };
 
-aubio_sink_apple_audio_t * new_aubio_sink_apple_audio(char_t * uri, uint_t samplerate) {
+aubio_sink_apple_audio_t * new_aubio_sink_apple_audio(const char_t * uri, uint_t samplerate) {
   aubio_sink_apple_audio_t * s = AUBIO_NEW(aubio_sink_apple_audio_t);
   s->path = uri;
@@ -113,10 +113,10 @@
 }
 
-uint_t aubio_sink_apple_audio_get_samplerate(aubio_sink_apple_audio_t *s)
+uint_t aubio_sink_apple_audio_get_samplerate(const aubio_sink_apple_audio_t *s)
 {
   return s->samplerate;
 }
 
-uint_t aubio_sink_apple_audio_get_channels(aubio_sink_apple_audio_t *s)
+uint_t aubio_sink_apple_audio_get_channels(const aubio_sink_apple_audio_t *s)
 {
   return s->channels;
Index: src/io/sink_apple_audio.h
===================================================================
--- src/io/sink_apple_audio.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/sink_apple_audio.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -59,5 +59,5 @@
 
 */
-aubio_sink_apple_audio_t * new_aubio_sink_apple_audio(char_t * uri, uint_t samplerate);
+aubio_sink_apple_audio_t * new_aubio_sink_apple_audio(const char_t * uri, uint_t samplerate);
 
 /**
@@ -103,5 +103,5 @@
 
 */
-uint_t aubio_sink_apple_audio_get_samplerate(aubio_sink_apple_audio_t *s);
+uint_t aubio_sink_apple_audio_get_samplerate(const aubio_sink_apple_audio_t *s);
 
 /**
@@ -113,5 +113,5 @@
 
 */
-uint_t aubio_sink_apple_audio_get_channels(aubio_sink_apple_audio_t *s);
+uint_t aubio_sink_apple_audio_get_channels(const aubio_sink_apple_audio_t *s);
 
 /**
Index: src/io/sink_sndfile.c
===================================================================
--- src/io/sink_sndfile.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/sink_sndfile.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -54,5 +54,5 @@
 uint_t aubio_sink_sndfile_open(aubio_sink_sndfile_t *s);
 
-aubio_sink_sndfile_t * new_aubio_sink_sndfile(char_t * path, uint_t samplerate) {
+aubio_sink_sndfile_t * new_aubio_sink_sndfile(const char_t * path, uint_t samplerate) {
   aubio_sink_sndfile_t * s = AUBIO_NEW(aubio_sink_sndfile_t);
   s->max_size = MAX_SIZE;
@@ -107,10 +107,10 @@
 }
 
-uint_t aubio_sink_sndfile_get_samplerate(aubio_sink_sndfile_t *s)
+uint_t aubio_sink_sndfile_get_samplerate(const aubio_sink_sndfile_t *s)
 {
   return s->samplerate;
 }
 
-uint_t aubio_sink_sndfile_get_channels(aubio_sink_sndfile_t *s)
+uint_t aubio_sink_sndfile_get_channels(const aubio_sink_sndfile_t *s)
 {
   return s->channels;
Index: src/io/sink_sndfile.h
===================================================================
--- src/io/sink_sndfile.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/sink_sndfile.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -58,5 +58,5 @@
 
 */
-aubio_sink_sndfile_t * new_aubio_sink_sndfile(char_t * uri, uint_t samplerate);
+aubio_sink_sndfile_t * new_aubio_sink_sndfile(const char_t * uri, uint_t samplerate);
 
 /**
@@ -102,5 +102,5 @@
 
 */
-uint_t aubio_sink_sndfile_get_samplerate(aubio_sink_sndfile_t *s);
+uint_t aubio_sink_sndfile_get_samplerate(const aubio_sink_sndfile_t *s);
 
 /**
@@ -112,5 +112,5 @@
 
 */
-uint_t aubio_sink_sndfile_get_channels(aubio_sink_sndfile_t *s);
+uint_t aubio_sink_sndfile_get_channels(const aubio_sink_sndfile_t *s);
 
 /**
Index: src/io/sink_wavwrite.c
===================================================================
--- src/io/sink_wavwrite.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/sink_wavwrite.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -78,5 +78,5 @@
 }
 
-aubio_sink_wavwrite_t * new_aubio_sink_wavwrite(char_t * path, uint_t samplerate) {
+aubio_sink_wavwrite_t * new_aubio_sink_wavwrite(const char_t * path, uint_t samplerate) {
   aubio_sink_wavwrite_t * s = AUBIO_NEW(aubio_sink_wavwrite_t);
 
@@ -143,10 +143,10 @@
 }
 
-uint_t aubio_sink_wavwrite_get_samplerate(aubio_sink_wavwrite_t *s)
+uint_t aubio_sink_wavwrite_get_samplerate(const aubio_sink_wavwrite_t *s)
 {
   return s->samplerate;
 }
 
-uint_t aubio_sink_wavwrite_get_channels(aubio_sink_wavwrite_t *s)
+uint_t aubio_sink_wavwrite_get_channels(const aubio_sink_wavwrite_t *s)
 {
   return s->channels;
Index: src/io/sink_wavwrite.h
===================================================================
--- src/io/sink_wavwrite.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/sink_wavwrite.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -58,5 +58,5 @@
 
 */
-aubio_sink_wavwrite_t * new_aubio_sink_wavwrite(char_t * uri, uint_t samplerate);
+aubio_sink_wavwrite_t * new_aubio_sink_wavwrite(const char_t * uri, uint_t samplerate);
 
 /**
@@ -102,5 +102,5 @@
 
 */
-uint_t aubio_sink_wavwrite_get_samplerate(aubio_sink_wavwrite_t *s);
+uint_t aubio_sink_wavwrite_get_samplerate(const aubio_sink_wavwrite_t *s);
 
 /**
@@ -112,5 +112,5 @@
 
 */
-uint_t aubio_sink_wavwrite_get_channels(aubio_sink_wavwrite_t *s);
+uint_t aubio_sink_wavwrite_get_channels(const aubio_sink_wavwrite_t *s);
 
 /**
Index: src/io/source.c
===================================================================
--- src/io/source.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -56,5 +56,5 @@
 };
 
-aubio_source_t * new_aubio_source(char_t * uri, uint_t samplerate, uint_t hop_size) {
+aubio_source_t * new_aubio_source(const char_t * uri, uint_t samplerate, uint_t hop_size) {
   aubio_source_t * s = AUBIO_NEW(aubio_source_t);
 #if HAVE_LIBAV
Index: src/io/source.h
===================================================================
--- src/io/source.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -86,5 +86,5 @@
 
 */
-aubio_source_t * new_aubio_source(char_t * uri, uint_t samplerate, uint_t hop_size);
+aubio_source_t * new_aubio_source(const char_t * uri, uint_t samplerate, uint_t hop_size);
 
 /**
Index: src/io/source_apple_audio.c
===================================================================
--- src/io/source_apple_audio.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source_apple_audio.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -55,7 +55,7 @@
 char_t *getPrintableOSStatusError(char_t *str, OSStatus error);
 
-uint_t aubio_source_apple_audio_open (aubio_source_apple_audio_t *s, char_t * path);
-
-aubio_source_apple_audio_t * new_aubio_source_apple_audio(char_t * path, uint_t samplerate, uint_t block_size)
+uint_t aubio_source_apple_audio_open (aubio_source_apple_audio_t *s, const char_t * path);
+
+aubio_source_apple_audio_t * new_aubio_source_apple_audio(const char_t * path, uint_t samplerate, uint_t block_size)
 {
   aubio_source_apple_audio_t * s = AUBIO_NEW(aubio_source_apple_audio_t);
@@ -92,5 +92,5 @@
 }
 
-uint_t aubio_source_apple_audio_open (aubio_source_apple_audio_t *s, char_t * path)
+uint_t aubio_source_apple_audio_open (aubio_source_apple_audio_t *s, const char_t * path)
 {
   OSStatus err = noErr;
@@ -353,9 +353,9 @@
 }
 
-uint_t aubio_source_apple_audio_get_samplerate(aubio_source_apple_audio_t * s) {
+uint_t aubio_source_apple_audio_get_samplerate(const aubio_source_apple_audio_t * s) {
   return s->samplerate;
 }
 
-uint_t aubio_source_apple_audio_get_channels(aubio_source_apple_audio_t * s) {
+uint_t aubio_source_apple_audio_get_channels(const aubio_source_apple_audio_t * s) {
   return s->channels;
 }
Index: src/io/source_apple_audio.h
===================================================================
--- src/io/source_apple_audio.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source_apple_audio.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -58,5 +58,5 @@
 
 */
-aubio_source_apple_audio_t * new_aubio_source_apple_audio(char_t * uri, uint_t samplerate, uint_t hop_size);
+aubio_source_apple_audio_t * new_aubio_source_apple_audio(const char_t * uri, uint_t samplerate, uint_t hop_size);
 
 /**
@@ -96,5 +96,5 @@
 
 */
-uint_t aubio_source_apple_audio_get_samplerate(aubio_source_apple_audio_t * s);
+uint_t aubio_source_apple_audio_get_samplerate(const aubio_source_apple_audio_t * s);
 
 /**
@@ -106,5 +106,5 @@
 
 */
-uint_t aubio_source_apple_audio_get_channels(aubio_source_apple_audio_t * s);
+uint_t aubio_source_apple_audio_get_channels(const aubio_source_apple_audio_t * s);
 
 /**
Index: src/io/source_avcodec.c
===================================================================
--- src/io/source_avcodec.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source_avcodec.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -67,5 +67,5 @@
 void aubio_source_avcodec_readframe(aubio_source_avcodec_t *s, uint_t * read_samples);
 
-aubio_source_avcodec_t * new_aubio_source_avcodec(char_t * path, uint_t samplerate, uint_t hop_size) {
+aubio_source_avcodec_t * new_aubio_source_avcodec(const char_t * path, uint_t samplerate, uint_t hop_size) {
   aubio_source_avcodec_t * s = AUBIO_NEW(aubio_source_avcodec_t);
   int err;
@@ -370,9 +370,9 @@
 }
 
-uint_t aubio_source_avcodec_get_samplerate(aubio_source_avcodec_t * s) {
+uint_t aubio_source_avcodec_get_samplerate(const aubio_source_avcodec_t * s) {
   return s->samplerate;
 }
 
-uint_t aubio_source_avcodec_get_channels(aubio_source_avcodec_t * s) {
+uint_t aubio_source_avcodec_get_channels(const aubio_source_avcodec_t * s) {
   return s->input_channels;
 }
Index: src/io/source_avcodec.h
===================================================================
--- src/io/source_avcodec.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source_avcodec.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -57,5 +57,5 @@
 
 */
-aubio_source_avcodec_t * new_aubio_source_avcodec(char_t * uri, uint_t samplerate, uint_t hop_size);
+aubio_source_avcodec_t * new_aubio_source_avcodec(const char_t * uri, uint_t samplerate, uint_t hop_size);
 
 /**
@@ -95,5 +95,5 @@
 
 */
-uint_t aubio_source_avcodec_get_samplerate(aubio_source_avcodec_t * s);
+uint_t aubio_source_avcodec_get_samplerate(const aubio_source_avcodec_t * s);
 
 /**
@@ -105,5 +105,5 @@
 
 */
-uint_t aubio_source_avcodec_get_channels (aubio_source_avcodec_t * s);
+uint_t aubio_source_avcodec_get_channels (const aubio_source_avcodec_t * s);
 
 /**
Index: src/io/source_sndfile.c
===================================================================
--- src/io/source_sndfile.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source_sndfile.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -68,5 +68,5 @@
 };
 
-aubio_source_sndfile_t * new_aubio_source_sndfile(char_t * path, uint_t samplerate, uint_t hop_size) {
+aubio_source_sndfile_t * new_aubio_source_sndfile(const char_t * path, uint_t samplerate, uint_t hop_size) {
   aubio_source_sndfile_t * s = AUBIO_NEW(aubio_source_sndfile_t);
   SF_INFO sfinfo;
Index: src/io/source_sndfile.h
===================================================================
--- src/io/source_sndfile.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source_sndfile.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -57,5 +57,5 @@
 
 */
-aubio_source_sndfile_t * new_aubio_source_sndfile(char_t * uri, uint_t samplerate, uint_t hop_size);
+aubio_source_sndfile_t * new_aubio_source_sndfile(const char_t * uri, uint_t samplerate, uint_t hop_size);
 
 /**
Index: src/io/source_wavread.c
===================================================================
--- src/io/source_wavread.c	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source_wavread.c	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -68,5 +68,5 @@
 }
 
-aubio_source_wavread_t * new_aubio_source_wavread(char_t * path, uint_t samplerate, uint_t hop_size) {
+aubio_source_wavread_t * new_aubio_source_wavread(const char_t * path, uint_t samplerate, uint_t hop_size) {
   aubio_source_wavread_t * s = AUBIO_NEW(aubio_source_wavread_t);
   size_t bytes_read = 0, bytes_expected = 44;
Index: src/io/source_wavread.h
===================================================================
--- src/io/source_wavread.h	(revision 1120f86f4c27475f0ae23afaa06d2a2e5996ecd8)
+++ src/io/source_wavread.h	(revision ae5d58a7ec6083e54c14da6dd2ac8d755a0e9224)
@@ -62,5 +62,5 @@
 
 */
-aubio_source_wavread_t * new_aubio_source_wavread(char_t * uri, uint_t samplerate, uint_t hop_size);
+aubio_source_wavread_t * new_aubio_source_wavread(const char_t * uri, uint_t samplerate, uint_t hop_size);
 
 /**
