From: Mike Brady Date: Thu, 5 Oct 2017 16:48:24 +0000 (+0100) Subject: Some spring cleaning using clang-format X-Git-Tag: 3.2d10~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d343a851c0847e985a42aed69d1e511e7c4e900d;p=thirdparty%2Fshairport-sync.git Some spring cleaning using clang-format --- diff --git a/audio_alsa.c b/audio_alsa.c index 6326d9cb..ab7b7a90 100644 --- a/audio_alsa.c +++ b/audio_alsa.c @@ -400,8 +400,6 @@ static int init(int argc, char **argv) { debug(1, "Cannot get the dB range from the volume control \"%s\"", alsa_mix_ctrl); } - - /* debug(1, "Min and max volumes are %d and %d.",alsa_mix_minv,alsa_mix_maxv); diff --git a/dbus/src/dbus_service.c b/dbus/src/dbus_service.c index 440c72fa..20249053 100644 --- a/dbus/src/dbus_service.c +++ b/dbus/src/dbus_service.c @@ -9,36 +9,36 @@ #include "dbus_service.h" void notify_loudness_filter_active_callback(ShairportSync *skeleton, gpointer user_data) { - debug(1,"\"notify_loudness_filter_active_callback\" called."); - if (shairport_sync_get_loudness_filter_active (skeleton)) { - debug(1,"activating loudness filter"); + debug(1, "\"notify_loudness_filter_active_callback\" called."); + if (shairport_sync_get_loudness_filter_active(skeleton)) { + debug(1, "activating loudness filter"); config.loudness = 1; } else { - debug(1,"deactivating loudness filter"); + debug(1, "deactivating loudness filter"); config.loudness = 0; } } void notify_loudness_threshold_callback(ShairportSync *skeleton, gpointer user_data) { - gdouble th = shairport_sync_get_loudness_threshold (skeleton); + gdouble th = shairport_sync_get_loudness_threshold(skeleton); if ((th <= 0.0) && (th >= -100.0)) { - debug(1,"Setting loudness threshhold to %f.",th); + debug(1, "Setting loudness threshhold to %f.", th); config.loudness_reference_volume_db = th; } else { - debug(1,"Invalid loudness threshhold: %f. Ignored.",th); + debug(1, "Invalid loudness threshhold: %f. Ignored.", th); } } void notify_volume_callback(ShairportSync *skeleton, gpointer user_data) { - gdouble vo = shairport_sync_get_volume (skeleton); + gdouble vo = shairport_sync_get_volume(skeleton); if (((vo <= 0.0) && (vo >= -30.0)) || (vo == -144.0)) { - debug(1,"Setting volume to %f.",vo); + debug(1, "Setting volume to %f.", vo); if (playing_conn) - player_volume_without_notification(vo,playing_conn); + player_volume_without_notification(vo, playing_conn); else - debug(1,"no thread playing -- ignored."); + debug(1, "no thread playing -- ignored."); } else { - debug(1,"Invalid volume: %f -- ignored.",vo); + debug(1, "Invalid volume: %f -- ignored.", vo); } } @@ -48,22 +48,24 @@ static void on_name_acquired(GDBusConnection *connection, const gchar *name, gpo g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(skeleton), connection, "/org/gnome/ShairportSync", NULL); - - shairport_sync_set_loudness_threshold(SHAIRPORT_SYNC(skeleton), config.loudness_reference_volume_db); - debug(1,"Loudness threshold is %f.",config.loudness_reference_volume_db); - - if (config.loudness==0) { + + shairport_sync_set_loudness_threshold(SHAIRPORT_SYNC(skeleton), + config.loudness_reference_volume_db); + debug(1, "Loudness threshold is %f.", config.loudness_reference_volume_db); + + if (config.loudness == 0) { shairport_sync_set_loudness_filter_active(SHAIRPORT_SYNC(skeleton), FALSE); - debug(1,"Loudness is off"); + debug(1, "Loudness is off"); } else { shairport_sync_set_loudness_filter_active(SHAIRPORT_SYNC(skeleton), TRUE); - debug(1,"Loudness is on"); + debug(1, "Loudness is on"); } - - g_signal_connect(skeleton, "notify::loudness-filter-active", G_CALLBACK(notify_loudness_filter_active_callback), NULL); - g_signal_connect(skeleton, "notify::loudness-threshold", G_CALLBACK(notify_loudness_threshold_callback), NULL); - g_signal_connect(skeleton, "notify::volume", G_CALLBACK(notify_volume_callback), NULL); + g_signal_connect(skeleton, "notify::loudness-filter-active", + G_CALLBACK(notify_loudness_filter_active_callback), NULL); + g_signal_connect(skeleton, "notify::loudness-threshold", + G_CALLBACK(notify_loudness_threshold_callback), NULL); + g_signal_connect(skeleton, "notify::volume", G_CALLBACK(notify_volume_callback), NULL); } int start_dbus_service() { diff --git a/dbus/src/shairport-sync-dbus-client.c b/dbus/src/shairport-sync-dbus-client.c index 0237ac04..cd917196 100644 --- a/dbus/src/shairport-sync-dbus-client.c +++ b/dbus/src/shairport-sync-dbus-client.c @@ -5,51 +5,42 @@ GMainLoop *loop; -void on_properties_changed (GDBusProxy *proxy, - GVariant *changed_properties, - const gchar* const *invalidated_properties, - gpointer user_data) -{ +void on_properties_changed(GDBusProxy *proxy, GVariant *changed_properties, + const gchar *const *invalidated_properties, gpointer user_data) { /* Note that we are guaranteed that changed_properties and * invalidated_properties are never NULL */ - if (g_variant_n_children (changed_properties) > 0) - { - GVariantIter *iter; - const gchar *key; - GVariant *value; - - g_print (" *** Properties Changed:\n"); - g_variant_get (changed_properties, - "a{sv}", - &iter); - while (g_variant_iter_loop (iter, "{&sv}", &key, &value)) - { - gchar *value_str; - value_str = g_variant_print (value, TRUE); - g_print (" %s -> %s\n", key, value_str); - g_free (value_str); - } - g_variant_iter_free (iter); + if (g_variant_n_children(changed_properties) > 0) { + GVariantIter *iter; + const gchar *key; + GVariant *value; + + g_print(" *** Properties Changed:\n"); + g_variant_get(changed_properties, "a{sv}", &iter); + while (g_variant_iter_loop(iter, "{&sv}", &key, &value)) { + gchar *value_str; + value_str = g_variant_print(value, TRUE); + g_print(" %s -> %s\n", key, value_str); + g_free(value_str); } - - if (g_strv_length ((GStrv) invalidated_properties) > 0) - { - guint n; - g_print (" *** Properties Invalidated:\n"); - for (n = 0; invalidated_properties[n] != NULL; n++) - { - const gchar *key = invalidated_properties[n]; - g_print (" %s\n", key); - } + g_variant_iter_free(iter); + } + + if (g_strv_length((GStrv)invalidated_properties) > 0) { + guint n; + g_print(" *** Properties Invalidated:\n"); + for (n = 0; invalidated_properties[n] != NULL; n++) { + const gchar *key = invalidated_properties[n]; + g_print(" %s\n", key); } + } } - void notify_loudness_filter_active_callback(ShairportSync *proxy, gpointer user_data) { -// printf("\"notify_loudness_filter_active_callback\" called with a gpointer of %lx.\n",(int64_t)user_data); - gboolean ebl = shairport_sync_get_loudness_filter_active (proxy); + // printf("\"notify_loudness_filter_active_callback\" called with a gpointer of + // %lx.\n",(int64_t)user_data); + gboolean ebl = shairport_sync_get_loudness_filter_active(proxy); if (ebl == TRUE) printf("Client reports loudness is enabled.\n"); else @@ -57,26 +48,25 @@ void notify_loudness_filter_active_callback(ShairportSync *proxy, gpointer user_ } void notify_loudness_threshold_callback(ShairportSync *proxy, gpointer user_data) { - gdouble th = shairport_sync_get_loudness_threshold (proxy); - printf("Client reports loudness threshold set to %.2f dB.\n",th); + gdouble th = shairport_sync_get_loudness_threshold(proxy); + printf("Client reports loudness threshold set to %.2f dB.\n", th); } void notify_volume_callback(ShairportSync *proxy, gpointer user_data) { - gdouble th = shairport_sync_get_volume (proxy); - printf("Client reports volume set to %.2f dB.\n",th); + gdouble th = shairport_sync_get_volume(proxy); + printf("Client reports volume set to %.2f dB.\n", th); } pthread_t dbus_thread; void *dbus_thread_func(void *arg) { loop = g_main_loop_new(NULL, FALSE); - + g_main_loop_run(loop); -// dbus_service_main(); // let it run inside a thread + // dbus_service_main(); // let it run inside a thread } - void main(void) { pthread_create(&dbus_thread, NULL, &dbus_thread_func, NULL); @@ -85,21 +75,19 @@ void main(void) { GError *error = NULL; proxy = shairport_sync_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM, G_DBUS_PROXY_FLAGS_NONE, - "org.gnome.ShairportSync", "/org/gnome/ShairportSync", NULL, &error); - + "org.gnome.ShairportSync", + "/org/gnome/ShairportSync", NULL, &error); + // g_signal_connect(proxy, "notify::loudness-filter-active", + // G_CALLBACK(notify_loudness_filter_active_callback), NULL); - // g_signal_connect(proxy, "notify::loudness-filter-active", G_CALLBACK(notify_loudness_filter_active_callback), NULL); - - g_signal_connect (proxy, - "g-properties-changed", - G_CALLBACK (on_properties_changed), - NULL); - g_signal_connect(proxy, "notify::loudness-threshold", G_CALLBACK(notify_loudness_threshold_callback), NULL); + g_signal_connect(proxy, "g-properties-changed", G_CALLBACK(on_properties_changed), NULL); + g_signal_connect(proxy, "notify::loudness-threshold", + G_CALLBACK(notify_loudness_threshold_callback), NULL); g_signal_connect(proxy, "notify::volume", G_CALLBACK(notify_volume_callback), NULL); g_print("Starting test...\n"); - + shairport_sync_set_volume(SHAIRPORT_SYNC(proxy), -20.0); sleep(10); shairport_sync_set_volume(SHAIRPORT_SYNC(proxy), -10.0); @@ -121,8 +109,8 @@ void main(void) { sleep(15); g_print("Finished test...\n"); g_main_loop_quit(loop); - pthread_join(dbus_thread,NULL); + pthread_join(dbus_thread, NULL); printf("exiting program.\n"); - + g_object_unref(proxy); } diff --git a/mdns.c b/mdns.c index 4e5ca21e..2edbbf58 100644 --- a/mdns.c +++ b/mdns.c @@ -104,21 +104,21 @@ void mdns_unregister(void) { } } -void mdns_dacp_monitor(char* dacp_id,uint16_t *port,void** private_pointer) { +void mdns_dacp_monitor(char *dacp_id, uint16_t *port, void **private_pointer) { if ((config.mdns) && (config.mdns->mdns_dacp_monitor)) { - int error = config.mdns->mdns_dacp_monitor(dacp_id,port,private_pointer); + int error = config.mdns->mdns_dacp_monitor(dacp_id, port, private_pointer); if (error) { - debug(1,"Error starting a DACP monitor."); + debug(1, "Error starting a DACP monitor."); } } else - debug(1,"Can't start a DACP monitor."); + debug(1, "Can't start a DACP monitor."); } -void mdns_dacp_dont_monitor(void** private_pointer) { +void mdns_dacp_dont_monitor(void **private_pointer) { if ((config.mdns) && (config.mdns->mdns_dacp_dont_monitor)) { config.mdns->mdns_dacp_dont_monitor(private_pointer); } else - debug(1,"Can't stop a DACP monitor."); + debug(1, "Can't stop a DACP monitor."); } void mdns_ls_backends(void) { mdns_backend **b = NULL; diff --git a/mdns.h b/mdns.h index 247fcd11..035eb786 100644 --- a/mdns.h +++ b/mdns.h @@ -1,15 +1,15 @@ #ifndef _MDNS_H #define _MDNS_H -#include #include "config.h" +#include extern int mdns_pid; void mdns_unregister(void); void mdns_register(void); -void mdns_dacp_monitor(char* dacp_id,uint16_t *port,void** private_pointer); -void mdns_dacp_dont_monitor(void** private_pointer); +void mdns_dacp_monitor(char *dacp_id, uint16_t *port, void **private_pointer); +void mdns_dacp_dont_monitor(void **private_pointer); void mdns_ls_backends(void); @@ -17,8 +17,8 @@ typedef struct { char *name; int (*mdns_register)(char *apname, int port); void (*mdns_unregister)(void); - int (*mdns_dacp_monitor)(char* dacp_id,uint16_t *port,void** private_pointer); - void (*mdns_dacp_dont_monitor)(void** private_pointer); + int (*mdns_dacp_monitor)(char *dacp_id, uint16_t *port, void **private_pointer); + void (*mdns_dacp_dont_monitor)(void **private_pointer); } mdns_backend; #ifdef CONFIG_METADATA diff --git a/mdns_avahi.c b/mdns_avahi.c index c017043f..b0b511eb 100644 --- a/mdns_avahi.c +++ b/mdns_avahi.c @@ -25,8 +25,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -#include #include +#include #include "common.h" #include "mdns.h" @@ -41,16 +41,15 @@ #include #include - typedef struct { - AvahiThreadedPoll *service_poll; - AvahiClient *service_client; - AvahiServiceBrowser *service_browser; - char *dacp_id; - uint16_t *dacp_port; + AvahiThreadedPoll *service_poll; + AvahiClient *service_client; + AvahiServiceBrowser *service_browser; + char *dacp_id; + uint16_t *dacp_port; } dacp_browser_struct; -//static AvahiServiceBrowser *sb = NULL; +// static AvahiServiceBrowser *sb = NULL; static AvahiClient *client = NULL; // static AvahiClient *service_client = NULL; static AvahiEntryGroup *group = NULL; @@ -60,100 +59,89 @@ static AvahiThreadedPoll *tpoll = NULL; static char *service_name = NULL; static int port = 0; -static void resolve_callback( - AvahiServiceResolver *r, - AVAHI_GCC_UNUSED AvahiIfIndex interface, - AVAHI_GCC_UNUSED AvahiProtocol protocol, - AvahiResolverEvent event, - const char *name, - const char *type, - const char *domain, - const char *host_name, - const AvahiAddress *address, - uint16_t port, - AvahiStringList *txt, - AvahiLookupResultFlags flags, - void* userdata) { - assert(r); - - dacp_browser_struct *dbs = (dacp_browser_struct *)userdata; - - /* Called whenever a service has been resolved successfully or timed out */ - switch (event) { - case AVAHI_RESOLVER_FAILURE: - debug(1, "(Resolver) Failed to resolve service '%s' of type '%s' in domain '%s': %s.", name, type, domain, avahi_strerror(avahi_client_errno(avahi_service_resolver_get_client(r)))); - break; - case AVAHI_RESOLVER_FOUND: { - char a[AVAHI_ADDRESS_STR_MAX], *t; - //debug(1, "Resolve callback: Service '%s' of type '%s' in domain '%s':", name, type, domain); - char* dacpid = strstr(name,"iTunes_Ctrl_"); - if (dacpid) { - dacpid+=strlen("iTunes_Ctrl_"); - if (strcmp(dacpid,dbs->dacp_id)==0) { - uint16_t *p = dbs->dacp_port; - if (*p != port) { - debug(1,"Client's DACP port: %u.",port); - *p = port; - } - } - } else { - debug(1,"Resolve callback: Can't see a DACP string in a DACP Record!"); - } +static void resolve_callback(AvahiServiceResolver *r, AVAHI_GCC_UNUSED AvahiIfIndex interface, + AVAHI_GCC_UNUSED AvahiProtocol protocol, AvahiResolverEvent event, + const char *name, const char *type, const char *domain, + const char *host_name, const AvahiAddress *address, uint16_t port, + AvahiStringList *txt, AvahiLookupResultFlags flags, void *userdata) { + assert(r); + + dacp_browser_struct *dbs = (dacp_browser_struct *)userdata; + + /* Called whenever a service has been resolved successfully or timed out */ + switch (event) { + case AVAHI_RESOLVER_FAILURE: + debug(1, "(Resolver) Failed to resolve service '%s' of type '%s' in domain '%s': %s.", name, + type, domain, avahi_strerror(avahi_client_errno(avahi_service_resolver_get_client(r)))); + break; + case AVAHI_RESOLVER_FOUND: { + char a[AVAHI_ADDRESS_STR_MAX], *t; + // debug(1, "Resolve callback: Service '%s' of type '%s' in domain '%s':", name, type, domain); + char *dacpid = strstr(name, "iTunes_Ctrl_"); + if (dacpid) { + dacpid += strlen("iTunes_Ctrl_"); + if (strcmp(dacpid, dbs->dacp_id) == 0) { + uint16_t *p = dbs->dacp_port; + if (*p != port) { + debug(1, "Client's DACP port: %u.", port); + *p = port; } + } + } else { + debug(1, "Resolve callback: Can't see a DACP string in a DACP Record!"); } - avahi_service_resolver_free(r); + } + } + avahi_service_resolver_free(r); } -static void browse_callback( - AvahiServiceBrowser *b, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiBrowserEvent event, - const char *name, - const char *type, - const char *domain, - AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, - void* userdata) { - dacp_browser_struct *dbs = (dacp_browser_struct *)userdata; - assert(b); - /* Called whenever a new services becomes available on the LAN or is removed from the LAN */ - switch (event) { - case AVAHI_BROWSER_FAILURE: - warn("avahi: browser failure.", avahi_strerror(avahi_client_errno(avahi_service_browser_get_client(b)))); - avahi_threaded_poll_quit(tpoll); - break; - case AVAHI_BROWSER_NEW: - // debug(1, "(Browser) NEW: service '%s' of type '%s' in domain '%s'.", name, type, domain); - /* We ignore the returned resolver object. In the callback - function we free it. If the server is terminated before - the callback function is called the server will free - the resolver for us. */ - if (!(avahi_service_resolver_new(dbs->service_client, interface, protocol, name, type, domain, AVAHI_PROTO_UNSPEC, 0, resolve_callback, userdata))) - debug(1, "Failed to resolve service '%s': %s.", name, avahi_strerror(avahi_client_errno(dbs->service_client))); - break; - case AVAHI_BROWSER_REMOVE: - debug(1, "(Browser) REMOVE: service '%s' of type '%s' in domain '%s'.", name, type, domain); - char* dacpid = strstr(name,"iTunes_Ctrl_"); - if (dacpid) { - dacpid+=strlen("iTunes_Ctrl_"); - if (strcmp(dacpid,dbs->dacp_id)==0) { - uint16_t *p = dbs->dacp_port; - if (*p != 0) { - debug(1,"Client's DACP status withdrawn."); - *p = 0; - } - } - } else { - debug(1,"Browse callback: Can't see a DACP string in a DACP Record!"); - } - - break; - case AVAHI_BROWSER_ALL_FOR_NOW: - case AVAHI_BROWSER_CACHE_EXHAUSTED: - // debug(1, "(Browser) %s.", event == AVAHI_BROWSER_CACHE_EXHAUSTED ? "CACHE_EXHAUSTED" : "ALL_FOR_NOW"); - break; +static void browse_callback(AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, + AvahiBrowserEvent event, const char *name, const char *type, + const char *domain, AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, + void *userdata) { + dacp_browser_struct *dbs = (dacp_browser_struct *)userdata; + assert(b); + /* Called whenever a new services becomes available on the LAN or is removed from the LAN */ + switch (event) { + case AVAHI_BROWSER_FAILURE: + warn("avahi: browser failure.", + avahi_strerror(avahi_client_errno(avahi_service_browser_get_client(b)))); + avahi_threaded_poll_quit(tpoll); + break; + case AVAHI_BROWSER_NEW: + // debug(1, "(Browser) NEW: service '%s' of type '%s' in domain '%s'.", name, type, domain); + /* We ignore the returned resolver object. In the callback + function we free it. If the server is terminated before + the callback function is called the server will free + the resolver for us. */ + if (!(avahi_service_resolver_new(dbs->service_client, interface, protocol, name, type, domain, + AVAHI_PROTO_UNSPEC, 0, resolve_callback, userdata))) + debug(1, "Failed to resolve service '%s': %s.", name, + avahi_strerror(avahi_client_errno(dbs->service_client))); + break; + case AVAHI_BROWSER_REMOVE: + debug(1, "(Browser) REMOVE: service '%s' of type '%s' in domain '%s'.", name, type, domain); + char *dacpid = strstr(name, "iTunes_Ctrl_"); + if (dacpid) { + dacpid += strlen("iTunes_Ctrl_"); + if (strcmp(dacpid, dbs->dacp_id) == 0) { + uint16_t *p = dbs->dacp_port; + if (*p != 0) { + debug(1, "Client's DACP status withdrawn."); + *p = 0; + } + } + } else { + debug(1, "Browse callback: Can't see a DACP string in a DACP Record!"); } -} + break; + case AVAHI_BROWSER_ALL_FOR_NOW: + case AVAHI_BROWSER_CACHE_EXHAUSTED: + // debug(1, "(Browser) %s.", event == AVAHI_BROWSER_CACHE_EXHAUSTED ? "CACHE_EXHAUSTED" : + // "ALL_FOR_NOW"); + break; + } +} static void register_service(AvahiClient *c); @@ -219,15 +207,15 @@ static void register_service(AvahiClient *c) { selected_interface = AVAHI_IF_UNSPEC; #ifdef CONFIG_METADATA if (config.metadata_enabled) { - ret = avahi_entry_group_add_service(group, selected_interface, AVAHI_PROTO_UNSPEC, 0, service_name, - config.regtype, NULL, NULL, port, + ret = avahi_entry_group_add_service(group, selected_interface, AVAHI_PROTO_UNSPEC, 0, + service_name, config.regtype, NULL, NULL, port, MDNS_RECORD_WITH_METADATA, NULL); if (ret == 0) debug(1, "avahi: request to add \"%s\" service with metadata", config.regtype); } else { #endif - ret = avahi_entry_group_add_service(group, selected_interface, AVAHI_PROTO_UNSPEC, 0, service_name, - config.regtype, NULL, NULL, port, + ret = avahi_entry_group_add_service(group, selected_interface, AVAHI_PROTO_UNSPEC, 0, + service_name, config.regtype, NULL, NULL, port, MDNS_RECORD_WITHOUT_METADATA, NULL); if (ret == 0) debug(1, "avahi: request to add \"%s\" service without metadata", config.regtype); @@ -294,10 +282,9 @@ static void client_callback(AvahiClient *c, AvahiClientState state, } } -static void service_client_callback(AvahiClient *c, AvahiClientState state, - void *userdata) { +static void service_client_callback(AvahiClient *c, AvahiClientState state, void *userdata) { int err; - + dacp_browser_struct *dbs = (dacp_browser_struct *)userdata; switch (state) { @@ -316,8 +303,9 @@ static void service_client_callback(AvahiClient *c, AvahiClientState state, avahi_client_free(c); c = NULL; - if (!(dbs->service_client = avahi_client_new(avahi_threaded_poll_get(dbs->service_poll), AVAHI_CLIENT_NO_FAIL, - service_client_callback, userdata, &err))) { + if (!(dbs->service_client = + avahi_client_new(avahi_threaded_poll_get(dbs->service_poll), AVAHI_CLIENT_NO_FAIL, + service_client_callback, userdata, &err))) { warn("avahi: failed to create service client object: %s", avahi_strerror(err)); avahi_threaded_poll_quit(dbs->service_poll); } @@ -328,7 +316,8 @@ static void service_client_callback(AvahiClient *c, AvahiClientState state, break; case AVAHI_CLIENT_S_COLLISION: - debug(2, "avahi: service client state is AVAHI_CLIENT_S_COLLISION...needs a rename: %s", service_name); + debug(2, "avahi: service client state is AVAHI_CLIENT_S_COLLISION...needs a rename: %s", + service_name); break; case AVAHI_CLIENT_CONNECTING: @@ -376,86 +365,86 @@ static void avahi_unregister(void) { service_name = NULL; } -int avahi_dacp_monitor(char* dacp_id,uint16_t *port,void** private_pointer) { - - dacp_browser_struct **pdbs = (dacp_browser_struct **)private_pointer; - - dacp_browser_struct *dbs = (dacp_browser_struct*)malloc(sizeof(dacp_browser_struct)); - - if (dbs==NULL) - die("can not allocate a dacp_browser_struct."); +int avahi_dacp_monitor(char *dacp_id, uint16_t *port, void **private_pointer) { + + dacp_browser_struct **pdbs = (dacp_browser_struct **)private_pointer; + + dacp_browser_struct *dbs = (dacp_browser_struct *)malloc(sizeof(dacp_browser_struct)); + + if (dbs == NULL) + die("can not allocate a dacp_browser_struct."); - dbs->dacp_id=dacp_id; - dbs->dacp_port=port; - + dbs->dacp_id = dacp_id; + dbs->dacp_port = port; - // create the threaded poll code + // create the threaded poll code int err; if (!(dbs->service_poll = avahi_threaded_poll_new())) { warn("couldn't create avahi threaded service_poll!"); - if(dbs) { - free((char*)dbs); + if (dbs) { + free((char *)dbs); } return -1; - } + } - // create the service client - if (!(dbs->service_client = avahi_client_new(avahi_threaded_poll_get(dbs->service_poll), AVAHI_CLIENT_NO_FAIL, - service_client_callback, (void*)dbs, &err))) { + // create the service client + if (!(dbs->service_client = + avahi_client_new(avahi_threaded_poll_get(dbs->service_poll), AVAHI_CLIENT_NO_FAIL, + service_client_callback, (void *)dbs, &err))) { warn("couldn't create avahi service client: %s!", avahi_strerror(err)); - if(dbs) { //should free the threaded poll code - avahi_threaded_poll_free(dbs->service_poll); - free((char*)dbs); + if (dbs) { // should free the threaded poll code + avahi_threaded_poll_free(dbs->service_poll); + free((char *)dbs); } return -1; } /* Create the service browser */ - if (!(dbs->service_browser = avahi_service_browser_new(dbs->service_client, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, "_dacp._tcp", NULL, 0, browse_callback, (void *)dbs))) { - warn("Failed to create service browser: %s\n", avahi_strerror(avahi_client_errno(dbs->service_client))); - if(dbs) { //should free the threaded poll code and the service client - avahi_client_free(dbs->service_client); - avahi_threaded_poll_free(dbs->service_poll); - free((char*)dbs); + if (!(dbs->service_browser = + avahi_service_browser_new(dbs->service_client, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, + "_dacp._tcp", NULL, 0, browse_callback, (void *)dbs))) { + warn("Failed to create service browser: %s\n", + avahi_strerror(avahi_client_errno(dbs->service_client))); + if (dbs) { // should free the threaded poll code and the service client + avahi_client_free(dbs->service_client); + avahi_threaded_poll_free(dbs->service_poll); + free((char *)dbs); } - return -1; - } - // start the polling thread + return -1; + } + // start the polling thread if (avahi_threaded_poll_start(dbs->service_poll) < 0) { warn("couldn't start avahi service_poll thread"); - if(dbs) { //should free the threaded poll code and the service client and the service browser - avahi_service_browser_free(dbs->service_browser); - avahi_client_free(dbs->service_client); - avahi_threaded_poll_free(dbs->service_poll); - free((char*)dbs); + if (dbs) { // should free the threaded poll code and the service client and the service browser + avahi_service_browser_free(dbs->service_browser); + avahi_client_free(dbs->service_client); + avahi_threaded_poll_free(dbs->service_poll); + free((char *)dbs); } return -1; } - *pdbs = dbs; + *pdbs = dbs; return 0; - } -void avahi_dacp_dont_monitor(void** private_pointer) { - dacp_browser_struct **pdbs = (dacp_browser_struct **)private_pointer; - - // stop and dispose of everything - if ((*pdbs)->service_poll) - avahi_threaded_poll_stop((*pdbs)->service_poll); - if ((*pdbs)->service_browser) - avahi_service_browser_free((*pdbs)->service_browser); - if ((*pdbs)->service_client) - avahi_client_free((*pdbs)->service_client); - if ((*pdbs)->service_poll) - avahi_threaded_poll_free((*pdbs)->service_poll); - free((char*)(*pdbs)); - *pdbs = NULL; +void avahi_dacp_dont_monitor(void **private_pointer) { + dacp_browser_struct **pdbs = (dacp_browser_struct **)private_pointer; + + // stop and dispose of everything + if ((*pdbs)->service_poll) + avahi_threaded_poll_stop((*pdbs)->service_poll); + if ((*pdbs)->service_browser) + avahi_service_browser_free((*pdbs)->service_browser); + if ((*pdbs)->service_client) + avahi_client_free((*pdbs)->service_client); + if ((*pdbs)->service_poll) + avahi_threaded_poll_free((*pdbs)->service_poll); + free((char *)(*pdbs)); + *pdbs = NULL; } -mdns_backend mdns_avahi = { - .name = "avahi", - .mdns_register = avahi_register, - .mdns_unregister = avahi_unregister, - .mdns_dacp_monitor = avahi_dacp_monitor, - .mdns_dacp_dont_monitor = avahi_dacp_dont_monitor -}; +mdns_backend mdns_avahi = {.name = "avahi", + .mdns_register = avahi_register, + .mdns_unregister = avahi_unregister, + .mdns_dacp_monitor = avahi_dacp_monitor, + .mdns_dacp_dont_monitor = avahi_dacp_dont_monitor}; diff --git a/player.c b/player.c index 6f6fe203..87a9132d 100644 --- a/player.c +++ b/player.c @@ -1561,9 +1561,10 @@ static void *player_thread_func(void *arg) { // as a null operand, so we'll use it like that too int sync_error_out_of_bounds = 0; // number of times in a row that there's been a serious sync error - - // start an mdns/zeroconf thread to look for DACP messages containing our DACP_ID and getting the port number - mdns_dacp_monitor(conn->dacp_id,&conn->dacp_port,&conn->dacp_private); + + // start an mdns/zeroconf thread to look for DACP messages containing our DACP_ID and getting the + // port number + mdns_dacp_monitor(conn->dacp_id, &conn->dacp_port, &conn->dacp_private); conn->framesProcessedInThisEpoch = 0; conn->framesGeneratedInThisEpoch = 0; @@ -2169,15 +2170,16 @@ static void *player_thread_func(void *arg) { elapsedSec); } - // stop watching for DACP port number stuff - mdns_dacp_dont_monitor(&conn->dacp_private); // begin looking out for information about the client as a remote control. Specifically we might need the port number + // stop watching for DACP port number stuff + mdns_dacp_dont_monitor(&conn->dacp_private); // begin looking out for information about the client + // as a remote control. Specifically we might need + // the port number if (config.output->stop) config.output->stop(); usleep(100000); // allow this time to (?) allow the alsa subsystem to finish cleaning up after // itself. 50 ms seems too short - debug(2, "Shut down audio, control and timing threads"); conn->please_stop = 1; pthread_kill(rtp_audio_thread, SIGUSR1); @@ -2209,10 +2211,10 @@ static void *player_thread_func(void *arg) { debug(1, "Error destroying vol_mutex variable."); debug(1, "Player thread exit on RTSP conversation thread %d.", conn->connection_number); - if (conn->dacp_id) { - free(conn->dacp_id); - conn->dacp_id = NULL; - } + if (conn->dacp_id) { + free(conn->dacp_id); + conn->dacp_id = NULL; + } if (outbuf) free(outbuf); if (silence) @@ -2257,7 +2259,6 @@ void player_volume_without_notification(double airplay_volume, rtsp_conn_info *c // Thus, we ask our vol2attn function for an appropriate dB between -96.3 and 0 dB and translate // it back to a number. - int32_t hw_min_db, hw_max_db, hw_range_db, range_to_use, min_db, max_db; // hw_range_db is a flag; if 0 means no mixer @@ -2448,10 +2449,10 @@ void player_volume_without_notification(double airplay_volume, rtsp_conn_info *c } void player_volume(double airplay_volume, rtsp_conn_info *conn) { - command_set_volume(airplay_volume); - #ifdef HAVE_DBUS + command_set_volume(airplay_volume); +#ifdef HAVE_DBUS shairport_sync_set_volume(SHAIRPORT_SYNC(skeleton), airplay_volume); - #endif +#endif player_volume_without_notification(airplay_volume, conn); } diff --git a/player.h b/player.h index c7d748ae..a70fa045 100644 --- a/player.h +++ b/player.h @@ -158,14 +158,15 @@ typedef struct { int64_t session_corrections; int play_number_after_flush; - - // remote control stuff. The port to which to send commands is not specified, so you have to use mdns to find it. + + // remote control stuff. The port to which to send commands is not specified, so you have to use + // mdns to find it. // at present, only avahi can do this - - char* dacp_id; // id of the client -- used to find the port to be used - uint16_t dacp_port; // port on the client to send remote control messages to, else zero + + char *dacp_id; // id of the client -- used to find the port to be used + uint16_t dacp_port; // port on the client to send remote control messages to, else zero uint32_t dacp_active_remote; // key to send to the remote controller - void* dacp_private; // private storage (just a pointer) for the dacp_port resolver + void *dacp_private; // private storage (just a pointer) for the dacp_port resolver } rtsp_conn_info; diff --git a/rtp.c b/rtp.c index 73d9d3b9..999942a2 100644 --- a/rtp.c +++ b/rtp.c @@ -593,8 +593,8 @@ static int bind_port(int ip_family, const char *self_ip_address, uint32_t scope_ return sport; } -void rtp_setup(SOCKADDR *local, SOCKADDR *remote, int cport, int tport, - int *lsport, int *lcport, int *ltport, rtsp_conn_info *conn) { +void rtp_setup(SOCKADDR *local, SOCKADDR *remote, int cport, int tport, int *lsport, int *lcport, + int *ltport, rtsp_conn_info *conn) { // this gets the local and remote ip numbers (and ports used for the TCD stuff) // we use the local stuff to specify the address we are coming from and diff --git a/rtp.h b/rtp.h index fdd5f972..641d9623 100644 --- a/rtp.h +++ b/rtp.h @@ -13,8 +13,8 @@ void *rtp_control_receiver(void *arg); void *rtp_timing_receiver(void *arg); void rtp_setup(SOCKADDR *local, SOCKADDR *remote, int controlport, int timingport, - int *local_server_port, int *local_control_port, - int *local_timing_port, rtsp_conn_info *conn); + int *local_server_port, int *local_control_port, int *local_timing_port, + rtsp_conn_info *conn); void rtp_request_resend(seq_t first, uint32_t count, rtsp_conn_info *conn); void rtp_request_client_pause(rtsp_conn_info *conn); // ask the client to pause diff --git a/rtsp.c b/rtsp.c index d972e35d..ea4b0144 100644 --- a/rtsp.c +++ b/rtsp.c @@ -792,8 +792,7 @@ static void handle_setup(rtsp_conn_info *conn, rtsp_message *req, rtsp_message * tport = atoi(p); // rtsp_take_player(); - rtp_setup(&conn->local, &conn->remote, cport, tport, &lsport, &lcport, <port, - conn); + rtp_setup(&conn->local, &conn->remote, cport, tport, &lsport, &lcport, <port, conn); if (!lsport) goto error; char *q; @@ -1876,7 +1875,7 @@ void rtsp_listen_loop(void) { int *sockfd = NULL; int nsock = 0; int i, ret; - + playing_conn = NULL; // the data structure representing the connection that has the player. memset(&hints, 0, sizeof(hints)); diff --git a/shairport.c b/shairport.c index 27198cb5..f5973b02 100644 --- a/shairport.c +++ b/shairport.c @@ -965,12 +965,12 @@ int parse_options(int argc, char **argv) { return optind + 1; } -#if defined(HAVE_DBUS) || defined (HAVE_MPRIS) +#if defined(HAVE_DBUS) || defined(HAVE_MPRIS) GMainLoop *loop; pthread_t dbus_thread; void *dbus_thread_func(void *arg) { - loop = g_main_loop_new(NULL, FALSE); + loop = g_main_loop_new(NULL, FALSE); g_main_loop_run(loop); } #endif @@ -1497,11 +1497,11 @@ int main(int argc, char **argv) { #if defined(HAVE_DBUS) // Start up DBUS services after initial settings are all made - debug(1,"Starting up D-Bus services"); - pthread_create(&dbus_thread, NULL, &dbus_thread_func, NULL); - #ifdef HAVE_DBUS - start_dbus_service(); - #endif + debug(1, "Starting up D-Bus services"); + pthread_create(&dbus_thread, NULL, &dbus_thread_func, NULL); +#ifdef HAVE_DBUS + start_dbus_service(); +#endif #endif daemon_log(LOG_INFO, "Successful Startup");