]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Add lots of debug messages, begin to use correctly sized PRId64 and friends in sprint...
authorMike Brady <mikebrady@eircom.net>
Tue, 6 Mar 2018 08:50:34 +0000 (08:50 +0000)
committerMike Brady <mikebrady@eircom.net>
Tue, 6 Mar 2018 08:50:34 +0000 (08:50 +0000)
dacp.c
dbus-service.c
mdns.h
rtp.c
rtp.h
shairport.c

diff --git a/dacp.c b/dacp.c
index 500b936575b424d16d7eb3f32dc98fe0668c900e..daffc4a6eb888237d0657c0598c72eb4aac85e7d 100644 (file)
--- a/dacp.c
+++ b/dacp.c
@@ -40,6 +40,7 @@
 #include <stdlib.h>
 #include <time.h>
 #include <unistd.h>
+#include <inttypes.h>
 
 #include "metadata_hub.h"
 #include "tinyhttp/http.h"
@@ -279,7 +280,7 @@ void set_dacp_server_information(rtsp_conn_info *conn) { // tell the DACP conver
 
 void *dacp_monitor_thread_code(void *na) {
   int scan_index = 0;
-  char server_reply[10000];
+  // char server_reply[10000];
   // debug(1, "DACP monitor thread started.");
   // wait until we get a valid port number to begin monitoring it
   int32_t revision_number = 1;
@@ -321,17 +322,17 @@ void *dacp_monitor_thread_code(void *na) {
             metadata_store.playerstatusupdates_are_received = 1;
             sp -= item_size; // drop down into the array -- don't skip over it
             le -= 8;
-            char typestring[5];
+            // char typestring[5];
             // we need to acquire the metadata data structure and possibly update it
             while (le >= 8) {
               uint32_t type = dacp_tlv_crawl(&sp, &item_size);
               le -= item_size + 8;
               char *t;
-              char u;
-              char *st;
+              // char u;
+              // char *st;
               int32_t r;
-              uint64_t s, v;
-              int i;
+              // uint64_t v;
+              // int i;
 
               switch (type) {
               case 'cmsr': // revision number
@@ -615,6 +616,7 @@ uint32_t dacp_tlv_crawl(char **p, int32_t *length) {
 }
 
 int dacp_get_client_volume(int32_t *result) {
+  debug(1,"dacp_get_client_volume");
   char *server_reply = NULL;
   int32_t overall_volume = -1;
   ssize_t reply_size;
@@ -646,16 +648,19 @@ int dacp_get_client_volume(int32_t *result) {
   } /* else {
     debug(1, "Unexpected response %d to dacp volume control request", response);
   } */
-  if (result)
+  if (result) {
     *result=overall_volume;
+    debug(1,"dacp_get_client_volume returns: %" PRId32 ".",overall_volume);
+  }
   return response;
 }
 
 int dacp_set_include_speaker_volume(int64_t machine_number, int32_t vo) {
+  debug(1,"dacp_set_include_speaker_volume to %" PRId32 ".",vo);
   char message[1000];
   memset(message, 0, sizeof(message));
-  sprintf(message, "setproperty?include-speaker-id=%ld&dmcp.volume=%d", machine_number, vo);
-  // debug(1,"sending \"%s\"",message);
+  sprintf(message, "setproperty?include-speaker-id=%" PRId64 "&dmcp.volume=%" PRId32 "", machine_number, vo);
+  debug(1,"sending \"%s\"",message);
   return send_simple_dacp_command(message);
   // should return 204
 }
@@ -663,14 +668,14 @@ int dacp_set_include_speaker_volume(int64_t machine_number, int32_t vo) {
 int dacp_set_speaker_volume(int64_t machine_number, int32_t vo) {
   char message[1000];
   memset(message, 0, sizeof(message));
-  sprintf(message, "setproperty?speaker-id=%ld&dmcp.volume=%d", machine_number, vo);
-  // debug(1,"sending \"%s\"",message);
+  sprintf(message, "setproperty?speaker-id=%" PRId64 "&dmcp.volume=%" PRId32 "", machine_number, vo);
+  debug(1,"sending \"%s\"",message);
   return send_simple_dacp_command(message);
   // should return 204
 }
 
 int dacp_get_speaker_list(dacp_spkr_stuff *speaker_info, int max_size_of_array, int *actual_speaker_count) {
-                              char typestring[5];
+  // char typestring[5];
   char *server_reply = NULL;
   int speaker_index = -1; // will be incremented before use
   int speaker_count = -1;         // will be fixed if there is no problem
@@ -701,7 +706,7 @@ int dacp_get_speaker_list(dacp_spkr_stuff *speaker_info, int max_size_of_array,
           } else {
             le -= item_size + 8;
             char *t;
-            char u;
+            // char u;
             int32_t r;
             int64_t s, v;
             switch (type) {
@@ -790,11 +795,10 @@ int dacp_get_volume(int32_t *the_actual_volume) {
   int32_t overall_volume = 0;
   int32_t actual_volume = 0;
   int http_response = dacp_get_client_volume(&overall_volume);
-  // debug(1, "DACP Volume: %d.", overall_volume);
   if (http_response==200) {
+    debug(1,"Overall volume is: %u.",overall_volume);
     int speaker_count = 0;
     http_response = dacp_get_speaker_list((dacp_spkr_stuff *)&speaker_info, 50,&speaker_count);
-    // debug(1,"DACP Speaker Count: %d.",speaker_count);
     if (http_response==200) {
       // get our machine number
       uint16_t *hn = (uint16_t *)config.hw_addr;
@@ -808,19 +812,18 @@ int dacp_get_volume(int32_t *the_actual_volume) {
       int32_t relative_volume = 0;
       for (i = 0; i < speaker_count; i++) {
         if (speaker_info[i].speaker_number == machine_number) {
-          // debug(1,"Our speaker number found: %ld.",machine_number);
           relative_volume = speaker_info[i].volume;
-          /*
+          debug(1,"Our speaker was found with a relative volume of: %u.",relative_volume);
+          
           if (speaker_info[i].active)
             debug(1,"Our speaker is active.");
           else
             debug(1,"Our speaker is inactive.");
-          */
+          
         }
       }
       actual_volume = (overall_volume * relative_volume + 50) / 100;
-      // debug(1,"Overall volume: %d, relative volume: %d%, actual volume:
-      // %d.",overall_volume,relative_volume,actual_volume);
+      debug(1,"Overall volume: %d, relative volume: %d%, actual volume: %d.",overall_volume,relative_volume,actual_volume);
       // debug(1,"Our actual speaker volume is %d.",actual_volume);
       //metadata_hub_modify_prolog();
       //metadata_store.speaker_volume = actual_volume;
@@ -828,10 +831,12 @@ int dacp_get_volume(int32_t *the_actual_volume) {
     } else {
       debug(1,"Unexpected return code %d from dacp_get_speaker_list.",http_response);
     }
-  } /* else {
+  }  else {
     debug(1,"Unexpected return code %d from dacp_get_client_volume.",http_response);
-  } */
-  if (the_actual_volume)
+  } 
+  if (the_actual_volume) {
+    debug(1,"dacp_get_volume returns %d.",actual_volume);
     *the_actual_volume = actual_volume;
-    return http_response;
+  }
+  return http_response;
 }
index 524bbb3f4303fa4c03d458258ffa2ffdfbc78094..473a92934bfc3fde400f1836e42ea6bcfdbdec13 100644 (file)
@@ -44,13 +44,14 @@ gboolean notify_loudness_threshold_callback(ShairportSync *skeleton, gpointer us
 }
 
 gboolean notify_volume_callback(ShairportSync *skeleton, gpointer user_data) {
-  gint vo = shairport_sync_get_volume(skeleton);
+  gint gvo = shairport_sync_get_volume(skeleton);
+  int32_t vo = gvo;
   if ((vo >= 0) && (vo <= 100)) {
     if (playing_conn) {
       if (vo !=
           playing_conn
               ->dacp_volume) { // this is to stop an infinite loop of setting->checking->setting...
-        // debug(1, "Remote-setting volume to %d.", vo);
+        debug(1, "Remote-setting volume to %d.", vo);
         // get the information we need -- the absolute volume, the speaker list, our ID
         struct dacp_speaker_stuff speaker_info[50];
         int32_t overall_volume;
@@ -67,12 +68,10 @@ gboolean notify_volume_callback(ShairportSync *skeleton, gpointer user_data) {
 
         // Let's find our own speaker in the array and pick up its relative volume
         int i;
-        int32_t relative_volume = 0;
         int32_t active_speakers = 0;
         for (i = 0; i < speaker_count; i++) {
           if (speaker_info[i].speaker_number == machine_number) {
-            // debug(1,"Our speaker number found: %ld.",machine_number);
-            relative_volume = speaker_info[i].volume;
+            debug(1,"Our speaker number found: %ld with relative volume.",machine_number,speaker_info[i].volume);
           }
           if (speaker_info[i].active == 1) {
             active_speakers++;
@@ -81,13 +80,14 @@ gboolean notify_volume_callback(ShairportSync *skeleton, gpointer user_data) {
 
         if (active_speakers == 1) {
           // must be just this speaker
+          debug(1, "Remote-setting volume to %d on just one speaker.", vo);
           dacp_set_include_speaker_volume(machine_number, vo);
         } else if (active_speakers == 0) {
           debug(1, "No speakers!");
         } else {
-          // debug(1, "Speakers: %d, active: %d",speaker_count,active_speakers);
+          debug(1, "Speakers: %d, active: %d",speaker_count,active_speakers);
           if (vo >= overall_volume) {
-            // debug(1,"Multiple speakers active, but desired new volume is highest");
+            debug(1,"Multiple speakers active, but desired new volume is highest");
             dacp_set_include_speaker_volume(machine_number, vo);
           } else {
             // the desired volume is less than the current overall volume and there is more than one
@@ -112,32 +112,29 @@ gboolean notify_volume_callback(ShairportSync *skeleton, gpointer user_data) {
             }
             highest_other_volume = (highest_other_volume * overall_volume + 50) / 100;
             if (highest_other_volume <= vo) {
-              // debug(1,"Highest other volume %d is less than or equal to the desired new volume
-              // %d.",highest_other_volume,vo);
+              debug(1,"Highest other volume %d is less than or equal to the desired new volume %d.",highest_other_volume,vo);
               dacp_set_include_speaker_volume(machine_number, vo);
             } else {
-              // debug(1,"Highest other volume %d is greater than the desired new volume
-              // %d.",highest_other_volume,vo);
+              debug(1,"Highest other volume %d is greater than the desired new volume %d.",highest_other_volume,vo);
               // if the present overall volume is higher than the highest other volume at present,
               // then bring it down to it.
               if (overall_volume > highest_other_volume) {
-                // debug(1,"Lower overall volume to new highest volume.");
+                debug(1,"Lower overall volume to new highest volume.");
                 dacp_set_include_speaker_volume(
                     machine_number,
                     highest_other_volume); // set the overall volume to the highest one
               }
               int32_t desired_relative_volume =
                   (vo * 100 + (highest_other_volume / 2)) / highest_other_volume;
-              // debug(1,"Set our speaker volume relative to the highest volume.");
+              debug(1,"Set our speaker volume relative to the highest volume.");
               dacp_set_speaker_volume(
                   machine_number,
                   desired_relative_volume); // set the overall volume to the highest one
             }
           }
         }
-        //     } else {
-        //       debug(1, "No need to remote-set volume to %d, as it is already set to this
-        //       value.",playing_conn->dacp_volume);
+           } else {
+              debug(1, "No need to remote-set volume to %d, as it is already set to this value.",playing_conn->dacp_volume);
       }
     } else
       debug(1, "no thread playing -- ignored.");
diff --git a/mdns.h b/mdns.h
index b720c6a9e69947e3f2d7ac6099ac48af0d1b120b..96241df7f1b942a9d1d8836ddbe681efa9a10544 100644 (file)
--- a/mdns.h
+++ b/mdns.h
@@ -26,10 +26,11 @@ typedef struct {
 
 #define METADATA_EXPRESSION config.get_coverart ? "md=0,1,2" : "md=0,2"
 
-// #define MDNS_RECORD_WITH_METADATA                                                                  \
-//  "tp=UDP", "sm=false", "ek=1", "et=0,1", "cn=0,1", "ch=2", METADATA_EXPRESSION, "ss=16",          \
-//      "sr=44100", "vn=3", "txtvers=1", config.password ? "pw=true" : "pw=false"
-
+/*
+ #define MDNS_RECORD_WITH_METADATA                                                                  \
+  "tp=UDP", "sm=false", "ek=1", "et=0,1", "cn=0,1", "ch=2", METADATA_EXPRESSION, "ss=16",          \
+      "sr=44100", "vn=3", "txtvers=1", config.password ? "pw=true" : "pw=false"
+*/
 #define MDNS_RECORD_WITH_METADATA                                                                  \
   "sf=0x4", "fv=76400.10", "am=ShairportSync", "vs=105.1", "tp=TCP,UDP", "vn=65537",               \
       METADATA_EXPRESSION, "ss=16", "sr=44100", "da=true", "sv=false", "et=0,1", "ek=1", "cn=0,1", \
@@ -37,9 +38,11 @@ typedef struct {
 
 #endif
 
-// #define MDNS_RECORD_WITHOUT_METADATA                                                               \
-//  "tp=UDP", "sm=false", "ek=1", "et=0,1", "cn=0,1", "ch=2", METADATA_EXPRESSION, "ss=16", "sr=44100", "vn=3",           \
-//      "txtvers=1", config.password ? "pw=true" : "pw=false"
+/*
+ #define MDNS_RECORD_WITHOUT_METADATA                                                               \
+  "tp=UDP", "sm=false", "ek=1", "et=0,1", "cn=0,1", "ch=2", METADATA_EXPRESSION, "ss=16", "sr=44100", "vn=3",           \
+      "txtvers=1", config.password ? "pw=true" : "pw=false"
+*/
 
 #define MDNS_RECORD_WITHOUT_METADATA                                                               \
   "sf=0x4", "fv=76400.10", "am=ShairportSync", "vs=105.1", "tp=TCP,UDP", "vn=65537", "ss=16",      \
diff --git a/rtp.c b/rtp.c
index 530c7c58443cd80da4172f8fbd5fbb159a513e4b..cb38c4bb29b81914fb07a256e662cc8c9e53bc7f 100644 (file)
--- a/rtp.c
+++ b/rtp.c
@@ -43,6 +43,9 @@
 #include "player.h"
 #include "rtp.h"
 
+uint64_t static local_to_remote_time_jitters;
+uint64_t static local_to_remote_time_jitters_count;
+
 void memory_barrier();
 
 void rtp_initialise(rtsp_conn_info *conn) {
diff --git a/rtp.h b/rtp.h
index 641d9623f33f14e3a932ad79f470ed399576610d..c89f7e5664f688dfda37a6df0c3af73e624ccb1e 100644 (file)
--- a/rtp.h
+++ b/rtp.h
@@ -22,7 +22,4 @@ void get_reference_timestamp_stuff(int64_t *timestamp, uint64_t *timestamp_time,
                                    uint64_t *remote_timestamp_time, rtsp_conn_info *conn);
 void clear_reference_timestamp(rtsp_conn_info *conn);
 
-uint64_t static local_to_remote_time_jitters;
-uint64_t static local_to_remote_time_jitters_count;
-
 #endif // _RTP_H
index 76762dea771f754f2fde7b9f623c2f07e8243651..92a8589a908bb546a6ce7c3ca680629aa8097a73 100644 (file)
@@ -288,7 +288,7 @@ int parse_options(int argc, char **argv) {
   char *raw_service_name = NULL; /* Used to pick up the service name before possibly expanding it */
   char *stuffing = NULL;         /* used for picking up the stuffing option */
   signed char c;                 /* used for argument parsing */
-  int i = 0;                     /* used for tracking options */
+  // int i = 0;                     /* used for tracking options */
   int fResyncthreshold = (int)(config.resyncthreshold * 44100);
   int fTolerance = (int)(config.tolerance * 44100);
   poptContext optCon; /* context for parsing command-line options */
@@ -396,7 +396,7 @@ int parse_options(int argc, char **argv) {
   config.cover_art_cache_dir = "/tmp/shairport-sync/.cache/coverart";
 #endif
 
-  config_setting_t *setting;
+  // config_setting_t *setting;
   const char *str = 0;
   int value = 0;
   double dvalue = 0.0;