Patch to expose device "handle" to applications (OSS)
[Trac: Originally reported by leland_lucius on 2006-09-14 16:03:54]
[Trac: Originally assigned to none]
Refer to mailing list discussion on PortMixer and exposing devices for a full understanding of the changes:
[Trac: Originally assigned to none]
Refer to mailing list discussion on PortMixer and exposing devices for a full understanding of the changes:
diff -wruN orig/audacity/lib-src/portaudio-v19/include/pa_unix_oss.h audacity/lib-src/portaudio-v19/include/pa_unix_oss.h
--- orig/audacity/lib-src/portaudio-v19/include/pa_unix_oss.h 1969-12-31 18:00:00.000000000 -0600
+++ audacity/lib-src/portaudio-v19/include/pa_unix_oss.h 2006-09-04 05:30:19.000000000 -0500
@@ -0,0 +1,52 @@
+#ifndef PA_UNIX_OSS_H
+#define PA_UNIX_OSS_H
+
+/*
+ * $Id: pa_unix_oss.h 1013 2006-05-15 04:01:31Z rossb $
+ * PortAudio Portable Real-Time Audio Library
+ * OSS-specific extensions
+ *
+ * Copyright (c) 1999-2000 Ross Bencina and Phil Burk
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files
+ * (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * Any person wishing to distribute modifications to the Software is
+ * requested to send the modifications to the original developer so that
+ * they can be incorporated into the canonical version.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+/** @file
+ * OSS-specific PortAudio API extension header file.
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+const char *PaOSS_GetStreamInputDevice( PaStream *s );
+
+const char *PaOSS_GetStreamOutputDevice( PaStream *s );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff -wruN orig/audacity/lib-src/portaudio-v19/src/hostapi/oss/pa_unix_oss.c audacity/lib-src/portaudio-v19/src/hostapi/oss/pa_unix_oss.c
--- orig/audacity/lib-src/portaudio-v19/src/hostapi/oss/pa_unix_oss.c 2006-09-04 14:05:58.000000000 -0500
+++ audacity/lib-src/portaudio-v19/src/hostapi/oss/pa_unix_oss.c 2006-09-04 05:30:19.000000000 -0500
@@ -1933,3 +1933,26 @@
return (PaOssStreamComponent_BufferSize( stream->playback ) - delay) / PaOssStreamComponent_FrameSize( stream->playback );
}
+const char *PaOSS_GetStreamInputDevice( PaStream* s )
+{
+ PaOssStream *stream = (PaOssStream*)s;
+
+ if( stream->capture )
+ {
+ return stream->capture->devName;
+ }
+
+ return NULL;
+}
+
+const char *PaOSS_GetStreamOutputDevice( PaStream* s )
+{
+ PaOssStream *stream = (PaOssStream*)s;
+
+ if( stream->playback )
+ {
+ return stream->playback->devName;
+ }
+
+ return NULL;
+}
Leave a comment