summaryrefslogtreecommitdiffstats
path: root/dec_audio.c
diff options
context:
space:
mode:
authorjkeil <jkeil@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-07-12 15:35:52 +0000
committerjkeil <jkeil@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-07-12 15:35:52 +0000
commit45c97f82942528378393d1819eafbcfb351bc60d (patch)
tree5e6a3ddfc4efdedb81f545b2b3adf3681aadcf50 /dec_audio.c
parent82eac1391ac173cb1723f8bd8dd5e6caa94a66a8 (diff)
downloadmpv-45c97f82942528378393d1819eafbcfb351bc60d.tar.bz2
mpv-45c97f82942528378393d1819eafbcfb351bc60d.tar.xz
Add some preliminary support for non-x86 architectures to mplayer
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1310 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_audio.c')
-rw-r--r--dec_audio.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/dec_audio.c b/dec_audio.c
index fd94913671..013578fcdc 100644
--- a/dec_audio.c
+++ b/dec_audio.c
@@ -75,6 +75,10 @@ sh_audio->audio_out_minsize=8192;// default size, maybe not enough for Win32/ACM
switch(driver){
case 4:
+#ifndef ARCH_X86
+ printf("Win32/ACM audio codec unavailable on non-x86 CPU -> force nosound :(\n");
+ driver=0;
+#else
// Win32 ACM audio codec:
if(init_acm_audio_codec(sh_audio)){
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
@@ -88,6 +92,7 @@ case 4:
printf("Could not load/initialize Win32/ACM AUDIO codec (missing DLL file?)\n");
driver=0;
}
+#endif
break;
case 7:
#ifndef USE_DIRECTSHOW
@@ -149,6 +154,7 @@ memset(sh_audio->a_buffer,0,sh_audio->a_buffer_size);
sh_audio->a_buffer_len=0;
switch(driver){
+#ifdef ARCH_X86
case 4: {
int ret=acm_decode_audio(sh_audio,sh_audio->a_buffer,4096,sh_audio->a_buffer_size);
if(ret<0){
@@ -158,6 +164,7 @@ case 4: {
sh_audio->a_buffer_len=ret;
break;
}
+#endif
case 2: {
// AVI PCM Audio:
WAVEFORMATEX *h=sh_audio->wf;
@@ -320,6 +327,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){
}
//printf("{3:%d}",avi_header.idx_pos);fflush(stdout);
break;
+#ifdef ARCH_X86
case 4:
// len=sh_audio->audio_out_minsize; // optimal decoded fragment size
// if(len<minlen) len=minlen; else
@@ -327,6 +335,7 @@ int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen){
// len=acm_decode_audio(sh_audio,buf,len);
len=acm_decode_audio(sh_audio,buf,minlen,maxlen);
break;
+#endif
#ifdef USE_DIRECTSHOW
case 7: // DirectShow