Browse Source

Fixes for libsndfile 1.0.0

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@244 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.109.0
adnans 23 years ago
parent
commit
1c197cc9a0
1 changed files with 23 additions and 6 deletions
  1. +23
    -6
      example-clients/capture_client.c

+ 23
- 6
example-clients/capture_client.c View File

@@ -15,10 +15,14 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

* 2002/08/23 - modify for libsndfile 1.0.0 <andy@alsaplayer.org>
$Id$
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <sndfile.h>
@@ -155,7 +159,7 @@ disk_thread (void *arg)
}
}
if (sf_writef_double (info->sf, fbuf, buf->nframes, 1) != buf->nframes) {
if (sf_writef_double (info->sf, fbuf, buf->nframes) != buf->nframes) {
char errstr[256];
sf_error_str (0, errstr, sizeof (errstr) - 1);
fprintf (stderr, "cannot write data to sndfile (%s)\n", errstr);
@@ -230,13 +234,26 @@ void
setup_disk_thread (thread_info_t *info)
{
SF_INFO sf_info;

int short_mask;
sf_info.samplerate = jack_get_sample_rate (info->client);
sf_info.channels = info->channels;
sf_info.format = SF_FORMAT_WAV|SF_FORMAT_PCM;
sf_info.pcmbitwidth = info->bitdepth;

if ((info->sf = sf_open_write (info->path, &sf_info)) == NULL) {
switch (info->bitdepth) {
case 8: short_mask = SF_FORMAT_PCM_U8;
break;
case 16: short_mask = SF_FORMAT_PCM_16;
break;
case 24: short_mask = SF_FORMAT_PCM_24;
break;
case 32: short_mask = SF_FORMAT_PCM_32;
break;
default: short_mask = SF_FORMAT_PCM_16;
break;
}
sf_info.format = SF_FORMAT_WAV|short_mask;

if ((info->sf = sf_open (info->path, SFM_WRITE, &sf_info)) == NULL) {
char errstr[256];
sf_error_str (0, errstr, sizeof (errstr) - 1);
fprintf (stderr, "cannot open sndfile \"%s\" for output (%s)\n", info->path, errstr);


Loading…
Cancel
Save