moved port audio test programs
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Sun, 8 Jul 2012 05:32:47 +0000 (05:32 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Sun, 8 Jul 2012 05:32:47 +0000 (05:32 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@587 01035d8c-6547-0410-b346-abe4f91aad63

codec2-dev/unittest/Makefile.am
codec2-dev/unittest/Makefile.in
codec2-dev/unittest/pa_play.c [deleted file]
codec2-dev/unittest/pa_rec.c [deleted file]
codec2-dev/unittest/pa_recplay.c [deleted file]

index 170181769de395370d01d12ddc8a995d34ece2cc..a3fae663825ea9b2ee0d4f1df6a5113085a89150 100644 (file)
@@ -3,7 +3,7 @@ AUTOMAKE_OPTS = gnu
 NAME = libcodec2
 AM_CPPFLAGS = $(AM_CFLAGS)
 
-noinst_PROGRAMS = genres genlsp extract vqtrain vqtrainjnd tnlp tinterp tquant vq_train_jvm scalarlsptest tfdmdv t48_8 lspsync create_interleaver tlspsens pa_rec pa_play pa_recplay
+noinst_PROGRAMS = genres genlsp extract vqtrain vqtrainjnd tnlp tinterp tquant vq_train_jvm scalarlsptest tfdmdv t48_8 lspsync create_interleaver tlspsens 
 
 genres_SOURCES = genres.c ../src/lpc.c
 genres_LDADD = $(lib_LTLIBRARIES) 
@@ -68,15 +68,3 @@ tlspsens_SOURCES = tlspsens.c ../src/quantise.c ../src/lpc.c ../src/lsp.c ../src
 tlspsens_LDADD = $(lib_LTLIBRARIES) 
 tlspsens_LDFLAGS = $(LIBS)
 
-pa_rec_SOURCES = pa_rec.c ../src/fdmdv.c ../src/kiss_fft.c
-pa_rec_LDADD = $(lib_LTLIBRARIES) -lportaudio
-pa_rec_LDFLAGS = $(LIBS)
-
-pa_play_SOURCES = pa_play.c ../src/fdmdv.c ../src/kiss_fft.c
-pa_play_LDADD = $(lib_LTLIBRARIES) -lportaudio
-pa_play_LDFLAGS = $(LIBS)
-
-pa_recplay_SOURCES = pa_recplay.c ../src/fdmdv.c ../src/kiss_fft.c
-pa_recplay_LDADD = $(lib_LTLIBRARIES) -lportaudio
-pa_recplay_LDFLAGS = $(LIBS)
-
index 50c54b7680ada58f5f5e75ac19387b4bb8f0ffa5..ab863f6cda809f27a83bf8581383924ee3c18268 100644 (file)
@@ -40,8 +40,7 @@ noinst_PROGRAMS = genres$(EXEEXT) genlsp$(EXEEXT) extract$(EXEEXT) \
        vqtrain$(EXEEXT) vqtrainjnd$(EXEEXT) tnlp$(EXEEXT) \
        tinterp$(EXEEXT) tquant$(EXEEXT) vq_train_jvm$(EXEEXT) \
        scalarlsptest$(EXEEXT) tfdmdv$(EXEEXT) t48_8$(EXEEXT) \
-       lspsync$(EXEEXT) create_interleaver$(EXEEXT) tlspsens$(EXEEXT) \
-       pa_rec$(EXEEXT) pa_play$(EXEEXT) pa_recplay$(EXEEXT)
+       lspsync$(EXEEXT) create_interleaver$(EXEEXT) tlspsens$(EXEEXT)
 subdir = unittest
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -74,18 +73,6 @@ am_lspsync_OBJECTS = lspsync.$(OBJEXT) quantise.$(OBJEXT) \
        pack.$(OBJEXT) $(am__objects_1)
 lspsync_OBJECTS = $(am_lspsync_OBJECTS)
 lspsync_DEPENDENCIES =
-am_pa_play_OBJECTS = pa_play.$(OBJEXT) fdmdv.$(OBJEXT) \
-       kiss_fft.$(OBJEXT)
-pa_play_OBJECTS = $(am_pa_play_OBJECTS)
-pa_play_DEPENDENCIES =
-am_pa_rec_OBJECTS = pa_rec.$(OBJEXT) fdmdv.$(OBJEXT) \
-       kiss_fft.$(OBJEXT)
-pa_rec_OBJECTS = $(am_pa_rec_OBJECTS)
-pa_rec_DEPENDENCIES =
-am_pa_recplay_OBJECTS = pa_recplay.$(OBJEXT) fdmdv.$(OBJEXT) \
-       kiss_fft.$(OBJEXT)
-pa_recplay_OBJECTS = $(am_pa_recplay_OBJECTS)
-pa_recplay_DEPENDENCIES =
 am_scalarlsptest_OBJECTS = scalarlsptest.$(OBJEXT) quantise.$(OBJEXT) \
        lpc.$(OBJEXT) lsp.$(OBJEXT) dump.$(OBJEXT) kiss_fft.$(OBJEXT) \
        $(am__objects_1)
@@ -142,14 +129,12 @@ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(create_interleaver_SOURCES) $(extract_SOURCES) \
        $(genlsp_SOURCES) $(genres_SOURCES) $(lspsync_SOURCES) \
-       $(pa_play_SOURCES) $(pa_rec_SOURCES) $(pa_recplay_SOURCES) \
        $(scalarlsptest_SOURCES) $(t48_8_SOURCES) $(tfdmdv_SOURCES) \
        $(tinterp_SOURCES) $(tlspsens_SOURCES) $(tnlp_SOURCES) \
        $(tquant_SOURCES) $(vq_train_jvm_SOURCES) $(vqtrain_SOURCES) \
        $(vqtrainjnd_SOURCES)
 DIST_SOURCES = $(create_interleaver_SOURCES) $(extract_SOURCES) \
        $(genlsp_SOURCES) $(genres_SOURCES) $(lspsync_SOURCES) \
-       $(pa_play_SOURCES) $(pa_rec_SOURCES) $(pa_recplay_SOURCES) \
        $(scalarlsptest_SOURCES) $(t48_8_SOURCES) $(tfdmdv_SOURCES) \
        $(tinterp_SOURCES) $(tlspsens_SOURCES) $(tnlp_SOURCES) \
        $(tquant_SOURCES) $(vq_train_jvm_SOURCES) $(vqtrain_SOURCES) \
@@ -313,15 +298,6 @@ create_interleaver_LDFLAGS = $(LIBS)
 tlspsens_SOURCES = tlspsens.c ../src/quantise.c ../src/lpc.c ../src/lsp.c ../src/dump.c ../src/kiss_fft.c ../src/codec2.c ../src/sine.c ../src/nlp.c ../src/pack.c ../src/interp.c ../src/postfilter.c ../src/phase.c $(CODEBOOKS)
 tlspsens_LDADD = $(lib_LTLIBRARIES) 
 tlspsens_LDFLAGS = $(LIBS)
-pa_rec_SOURCES = pa_rec.c ../src/fdmdv.c ../src/kiss_fft.c
-pa_rec_LDADD = $(lib_LTLIBRARIES) -lportaudio
-pa_rec_LDFLAGS = $(LIBS)
-pa_play_SOURCES = pa_play.c ../src/fdmdv.c ../src/kiss_fft.c
-pa_play_LDADD = $(lib_LTLIBRARIES) -lportaudio
-pa_play_LDFLAGS = $(LIBS)
-pa_recplay_SOURCES = pa_recplay.c ../src/fdmdv.c ../src/kiss_fft.c
-pa_recplay_LDADD = $(lib_LTLIBRARIES) -lportaudio
-pa_recplay_LDFLAGS = $(LIBS)
 all: all-am
 
 .SUFFIXES:
@@ -377,15 +353,6 @@ genres$(EXEEXT): $(genres_OBJECTS) $(genres_DEPENDENCIES)
 lspsync$(EXEEXT): $(lspsync_OBJECTS) $(lspsync_DEPENDENCIES) 
        @rm -f lspsync$(EXEEXT)
        $(LINK) $(lspsync_LDFLAGS) $(lspsync_OBJECTS) $(lspsync_LDADD) $(LIBS)
-pa_play$(EXEEXT): $(pa_play_OBJECTS) $(pa_play_DEPENDENCIES) 
-       @rm -f pa_play$(EXEEXT)
-       $(LINK) $(pa_play_LDFLAGS) $(pa_play_OBJECTS) $(pa_play_LDADD) $(LIBS)
-pa_rec$(EXEEXT): $(pa_rec_OBJECTS) $(pa_rec_DEPENDENCIES) 
-       @rm -f pa_rec$(EXEEXT)
-       $(LINK) $(pa_rec_LDFLAGS) $(pa_rec_OBJECTS) $(pa_rec_LDADD) $(LIBS)
-pa_recplay$(EXEEXT): $(pa_recplay_OBJECTS) $(pa_recplay_DEPENDENCIES) 
-       @rm -f pa_recplay$(EXEEXT)
-       $(LINK) $(pa_recplay_LDFLAGS) $(pa_recplay_OBJECTS) $(pa_recplay_LDADD) $(LIBS)
 scalarlsptest$(EXEEXT): $(scalarlsptest_OBJECTS) $(scalarlsptest_DEPENDENCIES) 
        @rm -f scalarlsptest$(EXEEXT)
        $(LINK) $(scalarlsptest_LDFLAGS) $(scalarlsptest_OBJECTS) $(scalarlsptest_LDADD) $(LIBS)
@@ -444,9 +411,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lspsync.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/octave.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pa_play.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pa_rec.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pa_recplay.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phase.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/postfilter.Po@am__quote@
diff --git a/codec2-dev/unittest/pa_play.c b/codec2-dev/unittest/pa_play.c
deleted file mode 100644 (file)
index 00ea086..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/* 
-   pa_play.c
-   David Rowe
-   July 8 2012
-
-   Converts samples from a 16 bit short 8000 Hz rawfile to 480000Hz
-   sample rate and plays them using the default sound device.  Used as
-   an intermediate step in Portaudio integration.
-
-   Modified from paex_record.c Portaudio example. Original author
-   author Phil Burk http://www.softsynth.com
-*/
-
-/*
- * $Id: paex_record.c 1752 2011-09-08 03:21:55Z philburk $
- *
- * This program uses the PortAudio Portable Audio Library.
- * For more information see: http://www.portaudio.com
- * 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.
- *
- * 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.
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "portaudio.h"
-#include "fdmdv.h"
-
-#define SAMPLE_RATE  48000         /* 48 kHz sampling rate rec. as we
-                                     can trust accuracy of sound
-                                     card */
-#define N8           160           /* processing buffer size at 8 kHz */
-#define N48          (N8*FDMDV_OS) /* processing buffer size at 48 kHz */
-#define MEM8 (FDMDV_OS_TAPS/FDMDV_OS)
-#define NUM_CHANNELS 2             /* I think most sound cards prefer
-                                     stereo, we will convert to mono
-                                     as we sample */
-
-/* state information passed to call back */
-
-typedef struct {
-    FILE               *fin;
-    float               in8k[MEM8 + N8];
-} paTestData;
-
-
-/* 
-   This routine will be called by the PortAudio engine when audio is
-   required.  It may be called at interrupt level on some machines so
-   don't do anything that could mess up the system like calling
-   malloc() or free().
-*/
-
-static int playCallback( const void *inputBuffer, void *outputBuffer,
-                           unsigned long framesPerBuffer,
-                           const PaStreamCallbackTimeInfo* timeInfo,
-                           PaStreamCallbackFlags statusFlags,
-                           void *userData )
-{
-    paTestData *data = (paTestData*)userData;
-    FILE       *fin = data->fin;
-    int         i, nread;
-    int         finished;
-    short      *wptr = (short*)outputBuffer;
-    float      *in8k = data->in8k;
-    float       out48k[N48];
-    short       out48k_short[N48];
-    short       in8k_short[N8];
-
-    (void) outputBuffer; /* Prevent unused variable warnings. */
-    (void) timeInfo;
-    (void) statusFlags;
-    (void) userData;
-
-    /* note Portaudio docs recs. against making systems calls like
-       fwrite() in this callback but seems to work OK */
-    
-    nread = fread(in8k_short, sizeof(short), N8, fin);
-    if (nread == N8)
-       finished = paContinue;
-    else
-       finished = paComplete;
-
-    for(i=0; i<N8; i++)
-       in8k[MEM8+i] = in8k_short[i];
-
-    /* upsample and update filter memory */
-
-    fdmdv_8_to_48(out48k, &in8k[MEM8], N8);
-    for(i=0; i<MEM8; i++)
-       in8k[i] = in8k[i+N8];
-
-    assert(outputBuffer != NULL);
-
-    /* write signal to both channels */
-
-    for(i=0; i<N48; i++)
-       out48k_short[i] = (short)out48k[i];
-    for(i=0; i<framesPerBuffer; i++,wptr+=2) {
-       wptr[0] = out48k_short[i]; 
-       wptr[1] = out48k_short[i]; 
-    }
-
-    return finished;
-}
-
-int main(int argc, char *argv[])
-{
-    PaStreamParameters  outputParameters;
-    PaStream*           stream;
-    PaError             err = paNoError;
-    paTestData          data;
-    int                 i;
-
-    if (argc != 2) {
-       printf("usage: %s rawFile\n", argv[0]);
-       exit(0);
-    }
-
-    data.fin = fopen(argv[1], "rt");
-    if (data.fin == NULL) {
-       printf("Error opening input raw file %s\n", argv[1]);
-       exit(1);
-    }
-
-    for(i=0; i<MEM8; i++)
-       data.in8k[i] = 0.0;
-
-    err = Pa_Initialize();
-    if( err != paNoError ) goto done;
-
-    outputParameters.device = Pa_GetDefaultOutputDevice(); /* default input device */
-    if (outputParameters.device == paNoDevice) {
-        fprintf(stderr,"Error: No default output device.\n");
-        goto done;
-    }
-    outputParameters.channelCount = NUM_CHANNELS;         /* stereo input */
-    outputParameters.sampleFormat = paInt16;
-    outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultLowOutputLatency;
-    outputParameters.hostApiSpecificStreamInfo = NULL;
-
-    /* Play some audio --------------------------------------------- */
-
-    err = Pa_OpenStream(
-              &stream,
-             NULL,
-              &outputParameters,
-              SAMPLE_RATE,
-              N48,
-              paClipOff,      
-              playCallback,
-              &data );
-    if( err != paNoError ) goto done;
-
-    err = Pa_StartStream( stream );
-    if( err != paNoError ) goto done;
-
-    while( ( err = Pa_IsStreamActive( stream ) ) == 1 )
-    {
-        Pa_Sleep(100);
-    }
-    if( err < 0 ) goto done;
-
-    err = Pa_CloseStream( stream );
-    if( err != paNoError ) goto done;
-
-    fclose(data.fin);
-
-
-done:
-    Pa_Terminate();
-    if( err != paNoError )
-    {
-        fprintf( stderr, "An error occured while using the portaudio stream\n" );
-        fprintf( stderr, "Error number: %d\n", err );
-        fprintf( stderr, "Error message: %s\n", Pa_GetErrorText( err ) );
-        err = 1;          /* Always return 0 or 1, but no other return codes. */
-    }
-    return err;
-}
-
diff --git a/codec2-dev/unittest/pa_rec.c b/codec2-dev/unittest/pa_rec.c
deleted file mode 100644 (file)
index 7936662..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/* 
-   pa_rec.c
-   David Rowe
-   July 6 2012
-
-   Records at 48000 Hz from default sound device, convertes to 8 kHz,
-   and saves to raw file.  Used to get experience with Portaudio.
-
-   Modified from paex_record.c Portaudio example. Original author
-   author Phil Burk http://www.softsynth.com
-
-   To Build:
-
-     gcc paex_rec.c -o paex_rec -lm -lrt -lportaudio -pthread
-*/
-
-/*
- * $Id: paex_record.c 1752 2011-09-08 03:21:55Z philburk $
- *
- * This program uses the PortAudio Portable Audio Library.
- * For more information see: http://www.portaudio.com
- * 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.
- *
- * 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.
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "portaudio.h"
-#include "fdmdv.h"
-
-#define SAMPLE_RATE  48000         /* 48 kHz sampling rate rec. as we
-                                     can trust accuracy of sound
-                                     card */
-#define N8           160           /* processing buffer size at 8 kHz */
-#define N48          (N8*FDMDV_OS) /* processing buffer size at 48 kHz */
-#define NUM_CHANNELS 2             /* I think most sound cards prefer
-                                     stereo, we will convert to mono
-                                     as we sample */
-
-/* state information passed to call back */
-
-typedef struct {
-    FILE               *fout;
-    int                 framesLeft;
-    float               in48k[FDMDV_OS_TAPS + N48];
-} paTestData;
-
-
-/* 
-   This routine will be called by the PortAudio engine when audio is
-   available.  It may be called at interrupt level on some machines so
-   don't do anything that could mess up the system like calling
-   malloc() or free().
-*/
-
-static int recordCallback( const void *inputBuffer, void *outputBuffer,
-                           unsigned long framesPerBuffer,
-                           const PaStreamCallbackTimeInfo* timeInfo,
-                           PaStreamCallbackFlags statusFlags,
-                           void *userData )
-{
-    paTestData *data = (paTestData*)userData;
-    FILE       *fout = data->fout;
-    int         framesToCopy;
-    int         i, n8;
-    int         finished;
-    short      *rptr = (short*)inputBuffer;
-    float       out8k[N8];
-    short       out8k_short[N8];
-
-    (void) outputBuffer; /* Prevent unused variable warnings. */
-    (void) timeInfo;
-    (void) statusFlags;
-    (void) userData;
-
-    if (data->framesLeft < framesPerBuffer) {
-        framesToCopy = data->framesLeft;
-        finished = paComplete;
-    } 
-    else {
-        framesToCopy = framesPerBuffer;
-        finished = paContinue;
-    }
-    data->framesLeft -= framesToCopy;
-
-    assert(inputBuffer != NULL);
-
-    /* just use left channel */
-
-    for(i=0; i<framesToCopy; i++,rptr+=2)
-       data->in48k[i+FDMDV_OS_TAPS] = *rptr; 
-
-    /* downsample and update filter memory */
-
-    fdmdv_48_to_8(out8k, &data->in48k[FDMDV_OS_TAPS], N8);
-    for(i=0; i<FDMDV_OS_TAPS; i++)
-       data->in48k[i] = data->in48k[i+framesToCopy];
-
-    /* save 8k to disk  */
-
-    for(i=0; i<N8; i++)
-       out8k_short[i] = (short)out8k[i];
-
-    /* note Portaudio docs recs. against making systems calls like
-       fwrite() in this callback but seems to work OK */
-    
-    fwrite(out8k_short, sizeof(short), N8, fout);
-
-    return finished;
-}
-
-int main(int argc, char *argv[])
-{
-    PaStreamParameters  inputParameters,
-                        outputParameters;
-    PaStream*           stream;
-    PaError             err = paNoError;
-    paTestData          data;
-    int                 i;
-    int                 numSecs;
-
-    if (argc != 3) {
-       printf("usage: %s rawFile time(s)\n", argv[0]);
-       exit(0);
-    }
-
-    data.fout = fopen(argv[1], "wt");
-    if (data.fout == NULL) {
-       printf("Error opening output raw file %s\n", argv[1]);
-       exit(1);
-    }
-
-    numSecs = atoi(argv[2]);
-    data.framesLeft = numSecs * SAMPLE_RATE;
-
-    for(i=0; i<FDMDV_OS_TAPS; i++)
-       data.in48k[i] = 0.0;
-
-    err = Pa_Initialize();
-    if( err != paNoError ) goto done;
-
-    inputParameters.device = Pa_GetDefaultInputDevice(); /* default input device */
-    if (inputParameters.device == paNoDevice) {
-        fprintf(stderr,"Error: No default input device.\n");
-        goto done;
-    }
-    inputParameters.channelCount = NUM_CHANNELS;         /* stereo input */
-    inputParameters.sampleFormat = paInt16;
-    inputParameters.suggestedLatency = Pa_GetDeviceInfo( inputParameters.device )->defaultLowInputLatency;
-    inputParameters.hostApiSpecificStreamInfo = NULL;
-
-    /* Record some audio --------------------------------------------- */
-
-    err = Pa_OpenStream(
-              &stream,
-              &inputParameters,
-              NULL,                  /* &outputParameters, */
-              SAMPLE_RATE,
-              N48,
-              paClipOff,      /* we won't output out of range samples so don't bother clipping them */
-              recordCallback,
-              &data );
-    if( err != paNoError ) goto done;
-
-    err = Pa_StartStream( stream );
-    if( err != paNoError ) goto done;
-
-    while( ( err = Pa_IsStreamActive( stream ) ) == 1 )
-    {
-        Pa_Sleep(100);
-    }
-    if( err < 0 ) goto done;
-
-    err = Pa_CloseStream( stream );
-    if( err != paNoError ) goto done;
-
-    fclose(data.fout);
-
-
-done:
-    Pa_Terminate();
-    if( err != paNoError )
-    {
-        fprintf( stderr, "An error occured while using the portaudio stream\n" );
-        fprintf( stderr, "Error number: %d\n", err );
-        fprintf( stderr, "Error message: %s\n", Pa_GetErrorText( err ) );
-        err = 1;          /* Always return 0 or 1, but no other return codes. */
-    }
-    return err;
-}
-
diff --git a/codec2-dev/unittest/pa_recplay.c b/codec2-dev/unittest/pa_recplay.c
deleted file mode 100644 (file)
index c62eb90..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/* 
-   pa_recplay.c
-   David Rowe
-   July 8 2012
-
-   Echos audio from sound card input to sound card output. Samples at
-   48 kHz, converts to 8 kHz, converts back to 48kHz, and plays using
-   the default sound device.  Used as an intermediate step in
-   Portaudio integration.
-
-   Modified from paex_record.c Portaudio example. Original author
-   author Phil Burk http://www.softsynth.com
-*/
-
-/*
- * $Id: paex_record.c 1752 2011-09-08 03:21:55Z philburk $
- *
- * This program uses the PortAudio Portable Audio Library.
- * For more information see: http://www.portaudio.com
- * 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.
- *
- * 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.
- */
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "portaudio.h"
-#include "fdmdv.h"
-
-#define SAMPLE_RATE  48000         /* 48 kHz sampling rate rec. as we
-                                     can trust accuracy of sound
-                                     card */
-#define N8           160           /* processing buffer size at 8 kHz */
-#define N48          (N8*FDMDV_OS) /* processing buffer size at 48 kHz */
-#define MEM8 (FDMDV_OS_TAPS/FDMDV_OS)
-#define NUM_CHANNELS 2             /* I think most sound cards prefer
-                                     stereo, we will convert to mono
-                                     as we sample */
-
-/* state information passed to call back */
-
-typedef struct {
-    float               in48k[FDMDV_OS_TAPS + N48];
-    float               in8k[MEM8 + N8];
-} paTestData;
-
-
-/* 
-   This routine will be called by the PortAudio engine when audio is
-   required.  It may be called at interrupt level on some machines so
-   don't do anything that could mess up the system like calling
-   malloc() or free().
-*/
-
-static int callback( const void *inputBuffer, void *outputBuffer,
-                           unsigned long framesPerBuffer,
-                           const PaStreamCallbackTimeInfo* timeInfo,
-                           PaStreamCallbackFlags statusFlags,
-                           void *userData )
-{
-    paTestData *data = (paTestData*)userData;
-    int         i;
-    short      *rptr = (short*)inputBuffer;
-    short      *wptr = (short*)outputBuffer;
-    float      *in8k = data->in8k;
-    float      *in48k = data->in48k;
-    float       out8k[N8];
-    float       out48k[N48];
-    short       out48k_short[N48];
-
-    (void) outputBuffer; /* Prevent unused variable warnings. */
-    (void) timeInfo;
-    (void) statusFlags;
-    (void) userData;
-
-    assert(inputBuffer != NULL);
-
-    /* just use left channel */
-
-    for(i=0; i<framesPerBuffer; i++,rptr+=2)
-       data->in48k[i+FDMDV_OS_TAPS] = *rptr; 
-
-    /* downsample and update filter memory */
-
-    fdmdv_48_to_8(out8k, &in48k[FDMDV_OS_TAPS], N8);
-    for(i=0; i<FDMDV_OS_TAPS; i++)
-       in48k[i] = in48k[i+framesPerBuffer];
-
-    /* play side, back up to 8k */
-
-    for(i=0; i<N8; i++)
-       in8k[MEM8+i] = out8k[i];
-
-    /* upsample and update filter memory */
-
-    fdmdv_8_to_48(out48k, &in8k[MEM8], N8);
-    for(i=0; i<MEM8; i++)
-       in8k[i] = in8k[i+N8];
-
-    assert(outputBuffer != NULL);
-
-    /* write signal to both channels */
-
-    for(i=0; i<N48; i++)
-       out48k_short[i] = (short)out48k[i];
-    for(i=0; i<framesPerBuffer; i++,wptr+=2) {
-       wptr[0] = out48k_short[i]; 
-       wptr[1] = out48k_short[i]; 
-    }
-
-    return paContinue;
-}
-
-int main(int argc, char *argv[])
-{
-    PaStreamParameters  inputParameters,outputParameters;
-    PaStream*           stream;
-    PaError             err = paNoError;
-    paTestData          data;
-    int                 i;
-
-    for(i=0; i<MEM8; i++)
-       data.in8k[i] = 0.0;
-    for(i=0; i<FDMDV_OS_TAPS; i++)
-       data.in48k[i] = 0.0;
-
-    err = Pa_Initialize();
-    if( err != paNoError ) goto done;
-
-    inputParameters.device = Pa_GetDefaultInputDevice(); /* default input device */
-    if (inputParameters.device == paNoDevice) {
-        fprintf(stderr,"Error: No default input device.\n");
-        goto done;
-    }
-    inputParameters.channelCount = NUM_CHANNELS;         /* stereo input */
-    inputParameters.sampleFormat = paInt16;
-    inputParameters.suggestedLatency = Pa_GetDeviceInfo( inputParameters.device )->defaultLowInputLatency;
-    inputParameters.hostApiSpecificStreamInfo = NULL;
-
-    outputParameters.device = Pa_GetDefaultOutputDevice(); /* default input device */
-    if (outputParameters.device == paNoDevice) {
-        fprintf(stderr,"Error: No default output device.\n");
-        goto done;
-    }
-    outputParameters.channelCount = NUM_CHANNELS;         /* stereo input */
-    outputParameters.sampleFormat = paInt16;
-    outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultLowOutputLatency;
-    outputParameters.hostApiSpecificStreamInfo = NULL;
-
-    /* Play some audio --------------------------------------------- */
-
-    err = Pa_OpenStream(
-              &stream,
-             &inputParameters,
-              &outputParameters,
-              SAMPLE_RATE,
-              N48,
-              paClipOff,      
-              callback,
-              &data );
-    if( err != paNoError ) goto done;
-
-    err = Pa_StartStream( stream );
-    if( err != paNoError ) goto done;
-
-    while( ( err = Pa_IsStreamActive( stream ) ) == 1 )
-    {
-        Pa_Sleep(100);
-    }
-    if( err < 0 ) goto done;
-
-    err = Pa_CloseStream( stream );
-    if( err != paNoError ) goto done;
-
-
-done:
-    Pa_Terminate();
-    if( err != paNoError )
-    {
-        fprintf( stderr, "An error occured while using the portaudio stream\n" );
-        fprintf( stderr, "Error number: %d\n", err );
-        fprintf( stderr, "Error message: %s\n", Pa_GetErrorText( err ) );
-        err = 1;          /* Always return 0 or 1, but no other return codes. */
-    }
-    return err;
-}
-