[Mplayer-cvslog] CVS: main/TOOLS audio-block.c,NONE,1.1 audio-select.c,NONE,1.1 c,1.1.1.1,1.2
GEREOFFY
arpi_esp at users.sourceforge.net
Sat Mar 17 00:05:03 CET 2001
Update of /cvsroot/mplayer/main/TOOLS
In directory usw-pr-cvs1:/tmp/cvs-serv10469
Modified Files:
c
Added Files:
audio-block.c audio-select.c
Log Message:
added audio driver debug tools
--- NEW FILE ---
// This small util discovers your audio driver's behaviour
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/soundcard.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#define OUTBURST 256
// Returns current time in microseconds
unsigned int GetTimer(){
struct timeval tv;
struct timezone tz;
// float s;
gettimeofday(&tv,&tz);
// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec;
return (tv.tv_sec*1000000+tv.tv_usec);
}
static unsigned char a_buffer[OUTBURST];
int main(){
int audio_buffer_size=0;
int r;
int xxx=1024*2;
int audio_fd;
char *dsp="/dev/dsp";
unsigned int t1,t2;
audio_fd=open(dsp, O_WRONLY);
if(audio_fd<0){
printf("Can't open audio device %s\n",dsp);
return 1;
}
r=AFMT_S16_LE;ioctl (audio_fd, SNDCTL_DSP_SETFMT, &r);
r=1; ioctl (audio_fd, SNDCTL_DSP_STEREO, &r);
r=44100; if(ioctl (audio_fd, SNDCTL_DSP_SPEED, &r)==-1)
printf("audio_setup: your card doesn't support %d Hz samplerate\n",r);
t1=GetTimer();
while(xxx-->0){
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("[%6d] writting %3d of %3d bytes in %7d us\n",audio_buffer_size,r,OUTBURST,t2-t1);
audio_buffer_size+=r;
}
t1=t2;
}
close(audio_fd);
return 0;
}
--- NEW FILE ---
// This small util discovers your audio driver's behaviour
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/soundcard.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#define OUTBURST 128
// Returns current time in microseconds
unsigned int GetTimer(){
struct timeval tv;
struct timezone tz;
// float s;
gettimeofday(&tv,&tz);
// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec;
return (tv.tv_sec*1000000+tv.tv_usec);
}
static unsigned char a_buffer[OUTBURST];
int main(){
int audio_buffer_size;
int r;
int xxx=1024;
int audio_fd;
char *dsp="/dev/dsp";
unsigned int t1,t2,t3;
audio_fd=open(dsp, O_WRONLY);
if(audio_fd<0){
printf("Can't open audio device %s\n",dsp);
return 1;
}
r=AFMT_S16_LE;ioctl (audio_fd, SNDCTL_DSP_SETFMT, &r);
r=1; ioctl (audio_fd, SNDCTL_DSP_STEREO, &r);
r=44100; if(ioctl (audio_fd, SNDCTL_DSP_SPEED, &r)==-1)
printf("audio_setup: your card doesn't support %d Hz samplerate\n",r);
t3=t1=GetTimer();
while(xxx>0){
audio_buffer_size=0;
while(audio_buffer_size<0x100000){
fd_set rfds;
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)) break;
r=write(audio_fd,a_buffer,OUTBURST);
if(r<0) printf("Error writting to device\n"); else
if(r==0) printf("EOF writting to device???\n"); else
audio_buffer_size+=r;
}
t2=GetTimer();
if(audio_buffer_size>0){
printf("%6d bytes written in %5d us (wait %5d us)\n",audio_buffer_size,t2-t1,t1-t3);
--xxx;
t3=t2;
}
t1=t2;
}
close(audio_fd);
return 0;
}
Index: c
===================================================================
RCS file: /cvsroot/mplayer/main/TOOLS/c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** c 2001/02/24 20:28:51 1.1.1.1
--- c 2001/03/16 23:05:01 1.2
***************
*** 1 ****
--- 1,4 ----
+
gcc movinfo.c -o movinfo
+ gcc audio-select.c -o audio-select
+ gcc audio-block.c -o audio-block
_______________________________________________
Mplayer-cvslog mailing list
Mplayer-cvslog at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog
More information about the MPlayer-cvslog
mailing list