packages/sound/squeezelite/patches/010-wait_for_nonzero_mac.patch
Ted Hess 12fbef0412 squeezelite: Import new package
Signed-off-by: Ted Hess <thess@kitschensync.net>
2015-07-17 12:12:18 -04:00

30 lines
792 B
Diff

--- a/main.c
+++ b/main.c
@@ -187,6 +187,17 @@ static void sighandler(int signum) {
signal(signum, SIG_DFL);
}
+// Waits for nonzero MAC
+static void get_nonzero_mac(u8_t mac[], u32_t timeout_ms) {
+ u32_t wait_timeout = gettime_ms() + timeout_ms;
+ do{
+ get_mac(mac);
+ if ((mac[0]+mac[1]+mac[2]+mac[3]+mac[4]+mac[5]) != 0) {
+ break;
+ }
+ }while(wait_timeout > gettime_ms());
+}
+
int main(int argc, char **argv) {
char *server = NULL;
char *output_device = "default";
@@ -240,7 +251,8 @@ int main(int argc, char **argv) {
#define MAXCMDLINE 512
char cmdline[MAXCMDLINE] = "";
- get_mac(mac);
+ // Waits for nonzero MAC
+ get_nonzero_mac(mac,10000);
for (i = 0; i < argc && (strlen(argv[i]) + strlen(cmdline) + 2 < MAXCMDLINE); i++) {
strcat(cmdline, argv[i]);