Merged pcmplug branch.

This commit is contained in:
Jaroslav Kysela 2000-09-24 09:57:26 +00:00
parent 40d1ee071d
commit 6962a9d6ce
61 changed files with 7172 additions and 6743 deletions

View file

@ -47,11 +47,11 @@ int setparams(snd_pcm_t *phandle, snd_pcm_t *chandle, int *bufsize)
params.mode = SND_PCM_MODE_FRAME;
#endif
params.format.interleave = 1;
params.format.format = SND_PCM_SFMT_S16_LE;
params.format.sfmt = SND_PCM_SFMT_S16_LE;
params.format.channels = 2;
params.format.rate = USED_RATE;
params.start_mode = SND_PCM_START_GO;
params.xrun_mode = SND_PCM_XRUN_DRAIN;
params.start_mode = SND_PCM_START_EXPLICIT;
params.xrun_action = SND_PCM_XRUN_ACT_DRAIN;
params.time = 1;
*bufsize += 4;
@ -152,7 +152,7 @@ long readbuf(snd_pcm_t *handle, char *buf, long len, size_t *frames)
long r;
do {
r = snd_pcm_read(handle, buf, len);
r = snd_pcm_readi(handle, buf, len);
} while (r == -EAGAIN);
if (r > 0)
*frames += r;
@ -166,7 +166,7 @@ long writebuf(snd_pcm_t *handle, char *buf, long len, size_t *frames)
long r;
while (len > 0) {
r = snd_pcm_write(handle, buf, len);
r = snd_pcm_writei(handle, buf, len);
if (r == -EAGAIN)
continue;
// printf("write = %li\n", r);
@ -225,7 +225,7 @@ int main(void)
break;
}
if ((err = snd_pcm_go(phandle)) < 0) {
if ((err = snd_pcm_start(phandle)) < 0) {
printf("Go error: %s\n", snd_strerror(err));
exit(0);
}

View file

@ -15,7 +15,7 @@ static void show_format1(const char *prefix, snd_pcm_format_t *format)
format->interleave ? 1 : 0,
format->rate,
format->voices,
format->format);
format->sfmt);
}
static void show_format(snd_pcm_loopback_t *handle)

View file

@ -39,7 +39,7 @@ int main(void)
fprintf(stderr, "open failed: %s\n", snd_strerror(err));
return 0;
}
format.format = SND_PCM_SFMT_MU_LAW;
format.sfmt = SND_PCM_SFMT_MU_LAW;
format.rate = 8000;
format.channels = 1;
if ((err = snd_pcm_playback_format(handle, &format)) < 0) {
@ -82,7 +82,7 @@ int main(void)
}
count1 = status.fragment_size * 12;
show_playback_status(handle);
size = snd_pcm_write(handle, buffer1, count1);
size = snd_pcm_writei(handle, buffer1, count1);
sleep(2);
show_playback_status(handle);
printf("Pause.. Bytes written %i from %i...\n", size, count1);
@ -94,7 +94,7 @@ int main(void)
printf("Pause end..\n");
snd_pcm_playback_pause(handle, 0);
show_playback_status(handle);
size = snd_pcm_write(handle, buffer1, count);
size = snd_pcm_writei(handle, buffer1, count);
printf("Pause end.. Bytes written %i from %i...\n", size, count);
snd_pcm_close(handle);
free(buffer);

View file

@ -18,7 +18,7 @@ void setformat(void *phandle, void *rhandle)
snd_pcm_format_t format;
bzero(&format, sizeof(format));
format.format = SND_PCM_SFMT_S16_LE;
format.sfmt = SND_PCM_SFMT_S16_LE;
format.channels = 2;
format.rate = 22050;
if ((err = snd_pcm_playback_format(phandle, &format)) < 0) {
@ -46,14 +46,14 @@ void method1(void)
setformat(phandle, rhandle);
printf("Recording... ");
fflush(stdout);
if ((err = snd_pcm_read(rhandle, buffer, sizeof(buffer))) != sizeof(buffer)) {
if ((err = snd_pcm_readi(rhandle, buffer, sizeof(buffer))) != sizeof(buffer)) {
printf("Read error: %s\n", err < 0 ? snd_strerror(err) : xitoa(err));
return;
}
printf("done...\n");
printf("Playback... ");
fflush(stdout);
if ((err = snd_pcm_write(phandle, buffer, sizeof(buffer))) != sizeof(buffer)) {
if ((err = snd_pcm_writei(phandle, buffer, sizeof(buffer))) != sizeof(buffer)) {
printf("Write error: %s\n", err < 0 ? snd_strerror(err) : xitoa(err));
return;
}
@ -81,7 +81,7 @@ void method2(void)
setformat(phandle, rhandle);
printf("Recording... ");
fflush(stdout);
if ((err = snd_pcm_read(rhandle, buffer, sizeof(buffer))) != sizeof(buffer)) {
if ((err = snd_pcm_readi(rhandle, buffer, sizeof(buffer))) != sizeof(buffer)) {
printf("Read error: %s\n", err < 0 ? snd_strerror(err) : xitoa(err));
return;
}
@ -93,7 +93,7 @@ void method2(void)
printf("Record flush done...\n");
printf("Playback... ");
fflush(stdout);
if ((err = snd_pcm_write(phandle, buffer, sizeof(buffer))) != sizeof(buffer)) {
if ((err = snd_pcm_writei(phandle, buffer, sizeof(buffer))) != sizeof(buffer)) {
printf("Write error: %s\n", err < 0 ? snd_strerror(err) : xitoa(err));
return;
}
@ -122,7 +122,7 @@ void method3(void)
setformat(handle, handle);
printf("Recording... ");
fflush(stdout);
if ((err = snd_pcm_read(handle, buffer, sizeof(buffer))) != sizeof(buffer)) {
if ((err = snd_pcm_readi(handle, buffer, sizeof(buffer))) != sizeof(buffer)) {
printf("Read error: %s\n", err < 0 ? snd_strerror(err) : xitoa(err));
return;
}
@ -134,7 +134,7 @@ void method3(void)
printf("Record flush done...\n");
printf("Playback... ");
fflush(stdout);
if ((err = snd_pcm_write(handle, buffer, sizeof(buffer))) != sizeof(buffer)) {
if ((err = snd_pcm_writei(handle, buffer, sizeof(buffer))) != sizeof(buffer)) {
printf("Write error: %s\n", err < 0 ? snd_strerror(err) : xitoa(err));
return;
}

View file

@ -116,7 +116,7 @@ static void write_ev(snd_seq_event_t *ev)
while ((rc = snd_seq_event_output(seq_handle, ev)) < 0) {
int seqfd;
fd_set fds;
seqfd = snd_seq_file_descriptor(seq_handle);
seqfd = snd_seq_poll_descriptor(seq_handle);
FD_ZERO(&fds);
FD_SET(seqfd, &fds);
if ((rc = select(seqfd + 1, NULL, &fds, NULL, NULL)) < 0) {
@ -366,7 +366,7 @@ static snd_seq_event_t *wait_for_event(void)
input_event == NULL) {
int seqfd;
fd_set fds;
seqfd = snd_seq_file_descriptor(seq_handle);
seqfd = snd_seq_poll_descriptor(seq_handle);
FD_ZERO(&fds);
FD_SET(seqfd, &fds);
if ((left = select(seqfd + 1, &fds, NULL, NULL, NULL)) < 0) {

View file

@ -481,7 +481,7 @@ void event_decoder(snd_seq_t *handle, int argc, char *argv[])
while (1) {
FD_ZERO(&in);
FD_SET(max = snd_seq_file_descriptor(handle), &in);
FD_SET(max = snd_seq_poll_descriptor(handle), &in);
if (select(max + 1, &in, NULL, NULL, NULL) < 0)
break;
do {

View file

@ -14,7 +14,7 @@ void set_format(snd_pcm_t *phandle)
snd_pcm_format_t format;
bzero(&format, sizeof(format));
format.format = SND_PCM_SFMT_S16_LE;
format.sfmt = SND_PCM_SFMT_S16_LE;
format.channels = 2;
format.rate = 44100;
if ((err = snd_pcm_playback_format(phandle, &format)) < 0) {
@ -225,31 +225,31 @@ void event_sender(snd_seq_t *handle, int argc, char *argv[])
while (1) {
FD_ZERO(&out);
FD_ZERO(&in);
max = snd_seq_file_descriptor(handle);
FD_SET(snd_seq_file_descriptor(handle), &in);
max = snd_seq_poll_descriptor(handle);
FD_SET(snd_seq_poll_descriptor(handle), &in);
if (snd_seq_event_output_pending(handle)) {
FD_SET(snd_seq_file_descriptor(handle), &out);
FD_SET(snd_seq_poll_descriptor(handle), &out);
}
#ifdef USE_PCM
if (phandle) {
if (snd_pcm_file_descriptor(phandle) > max)
max = snd_pcm_file_descriptor(phandle);
FD_SET(snd_pcm_file_descriptor(phandle), &out);
if (snd_pcm_poll_descriptor(phandle) > max)
max = snd_pcm_poll_descriptor(phandle);
FD_SET(snd_pcm_poll_descriptor(phandle), &out);
}
#endif
if (select(max + 1, &in, &out, NULL, NULL) < 0)
break;
#ifdef USE_PCM
if (phandle && FD_ISSET(snd_pcm_file_descriptor(phandle), &out)) {
if (snd_pcm_write(phandle, pbuf, pfragment_size) != pfragment_size) {
if (phandle && FD_ISSET(snd_pcm_poll_descriptor(phandle), &out)) {
if (snd_pcm_writei(phandle, pbuf, pfragment_size) != pfragment_size) {
fprintf(stderr, "Playback write error!!\n");
exit(0);
}
}
#endif
if (FD_ISSET(snd_seq_file_descriptor(handle), &out))
if (FD_ISSET(snd_seq_poll_descriptor(handle), &out))
snd_seq_flush_output(handle);
if (FD_ISSET(snd_seq_file_descriptor(handle), &in)) {
if (FD_ISSET(snd_seq_poll_descriptor(handle), &in)) {
do {
if ((err = snd_seq_event_input(handle, &ev))<0)
break;

View file

@ -28,7 +28,7 @@ void read_loop(void *handle, int master_ticks, int timeout)
while (master_ticks-- > 0) {
FD_ZERO(&in);
max = snd_timer_file_descriptor(handle);
max = snd_timer_poll_descriptor(handle);
FD_SET(max, &in);
tv.tv_sec = timeout;
tv.tv_usec = 0;