Index: audio/portaudio/files/patch-src_hostapi_oss_pa__unix__oss.c =================================================================== --- audio/portaudio/files/patch-src_hostapi_oss_pa__unix__oss.c (revision 494218) +++ audio/portaudio/files/patch-src_hostapi_oss_pa__unix__oss.c (working copy) @@ -1,4 +1,4 @@ ---- src/hostapi/oss/pa_unix_oss.c.orig 2018-07-17 07:24:21 UTC +--- src/hostapi/oss/pa_unix_oss.c.orig 2016-10-30 01:23:04 UTC +++ src/hostapi/oss/pa_unix_oss.c @@ -62,6 +62,9 @@ #include @@ -10,36 +10,38 @@ #ifdef HAVE_SYS_SOUNDCARD_H # include -@@ -525,7 +528,14 @@ static PaError BuildDeviceList( PaOSSHostApiRepresenta +@@ -525,6 +528,18 @@ static PaError BuildDeviceList( PaOSSHos int i; int numDevices = 0, maxDeviceInfos = 1; PaDeviceInfo **deviceInfos = NULL; ++ int basenameClone = 0; + int defaultDevice = 0; - ++ +#ifdef __FreeBSD__ -+ size_t len = sizeof(defaultDevice); ++ size_t len; ++ len = sizeof(basenameClone); ++ if (sysctlbyname("hw.snd.basename_clone", &basenameClone, &len, NULL, 0) == -1 || len != 4) ++ basenameClone = 0; ++ len = sizeof(defaultDevice); + if (sysctlbyname("hw.snd.default_unit", &defaultDevice, &len, NULL, 0) == -1 || len != 4) + defaultDevice = 0; +#endif -+ + /* These two will be set to the first working input and output device, respectively */ commonApi->info.defaultInputDevice = paNoDevice; - commonApi->info.defaultOutputDevice = paNoDevice; -@@ -541,7 +551,7 @@ static PaError BuildDeviceList( PaOSSHostApiRepresenta +@@ -541,7 +556,7 @@ static PaError BuildDeviceList( PaOSSHos PaDeviceInfo *deviceInfo; int testResult; - if( i == 0 ) -+ if( i == defaultDevice ) ++ if( basenameClone && i == defaultDevice ) snprintf(deviceName, sizeof (deviceName), "%s", DEVICE_NAME_BASE); else snprintf(deviceName, sizeof (deviceName), "%s%d", DEVICE_NAME_BASE, i); -@@ -2041,5 +2051,29 @@ static signed long GetStreamWriteAvailable( PaStream* - error: - return result; +@@ -2043,3 +2058,27 @@ error: #endif -+} -+ + } + +const char *PaOSS_GetStreamInputDevice( PaStream* s ) +{ + PaOssStream *stream = (PaOssStream*)s; @@ -62,5 +64,5 @@ + } + + return NULL; - } - ++} ++