diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-02 18:54:58 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-02 18:54:58 +0000 |
commit | 3d61c6346f0739823f03664611559bf367d5c05b (patch) | |
tree | ac10cb87fb08a7f6b07ca3c527614fcabcf625f7 /libao2/ao_pcm.c | |
parent | 748d1f76aaaa618502470723da702044456d351b (diff) | |
download | mpv-3d61c6346f0739823f03664611559bf367d5c05b.tar.bz2 mpv-3d61c6346f0739823f03664611559bf367d5c05b.tar.xz |
good-looking fix by Tobias Diedrich <td@informatik.uni-hannover.de>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4915 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/ao_pcm.c')
-rw-r--r-- | libao2/ao_pcm.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libao2/ao_pcm.c b/libao2/ao_pcm.c index 6f6179c5fc..ebf697c4f1 100644 --- a/libao2/ao_pcm.c +++ b/libao2/ao_pcm.c @@ -14,6 +14,8 @@ static ao_info_t info = LIBAO_EXTERN(pcm) +extern int vo_pts; + char *ao_outputfilename = NULL; int ao_pcm_waveheader = 1; @@ -82,7 +84,7 @@ static int init(int rate,int channels,int format,int flags){ printf("PCM: Info - to write WAVE files use -waveheader (default), for RAW PCM -nowaveheader.\n"); fp = fopen(ao_outputfilename, "wb"); - ao_data.outburst = 4096; + ao_data.outburst = 65536; if(fp) { @@ -98,7 +100,7 @@ static int init(int rate,int channels,int format,int flags){ static void uninit(){ if(ao_pcm_waveheader){ /* Write wave header */ - wavhdr.file_length = wavhdr.data_length + sizeof(wavhdr); + wavhdr.file_length = wavhdr.data_length + sizeof(wavhdr) - 8; fseek(fp, 0, SEEK_SET); fwrite(&wavhdr,sizeof(wavhdr),1,fp); } @@ -126,7 +128,7 @@ static void audio_resume() // return: how many bytes can be played without blocking static int get_space(){ - return ao_data.outburst; + return ao_data.pts < vo_pts ? ao_data.outburst : 0; } // plays 'len' bytes of 'data' |