OSDN Git Service

Update copyright date
[cinnamon-audio/cinnamon.git] / src / oss / cin_oss_driver.c
index 23fac52..b54f65a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2019-2020 Alaskan Emily, Transnat Games
+/* Copyright (c) 2019-2021 AlaskanEmily, Transnat Games
  *
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -323,7 +323,8 @@ enum Cin_DriverError Cin_CreateDriver(struct Cin_Driver *drv){
     drv->id_counter = 0;
     
     {
-        int dev = -1, val = 0;
+        int dev = -1, val;
+        char buffer[] = "/dev/audio\0";
         const char *const devname = getenv("AUDIODEV");
         if(devname != NULL)
             dev = open(devname, O_WRONLY);
@@ -331,6 +332,12 @@ enum Cin_DriverError Cin_CreateDriver(struct Cin_Driver *drv){
         if(dev == -1 && devname == NULL)
             dev = open("/dev/dsp", O_WRONLY);
         
+        /* Some BSD systems have /dev/audio* instead. */
+        for(val = 0; dev == -1 && val <= 10; val++){
+            dev = open(buffer, O_WRONLY);
+            buffer[sizeof(buffer)-2] = '0' + val;
+        }
+
         if(dev == -1){
             ret = Cin_eDriverNoDevice;
             goto fail_mutex;