Fixed test tools for latest API

This commit is contained in:
Jaroslav Kysela 2000-11-25 13:07:24 +00:00
parent 93bad3b02a
commit 34c76ccf73
2 changed files with 22 additions and 14 deletions

View file

@ -69,7 +69,7 @@ int main(int argc, char** argv)
int card_in = -1, device_in = 0;
int card_out = -1, device_out = 0;
snd_rawmidi_t *handle_in = NULL, *handle_out = NULL;
unsigned char ibuf[512], obuf[512];
unsigned char ibuf[512], obuf[512], iname[32], oname[32];
struct timeval start, end;
long long diff;
snd_rawmidi_status_t istat, ostat;
@ -120,6 +120,9 @@ int main(int argc, char** argv)
card_in = card_out;
if (card_out == -1)
card_out = card_in;
sprintf(iname, "hw:%i,%i", card_in, device_in);
sprintf(oname, "hw:%i,%i", card_out, device_out);
if (verbose) {
fprintf(stderr, "Using: \n");
@ -129,13 +132,13 @@ int main(int argc, char** argv)
fprintf(stderr, "card %d, device %d\n", card_out, device_out);
}
err = snd_rawmidi_open(&handle_in, card_in, device_in, SND_RAWMIDI_OPEN_INPUT | SND_RAWMIDI_OPEN_NONBLOCK);
err = snd_rawmidi_open(&handle_in, iname, SND_RAWMIDI_OPEN_INPUT, SND_RAWMIDI_NONBLOCK);
if (err) {
fprintf(stderr,"snd_rawmidi_open %d %d failed: %d\n",card_in,device_in,err);
exit(EXIT_FAILURE);
}
err = snd_rawmidi_open(&handle_out, card_out, device_out, SND_RAWMIDI_OPEN_OUTPUT);
err = snd_rawmidi_open(&handle_out, oname, SND_RAWMIDI_OPEN_OUTPUT, 0);
if (err) {
fprintf(stderr,"snd_rawmidi_open %d %d failed: %d\n",card_out,device_out,err);
exit(EXIT_FAILURE);
@ -188,10 +191,10 @@ int main(int argc, char** argv)
err = snd_rawmidi_status(handle_out, &ostat);
if (err < 0)
fprintf(stderr, "output stream status error: %d\n", err);
printf("input.status.queue = %li\n", istat.queue);
printf("input.status.overrun = %li\n", istat.overrun);
printf("output.status.queue = %li\n", ostat.queue);
printf("output.status.overrun = %li\n", ostat.overrun);
printf("input.status.avail = %li\n", istat.avail);
printf("input.status.xruns = %li\n", istat.xruns);
printf("output.status.avail = %li\n", ostat.avail);
printf("output.status.xruns = %li\n", ostat.xruns);
diff = timediff(end, start);
printf("Time diff: %Liusec (%Li bytes/sec)\n", diff, ((long long)opos * 1000000) / diff);