mirror of https://github.com/mpv-player/mpv
some more printfs
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@753 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
07e88fd65f
commit
4c3818cc9f
|
@ -1,7 +1,8 @@
|
||||||
// This small util discovers your audio driver's behaviour
|
// This small util discovers your audio driver's behaviour
|
||||||
|
|
||||||
#define OUTBURST 512
|
//#define OUTBURST 512
|
||||||
//#define OUTBURST 4096
|
//#define OUTBURST 4096
|
||||||
|
#define MAX_OUTBURST 32768
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -24,7 +25,7 @@ unsigned int GetTimer(){
|
||||||
return (tv.tv_sec*1000000+tv.tv_usec);
|
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){
|
void inline print_info(int audio_fd){
|
||||||
#if 1
|
#if 1
|
||||||
|
@ -42,6 +43,7 @@ int main(){
|
||||||
int audio_fd;
|
int audio_fd;
|
||||||
char *dsp="/dev/dsp";
|
char *dsp="/dev/dsp";
|
||||||
unsigned int t0,t1,t2;
|
unsigned int t0,t1,t2;
|
||||||
|
int outburst;
|
||||||
|
|
||||||
audio_fd=open(dsp, O_WRONLY);
|
audio_fd=open(dsp, O_WRONLY);
|
||||||
if(audio_fd<0){
|
if(audio_fd<0){
|
||||||
|
@ -60,6 +62,7 @@ int main(){
|
||||||
|
|
||||||
r=0; ioctl (audio_fd, SNDCTL_DSP_GETBLKSIZE, &r);
|
r=0; ioctl (audio_fd, SNDCTL_DSP_GETBLKSIZE, &r);
|
||||||
printf("fragment size = %d\n",r);
|
printf("fragment size = %d\n",r);
|
||||||
|
outburst=r; if(outburst>4096) outburst=4096;
|
||||||
|
|
||||||
print_info(audio_fd);
|
print_info(audio_fd);
|
||||||
|
|
||||||
|
@ -71,17 +74,19 @@ while(xxx-->0){
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
FD_ZERO(&rfds); FD_SET(audio_fd,&rfds);
|
FD_ZERO(&rfds); FD_SET(audio_fd,&rfds);
|
||||||
tv.tv_sec=0; tv.tv_usec = 0;
|
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=write(audio_fd,a_buffer,OUTBURST);
|
r=0; ioctl (audio_fd, SNDCTL_DSP_GETODELAY, &r); printf("delay = %d\n",r);
|
||||||
|
|
||||||
|
r=write(audio_fd,a_buffer,outburst);
|
||||||
t2=GetTimer();
|
t2=GetTimer();
|
||||||
if(r<0) printf("Error writting to device\n"); else
|
if(r<0) printf("Error writting to device\n"); else
|
||||||
if(r==0) printf("EOF 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,
|
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,
|
(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;
|
audio_buffer_size+=r;
|
||||||
}
|
}
|
||||||
t1=t2;
|
t1=t2;
|
||||||
|
|
Loading…
Reference in New Issue