Index: roard/auth.c
===================================================================
--- roard/auth.c	(revision 5381)
+++ roard/auth.c	(revision 5586)
@@ -104,4 +104,6 @@
  struct at_trust * t = &(key->at_data.trust);
  size_t i;
+
+ (void)authmes;
 
  // we ship pids at the moment as cs does not contain a verifyed one.
Index: roard/clients.c
===================================================================
--- roard/clients.c	(revision 5580)
+++ roard/clients.c	(revision 5586)
@@ -915,5 +915,5 @@
  }
 
- if ( ret == len ) {
+ if ( ret == (ssize_t)len ) {
   if ( roar_buffer_next(&(cs->outbuf)) == -1 ) {
    clients_delete(id);
@@ -960,5 +960,5 @@
 }
 
-int clients_send_mon  (struct roar_audio_info * sa, uint32_t pos) {
+int clients_send_mon  (struct roar_audio_info * sa) {
  int i;
 // int fh;
@@ -1009,5 +1009,5 @@
 }
 
-int clients_send_filter(struct roar_audio_info * sa, uint32_t pos) {
+int clients_send_filter(struct roar_audio_info * sa) {
  struct roar_client * c;
  int i;
Index: roard/driver.c
===================================================================
--- roard/driver.c	(revision 5388)
+++ roard/driver.c	(revision 5586)
@@ -293,5 +293,12 @@
  int ret;
 
- ROAR_DBG("driver_cdriver_open(inst=%p, device='%s', info=%p, fh=%i) = ?", inst, device, info, fh);
+ (void)sstream;
+
+ ROAR_DBG("driver_cdriver_open(inst=%p, device='%s', info=%p, fh=%i, sstream=%p) = ?", inst, device, info, fh, sstream);
+
+ if ( fh != -1 ) {
+  roar_err_set(ROAR_ERROR_NOTSUP);
+  return -1;
+ }
 
  if (device == NULL) {
@@ -320,4 +327,6 @@
 
 int  driver_dummy_ctl(struct roar_vio_calls * vio, roar_vio_ctl_t cmd, void * data) {
+ (void)vio;
+
  switch (cmd) {
   case ROAR_VIO_CTL_NONBLOCK:
Index: roard/driver_esd.c
===================================================================
--- roard/driver_esd.c	(revision 5381)
+++ roard/driver_esd.c	(revision 5586)
@@ -29,5 +29,7 @@
 int driver_esd_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh, struct roar_stream_server * sstream) {
  esd_format_t format = ESD_STREAM | ESD_PLAY;
- char name[] = "roard";
+ const char * name = "roard";
+
+ (void)sstream;
 
  if ( fh != -1 )
Index: roard/include/client.h
===================================================================
--- roard/include/client.h	(revision 5576)
+++ roard/include/client.h	(revision 5586)
@@ -135,6 +135,6 @@
 int clients_check      (int id);
 int clients_flush      (int id);
-int clients_send_mon   (struct roar_audio_info * sa, uint32_t pos);
-int clients_send_filter(struct roar_audio_info * sa, uint32_t pos);
+int clients_send_mon   (struct roar_audio_info * sa);
+int clients_send_filter(struct roar_audio_info * sa);
 
 int clients_add_output (int id, struct roar_buffer ** buf);
Index: roard/include/sources.h
===================================================================
--- roard/include/sources.h	(revision 5381)
+++ roard/include/sources.h	(revision 5586)
@@ -54,5 +54,4 @@
 int sources_add_new (struct roar_source * source,
                      char * driver, char * device,
-                     char * container,
                      char * options, int primary);
 
Index: roard/lib.c
===================================================================
--- roard/lib.c	(revision 5568)
+++ roard/lib.c	(revision 5586)
@@ -30,5 +30,5 @@
  pid_t child;
  int fh[3] = {-1, -1, -1};
- int i;
+ size_t i;
 
  ROAR_WARN("lib_run_bg(cmd='%s', ...): This function should never be called. Contact devels.");
Index: roard/loop.c
===================================================================
--- roard/loop.c	(revision 5381)
+++ roard/loop.c	(revision 5586)
@@ -127,7 +127,7 @@
   } else {
 #endif
-   clients_send_filter(sa, g_pos);
+   clients_send_filter(sa);
 //   streams_send_filter_all(); // this currently results in deadlocks.
-   clients_send_mon(sa, g_pos);
+   clients_send_mon(sa);
 #ifdef ROAR_HAVE_USLEEP
   }
Index: roard/meta.c
===================================================================
--- roard/meta.c	(revision 5381)
+++ roard/meta.c	(revision 5586)
@@ -86,5 +86,6 @@
 
 int stream_meta_get   (int id, int type, const char * name, char * val, size_t len) {
- int i, vallen;
+ size_t i;
+ size_t vallen;
  struct roar_stream_server * s = g_streams[id];
 
Index: roard/network.c
===================================================================
--- roard/network.c	(revision 5585)
+++ roard/network.c	(revision 5586)
@@ -41,5 +41,5 @@
  size_t num = 0;
  ssize_t ret;
- int i;
+ size_t i;
 
  for (i = 0; i < ROAR_MAX_LISTEN_SOCKETS; i++) {
Index: roard/plugins.c
===================================================================
--- roard/plugins.c	(revision 5582)
+++ roard/plugins.c	(revision 5586)
@@ -65,5 +65,5 @@
 }
 
-static void inline plugins_delete(struct _roard_plugin * plugin) {
+static inline void plugins_delete(struct _roard_plugin * plugin) {
  int i;
 
@@ -235,4 +235,6 @@
 static int plugin_callback(enum roar_dl_fnreg_action action, int fn, int subtype, const void * object, size_t objectlen, int version, int options, void * userdata, struct roar_dl_lhandle * lhandle) {
 
+ (void)options, (void)userdata;
+
  ROAR_DBG("plugin_callback(action=%i, fn=%i, subtype=%i, object=%p, objectlen=%llu, version=%i, options=0x%x, userdata=%p, lhandle=%p) = ?", (int)action, fn, subtype, object, (long long unsigned int)objectlen, version, options, userdata, lhandle);
 
Index: roard/req.c
===================================================================
--- roard/req.c	(revision 5581)
+++ roard/req.c	(revision 5586)
@@ -74,4 +74,5 @@
 
 int req_on_noop        (int client, struct roar_message * mes, char ** data, uint32_t flags[2]) {
+ (void)client, (void)data, (void)flags;
  mes->cmd     = ROAR_CMD_OK;
  mes->pos     = g_pos;
@@ -84,4 +85,6 @@
  struct roar_client        * c;
  int max_len;
+
+ (void)data, (void)flags;
 
  if ( mes->datalen < 1 )
@@ -131,4 +134,6 @@
  int ret;
 
+ (void)flags;
+
  clients_get_server(client, &cs);
 
@@ -194,4 +199,6 @@
 
 int req_on_whoami      (int client, struct roar_message * mes, char ** data, uint32_t flags[2]) {
+ (void)data, (void)flags;
+
  mes->cmd     = ROAR_CMD_OK;
  mes->pos     = g_pos;
Index: roard/roard.c
===================================================================
--- roard/roard.c	(revision 5577)
+++ roard/roard.c	(revision 5586)
@@ -909,5 +909,5 @@
   if ( *addr == '/' ) {
    if ( grp != NULL || pwd != NULL ) {
-     if ( chown(addr, pwd != NULL ? pwd->pw_uid : -1, grp != NULL ? grp->gr_gid : -1) == -1 )
+     if ( chown(addr, pwd != NULL ? pwd->pw_uid : (uid_t)-1, grp != NULL ? grp->gr_gid : (gid_t)-1) == -1 )
       return -1;
    }
@@ -1242,4 +1242,5 @@
 // SLP:
 void register_slp_callback(SLPHandle hslp, SLPError errcode, void * cookie) {
+ (void)hslp;
  /* return the error code in the cookie */
  *(SLPError*)cookie = errcode;
@@ -1374,5 +1375,5 @@
   i = 0;
 
-  if ( trust_uid != -1 )
+  if ( trust_uid != (uid_t)-1 )
    key->trust.uids[i++] = trust_uid;
 
@@ -1386,5 +1387,5 @@
   i = 0;
 
-  if ( trust_gid != -1 )
+  if ( trust_gid != (gid_t)-1 )
    key->trust.gids[i++] = trust_gid;
 
@@ -2605,5 +2606,5 @@
 #if defined(ROAR_HAVE_SETGID) && defined(ROAR_HAVE_SETUID) && defined(ROAR_HAVE_IO_POSIX)
   if ( pwd != NULL || grp != NULL ) {
-   if ( chown(pidfile, pwd != NULL ? pwd->pw_uid : -1, grp != NULL ? grp->gr_gid : -1) == -1 ) {
+   if ( chown(pidfile, pwd != NULL ? pwd->pw_uid : (uid_t)-1, grp != NULL ? grp->gr_gid : (gid_t)-1) == -1 ) {
     ROAR_WARN("Can not change ownership of pidfile: %s: %s", pidfile, strerror(errno));
    }
Index: roard/sources.c
===================================================================
--- roard/sources.c	(revision 5388)
+++ roard/sources.c	(revision 5586)
@@ -111,5 +111,5 @@
   if ( !strcmp(g_source[i].name, driver) ) {
    if ( g_source[i].new_open != NULL ) {
-    return sources_add_new(&(g_source[i]), driver, device, container, options, primary);
+    return sources_add_new(&(g_source[i]), driver, device, options, primary);
    } else if ( g_source[i].old_open != NULL ) {
     return g_source[i].old_open(driver, device, container, options, primary);
@@ -127,5 +127,4 @@
 int sources_add_new (struct roar_source * source,
                      char * driver, char * device,
-                     char * container,
                      char * options, int primary) {
  int  stream;
@@ -255,4 +254,6 @@
  struct roar_vio_defaults def;
 
+ (void)driver;
+
  if ( roar_vio_dstr_init_defaults(&def, ROAR_VIO_DEF_TYPE_NONE, O_RDONLY, 0644) == -1 )
   return -1;
@@ -282,4 +283,6 @@
  struct roar_vio_defaults def;
 
+ (void)driver, (void)container;
+
  if ( roar_vio_dstr_init_defaults(&def, ROAR_VIO_DEF_TYPE_NONE, O_RDONLY, 0644) == -1 )
   return -1;
@@ -385,4 +388,6 @@
  size_t len, i;
 
+ (void)vio;
+
  ROAR_DBG("sources_radionoise_read(vio=%p, buf=%p, count=%llu) = 0", vio, buf, (long long unsigned int)count);
 
@@ -418,4 +423,6 @@
 
 static int  sources_radionoise_ctl(struct roar_vio_calls * vio, roar_vio_ctl_t cmd, void * data) {
+ (void)vio, (void)data;
+
  if ( cmd == ROAR_VIO_CTL_NONBLOCK )
   return 0;
@@ -428,4 +435,6 @@
  struct roar_stream_server * ss;
  struct roar_audio_info    * info;
+
+ (void)device, (void)driver;
 
  if ( fh > -1 )
@@ -455,4 +464,6 @@
  struct roar_stream        * s;
 
+ (void)driver;
+
  if ( fh > -1 )
   return -1;
Index: roard/ssynth.c
===================================================================
--- roard/ssynth.c	(revision 5381)
+++ roard/ssynth.c	(revision 5586)
@@ -288,4 +288,6 @@
  int id;
 
+ (void)vv;
+
  ROAR_DBG("ssynth_note_off(note=%p, vv=%i) = ?", note, vv);
 
