# HG changeset patch # User arpi_esp # Date 989500856 0 # Node ID a40ee717336e3ab3785ebc87f4832d6ecb2fdb02 # Parent 1417d8a4a96c3e613d19f706f53879aa5922ad71 some more printfs diff -r 1417d8a4a96c -r a40ee717336e TOOLS/audio-block2.c --- a/TOOLS/audio-block2.c Thu May 10 11:56:22 2001 +0000 +++ b/TOOLS/audio-block2.c Thu May 10 13:20:56 2001 +0000 @@ -1,7 +1,8 @@ // This small util discovers your audio driver's behaviour -#define OUTBURST 512 +//#define OUTBURST 512 //#define OUTBURST 4096 +#define MAX_OUTBURST 32768 #include @@ -24,7 +25,7 @@ return (tv.tv_sec*1000000+tv.tv_usec); } -static unsigned char a_buffer[OUTBURST]; +static unsigned char a_buffer[MAX_OUTBURST]; void inline print_info(int audio_fd){ #if 1 @@ -42,6 +43,7 @@ int audio_fd; char *dsp="/dev/dsp"; unsigned int t0,t1,t2; + int outburst; audio_fd=open(dsp, O_WRONLY); if(audio_fd<0){ @@ -60,6 +62,7 @@ r=0; ioctl (audio_fd, SNDCTL_DSP_GETBLKSIZE, &r); printf("fragment size = %d\n",r); + outburst=r; if(outburst>4096) outburst=4096; print_info(audio_fd); @@ -71,17 +74,19 @@ struct timeval tv; FD_ZERO(&rfds); FD_SET(audio_fd,&rfds); tv.tv_sec=0; tv.tv_usec = 0; - if(select(audio_fd+1, NULL, &rfds, NULL, &tv)) c=' '; +// if(select(audio_fd+1, NULL, &rfds, NULL, &tv)) c=' '; + + print_info(audio_fd); -// print_info(audio_fd); + r=0; ioctl (audio_fd, SNDCTL_DSP_GETODELAY, &r); printf("delay = %d\n",r); - r=write(audio_fd,a_buffer,OUTBURST); + r=write(audio_fd,a_buffer,outburst); t2=GetTimer(); if(r<0) printf("Error writting to device\n"); else if(r==0) printf("EOF writting to device???\n"); else { printf("%c %6.3f %6.3f [%6d] writting %3d of %3d bytes in %7d us\n",c, (float)audio_buffer_size/(44100.0f*4.0f),(float)(t1-t0)*0.000001f, - audio_buffer_size,r,OUTBURST,t2-t1); + audio_buffer_size,r,outburst,t2-t1); audio_buffer_size+=r; } t1=t2;