summaryrefslogtreecommitdiffstats
path: root/libao2/ao_sun.c
diff options
context:
space:
mode:
authoratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-07-03 21:17:31 +0000
committeratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-07-03 21:17:31 +0000
commited856102c684b065e3ba35a4c9d28e3f108722e5 (patch)
tree56df4ee6b4f629b177003f43784cf3a347ab0ff9 /libao2/ao_sun.c
parent723b351573a1213416cc8e3914c8964c0fbf5a12 (diff)
downloadmpv-ed856102c684b065e3ba35a4c9d28e3f108722e5.tar.bz2
mpv-ed856102c684b065e3ba35a4c9d28e3f108722e5.tar.xz
Patch to improve bufferhandling on OpenBSD and NetBSD, by Björn Sandell and Bernd Ernesti <mplayer at lists.veego.de>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6631 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/ao_sun.c')
-rw-r--r--libao2/ao_sun.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libao2/ao_sun.c b/libao2/ao_sun.c
index 6f43343d5b..861f35e13e 100644
--- a/libao2/ao_sun.c
+++ b/libao2/ao_sun.c
@@ -445,13 +445,19 @@ static int get_space(){
}
#endif
-#ifndef __OpenBSD__
+#if !defined (__OpenBSD__) && !defined(__NetBSD__)
ioctl(audio_fd, AUDIO_GETINFO, &info);
if (queued_bursts - info.play.eof > 2)
return 0;
#endif
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+ ioctl(audio_fd, AUDIO_GETINFO, &info);
+ return info.hiwat * info.blocksize - info.play.seek;
+#else
return ao_data.outburst;
+#endif
+
}
// plays 'len' bytes of 'data'
@@ -507,7 +513,7 @@ static int play(void* data,int len,int flags){
static float get_delay(){
audio_info_t info;
ioctl(audio_fd, AUDIO_GETINFO, &info);
-#ifdef __OpenBSD__
+#if defined (__OpenBSD__) || defined(__NetBSD__)
return (float) info.play.seek/ (float)byte_per_sec ;
#else
if (info.play.samples && enable_sample_timing == RTSC_ENABLED)