]> Repos - portaudio/commitdiff
OSS: support 32-bit signed format AFMT_S32_NE (#462)
authorEd Maste <carpeddiem@gmail.com>
Thu, 4 Feb 2021 02:11:03 +0000 (21:11 -0500)
committerGitHub <noreply@github.com>
Thu, 4 Feb 2021 02:11:03 +0000 (13:11 +1100)
It may not be provided by all OSS implementations, so wrap the cases in
`#ifdef AFMT_S32_NE`.

src/hostapi/oss/pa_unix_oss.c

index 80df4c390768475ff4978f71a013ac721561362b..b66b2c1bb12e476e598c28b7b9a5931a4191e2c7 100644 (file)
@@ -937,6 +937,11 @@ static PaError Pa2OssFormat( PaSampleFormat paFormat, int *ossFormat )
         case paInt16:
             *ossFormat = AFMT_S16_NE;
             break;
+#ifdef AFMT_S32_NE
+        case paInt32:
+            *ossFormat = AFMT_S32_NE;
+            break;
+#endif
         default:
             return paInternalError;     /* This shouldn't happen */
     }
@@ -960,6 +965,10 @@ static PaError GetAvailableFormats( PaOssStreamComponent *component, PaSampleFor
         frmts |= paInt8;
     if( mask & AFMT_S16_NE )
         frmts |= paInt16;
+#ifdef AFMT_S32_NE
+    if( mask & AFMT_S32_NE )
+        frmts |= paInt32;
+#endif
     if( frmts == 0 )
         result = paSampleFormatNotSupported;