diff options
| author | Gary Scavone <gary@music.mcgill.ca> | 2007-12-28 22:26:12 +0000 |
|---|---|---|
| committer | Stephen Sinclair <sinclair@music.mcgill.ca> | 2013-10-11 01:38:21 +0200 |
| commit | 637f7dc5e805bad55dba7fb7693a45f5992b2ae7 (patch) | |
| tree | 2ba4a88779f906b3d96c2f5194a3476d8f1912cd | |
| parent | b71d5ba31a0ebc433dcc255de7dbb47a689b937c (diff) | |
Ervik bug fixes and changes, documentation fixes (gps).
| -rw-r--r-- | RtAudio.cpp | 12 | ||||
| -rw-r--r-- | RtAudio.h | 2 | ||||
| -rw-r--r-- | doc/doxygen/acknowledge.txt | 1 |
3 files changed, 11 insertions, 4 deletions
diff --git a/RtAudio.cpp b/RtAudio.cpp index 8deb5f6..de7219f 100644 --- a/RtAudio.cpp +++ b/RtAudio.cpp @@ -38,7 +38,7 @@ */ /************************************************************************/ -// RtAudio: Version 4.0.3 +// RtAudio: Version 4.0.4pre #include "RtAudio.h" #include <iostream> @@ -1816,8 +1816,8 @@ bool RtApiJack :: probeDeviceOpen( unsigned int device, StreamMode mode, unsigne // Count the available ports containing the client name as device // channels. Jack "input ports" equal RtAudio output channels. unsigned int nChannels = 0; - unsigned long flag = JackPortIsOutput; - if ( mode == INPUT ) flag = JackPortIsInput; + unsigned long flag = JackPortIsInput; + if ( mode == INPUT ) flag = JackPortIsOutput; ports = jack_get_ports( client, deviceName.c_str(), NULL, flag ); if ( ports ) { while ( ports[ nChannels ] ) nChannels++; @@ -3725,6 +3725,7 @@ bool RtApiDs :: probeDeviceOpen( unsigned int device, StreamMode mode, unsigned ZeroMemory( &bufferDescription, sizeof( DSBUFFERDESC ) ); bufferDescription.dwSize = sizeof( DSBUFFERDESC ); bufferDescription.dwFlags = ( DSBCAPS_STICKYFOCUS | + DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_LOCHARDWARE ); // Force hardware mixing bufferDescription.dwBufferBytes = bufferBytes; @@ -3735,6 +3736,7 @@ bool RtApiDs :: probeDeviceOpen( unsigned int device, StreamMode mode, unsigned result = output->CreateSoundBuffer( &bufferDescription, &buffer, NULL ); if ( FAILED( result ) ) { bufferDescription.dwFlags = ( DSBCAPS_STICKYFOCUS | + DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_LOCSOFTWARE ); // Force software mixing result = output->CreateSoundBuffer( &bufferDescription, &buffer, NULL ); @@ -3995,6 +3997,8 @@ bool RtApiDs :: probeDeviceOpen( unsigned int device, StreamMode mode, unsigned goto error; } + // Boost DS thread priority + SetThreadPriority( (HANDLE) stream_.callbackInfo.thread, THREAD_PRIORITY_HIGHEST ); return SUCCESS; error: @@ -5164,6 +5168,7 @@ bool RtApiAlsa :: probeDeviceOpen( unsigned int device, StreamMode mode, unsigne if ( subdevice < 0 ) break; if ( nDevices == device ) { sprintf( name, "hw:%d,%d", card, subdevice ); + snd_ctl_close( chandle ); goto foundDevice; } nDevices++; @@ -6014,6 +6019,7 @@ unsigned int RtApiOss :: getDeviceCount( void ) return 0; } + close( mixerfd ); return sysinfo.numaudios; } @@ -42,7 +42,7 @@ \file RtAudio.h */ -// RtAudio: Version 4.0.3 +// RtAudio: Version 4.0.4pre #ifndef __RTAUDIO_H #define __RTAUDIO_H diff --git a/doc/doxygen/acknowledge.txt b/doc/doxygen/acknowledge.txt index 1c42191..f56836d 100644 --- a/doc/doxygen/acknowledge.txt +++ b/doc/doxygen/acknowledge.txt @@ -2,6 +2,7 @@ Many thanks to the following people for providing bug fixes and improvements: <UL> +<LI>Anders Ervik</LI> <LI>Robin Davies (Windows DS and ASIO)</LI> <LI>Ryan Williams (Windows non-MS compiler ASIO support)</LI> <LI>Ed Wildgoose (Linux ALSA and Jack)</LI> |
