summaryrefslogtreecommitdiffstats
path: root/libao2
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-27 22:42:27 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-27 22:42:27 +0000
commit30d0116d16a40b641a4fc772435e0cbb09fe3e83 (patch)
tree814b49212bb351300b13dd77272b6c80f850e34c /libao2
parent38a7d8e282893074240754cce4d00a9237d557e5 (diff)
downloadmpv-30d0116d16a40b641a4fc772435e0cbb09fe3e83.tar.bz2
mpv-30d0116d16a40b641a4fc772435e0cbb09fe3e83.tar.xz
OpenBSD, NetBSD portability patches by
Björn Sandell <biorn@dce.chalmers.se> Marcus <core@antbear.org> Bernd Ernesti <mplayer@lists.veego.de> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5873 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2')
-rw-r--r--libao2/afmt.h4
-rw-r--r--libao2/ao_oss.c2
-rw-r--r--libao2/ao_sun.c6
3 files changed, 12 insertions, 0 deletions
diff --git a/libao2/afmt.h b/libao2/afmt.h
index 29f2de1912..1772606554 100644
--- a/libao2/afmt.h
+++ b/libao2/afmt.h
@@ -3,6 +3,10 @@
#ifdef HAVE_SYS_SOUNDCARD_H
#include <sys/soundcard.h> /* For AFMT_* on linux */
+#else
+#ifdef HAVE_SOUNDCARD_H
+#include <soundcard.h> /* OpenBSD have this instead of <sys/soundcard> */
+#endif
#endif
/* standard, old OSS audio formats */
diff --git a/libao2/ao_oss.c b/libao2/ao_oss.c
index 17e6fc4fd5..c7233733a8 100644
--- a/libao2/ao_oss.c
+++ b/libao2/ao_oss.c
@@ -292,9 +292,11 @@ static int audio_delay_method=2;
static float get_delay(){
/* Calculate how many bytes/second is sent out */
if(audio_delay_method==2){
+#ifdef SNDCTL_DSP_GETODELAY
int r=0;
if(ioctl(audio_fd, SNDCTL_DSP_GETODELAY, &r)!=-1)
return ((float)r)/(float)ao_data.bps;
+#endif
audio_delay_method=1; // fallback if not supported
}
if(audio_delay_method==1){
diff --git a/libao2/ao_sun.c b/libao2/ao_sun.c
index f4d94edb41..16dbf23865 100644
--- a/libao2/ao_sun.c
+++ b/libao2/ao_sun.c
@@ -440,9 +440,11 @@ static int get_space(){
}
#endif
+#ifndef __OpenBSD__
ioctl(audio_fd, AUDIO_GETINFO, &info);
if (queued_bursts - info.play.eof > 2)
return 0;
+#endif
return ao_data.outburst;
}
@@ -500,9 +502,13 @@ 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__
+ return (float) info.play.seek/ (float)byte_per_sec ;
+#else
if (info.play.samples && enable_sample_timing == RTSC_ENABLED)
return (float)(queued_samples - info.play.samples) / (float)byte_per_sec;
else
return (float)((queued_bursts - info.play.eof) * ao_data.outburst) / (float)byte_per_sec;
+#endif
}