Added loopback_block_mode...

This commit is contained in:
Jaroslav Kysela 1998-11-15 15:19:45 +00:00
parent 23b627ca54
commit b4a8875cae
2 changed files with 19 additions and 0 deletions

View file

@ -57,6 +57,7 @@ extern "C" {
int snd_pcm_loopback_open( void **handle, int card, int device, int mode );
int snd_pcm_loopback_close( void *handle );
int snd_pcm_loopback_file_descriptor( void *handle );
int snd_pcm_loopback_block_mode( void *handle, int enable );
int snd_pcm_loopback_stream_mode( void *handle, int mode );
int snd_pcm_loopback_format( void *handle, snd_pcm_format_t *format );
ssize_t snd_pcm_loopback_read( void *handle, void *buffer, size_t size );

View file

@ -89,6 +89,24 @@ int snd_pcm_loopback_file_descriptor( void *handle )
return lb -> fd;
}
int snd_pcm_loopback_block_mode( void *handle, int enable )
{
snd_pcm_loopback_t *lb;
long flags;
lb = (snd_pcm_loopback_t *)handle;
if ( !lb ) return -EINVAL;
if ( fcntl( lb -> fd, F_GETFL, &flags ) < 0 )
return -errno;
if ( enable )
flags |= O_NONBLOCK;
else
flags &= ~O_NONBLOCK;
if ( fcntl( lb -> fd, F_SETFL, &flags ) < 0 )
return -errno;
return 0;
}
int snd_pcm_loopback_stream_mode( void *handle, int mode )
{
snd_pcm_loopback_t *lb;