summaryrefslogtreecommitdiffstats
path: root/libao2
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-10-15 20:48:26 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-10-15 20:48:26 +0000
commit40f9cdbdd8c9ae474cf61270354ebc1b12aa5c47 (patch)
treeedbc1047b3db4ce160503a79b13b053625859e2b /libao2
parent381eaf068f4d87981db5a38b1065f836dcacf681 (diff)
downloadmpv-40f9cdbdd8c9ae474cf61270354ebc1b12aa5c47.tar.bz2
mpv-40f9cdbdd8c9ae474cf61270354ebc1b12aa5c47.tar.xz
Implement AOPLAY_FINAL_CHUNK support for dshow and win32 out.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20256 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2')
-rw-r--r--libao2/ao_dsound.c1
-rw-r--r--libao2/ao_win32.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/libao2/ao_dsound.c b/libao2/ao_dsound.c
index 51da6c6e84..79f70b1b76 100644
--- a/libao2/ao_dsound.c
+++ b/libao2/ao_dsound.c
@@ -605,6 +605,7 @@ static int play(void* data, int len, int flags)
if(space > buffer_size)space -= buffer_size; // write_offset < play_offset
if(space < len) len = space;
+ if (!(flags & AOPLAY_FINAL_CHUNK))
len = (len / ao_data.outburst) * ao_data.outburst;
return write_buffer(data, len);
}
diff --git a/libao2/ao_win32.c b/libao2/ao_win32.c
index 1f9a5e9663..0f39b51767 100644
--- a/libao2/ao_win32.c
+++ b/libao2/ao_win32.c
@@ -322,6 +322,7 @@ static int write_waveOutBuffer(unsigned char* data,int len){
// return: number of bytes played
static int play(void* data,int len,int flags)
{
+ if (!(flags & AOPLAY_FINAL_CHUNK))
len = (len/ao_data.outburst)*ao_data.outburst;
return write_waveOutBuffer(data,len);
}