diff --git a/src/modules/slaudio/slaudio.c b/src/modules/slaudio/slaudio.c index 8da9425..d7e52f2 100644 --- a/src/modules/slaudio/slaudio.c +++ b/src/modules/slaudio/slaudio.c @@ -15,6 +15,9 @@ #ifdef WIN32 #include #endif +#ifdef DARWIN +#include +#endif #include #define BUFFER_LEN 19200 /* max buffer_len = 192kHz*2ch*25ms*2frames */ @@ -1601,6 +1604,21 @@ static int slaudio_init(void) /* Activate windows low latency timer */ timeBeginPeriod(1); #endif + +#ifdef DARWIN + /* Prevent DisplaySleep - usefull for backup applications + /* IOPMAssertionCreateWithName limits the string to 128 characters. */ + CFStringRef reasonForActivity = CFSTR("Studio Link - Audio"); + IOPMAssertionID assertionID; + + if (kIOReturnSuccess == + IOPMAssertionCreateWithName( + kIOPMAssertionTypeNoDisplaySleep, kIOPMAssertionLevelOn, + reasonForActivity, &assertionID)) + warning("macOS suspend prevent active\n"); + else + warning("macOS suspend prevent failed\n"); +#endif info("slaudio ready\n"); return err;