changeset 34247:1c35122fba8c

Remove obsolete ALSA 0.5 audio output and ALSA 0.9 audio input. ALSA 0.5 was last released in 2000, 0.9 in 2003; besides the ALSA 0.9 and 1.x audio inputs heavily duplicated code.
author diego
date Wed, 09 Nov 2011 01:22:02 +0000
parents 4f35512cf7b1
children a52c5ff01dcd
files DOCS/man/cs/mplayer.1 DOCS/man/de/mplayer.1 DOCS/man/en/mplayer.1 DOCS/man/es/mplayer.1 DOCS/man/fr/mplayer.1 DOCS/man/hu/mplayer.1 DOCS/man/it/mplayer.1 DOCS/man/pl/mplayer.1 DOCS/man/ru/mplayer.1 DOCS/man/zh_CN/mplayer.1 DOCS/tech/MAINTAINERS Makefile TOOLS/movinfo.c configure help/help_mp-bg.h help/help_mp-cs.h help/help_mp-de.h help/help_mp-en.h help/help_mp-es.h help/help_mp-fr.h help/help_mp-hu.h help/help_mp-it.h help/help_mp-nl.h help/help_mp-pl.h help/help_mp-ru.h help/help_mp-sv.h help/help_mp-tr.h help/help_mp-zh_CN.h help/help_mp-zh_TW.h libao2/ao_alsa5.c libao2/audio_out.c stream/ai_alsa.c stream/ai_alsa1x.c
diffstat 33 files changed, 103 insertions(+), 1111 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/man/cs/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/cs/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -2548,10 +2548,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-Zvukové rozhraní ALSA 0.5.
-.
-.TP
 .B "oss\ \ \ \ "
 Rozhraní OSS.
 .PD 0
--- a/DOCS/man/de/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/de/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -2978,10 +2978,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-ALSA 0.5 Audioausgabetreiber.
-.
-.TP
 .B "oss\ \ \ \ "
 OSS Audioausgabetreiber.
 .PD 0
--- a/DOCS/man/en/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/en/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -3026,10 +3026,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-ALSA 0.5 audio output driver
-.
-.TP
 .B "oss\ \ \ \ "
 OSS audio output driver
 .PD 0
--- a/DOCS/man/es/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/es/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -2398,10 +2398,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-Controlador de salida de audio ALSA 0.5.
-.
-.TP
 .B "oss\ \ \ \ "
 Controlador de salida de audio OSS.
 .PD 0
--- a/DOCS/man/fr/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/fr/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -2864,9 +2864,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-Pilote de sortie audio ALSA 0.5
-.TP
 .B "oss\ \ \ \ "
 Pilote de sortie audio OSS.
 .PD 0
--- a/DOCS/man/hu/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/hu/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -2819,10 +2819,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-ALSA 0.5 audió kimeneti meghajtó
-.
-.TP
 .B "oss\ \ \ \ "
 OSS audió kimeneti meghajtó
 .PD 0
--- a/DOCS/man/it/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/it/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -3141,10 +3141,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-driver di uscita audio ALSA 0.5
-.
-.TP
 .B "oss\ \ \ \ "
 driver di uscita audio OSS
 .PD 0
--- a/DOCS/man/pl/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/pl/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -1870,10 +1870,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-sterownik ALSA 0.5
-.
-.TP
 .B "oss\ \ \ \ "
 sterownik OSS
 .PD 0
--- a/DOCS/man/ru/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/ru/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -2663,10 +2663,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-Драйвер вывода звука ALSA 0.5
-.
-.TP
 .B "oss\ \ \ \ "
 Драйвер вывода звука OSS
 .PD 0
--- a/DOCS/man/zh_CN/mplayer.1	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/man/zh_CN/mplayer.1	Wed Nov 09 01:22:02 2011 +0000
@@ -3026,10 +3026,6 @@
 .PD 1
 .
 .TP
-.B "alsa5\ \ "
-ALSA 0.5 音频输出驱动
-.
-.TP
 .B "oss\ \ \ \ "
 OSS 音频输出驱动
 .PD 0
--- a/DOCS/tech/MAINTAINERS	Wed Nov 09 00:32:12 2011 +0000
+++ b/DOCS/tech/MAINTAINERS	Wed Nov 09 01:22:02 2011 +0000
@@ -201,7 +201,6 @@
     * w32_common.c - Reimar Döffinger
 
 libao2 drivers:
-    * ao_alsa5.c - None
     * ao_alsa.c - Clemens Ladisch
     * ao_arts.c - None
     * ao_coreaudio.c - None
--- a/Makefile	Wed Nov 09 00:32:12 2011 +0000
+++ b/Makefile	Wed Nov 09 01:22:02 2011 +0000
@@ -33,8 +33,7 @@
 OS_FEATURE-$(VSSCANF)                += osdep/vsscanf.c
 
 # conditional source declarations
-SRCS_AUDIO_INPUT-$(ALSA1X)           += stream/ai_alsa1x.c
-SRCS_AUDIO_INPUT-$(ALSA9)            += stream/ai_alsa.c
+SRCS_AUDIO_INPUT-$(ALSA)             += stream/ai_alsa.c
 SRCS_AUDIO_INPUT-$(OSS)              += stream/ai_oss.c
 SRCS_COMMON-$(AUDIO_INPUT)           += $(SRCS_AUDIO_INPUT-yes)
 SRCS_COMMON-$(BITMAP_FONT)           += sub/font_load.c
@@ -496,9 +495,7 @@
 
 SRCS_MPLAYER-$(3DFX)         += libvo/vo_3dfx.c
 SRCS_MPLAYER-$(AA)           += libvo/vo_aa.c
-SRCS_MPLAYER-$(ALSA1X)       += libao2/ao_alsa.c
-SRCS_MPLAYER-$(ALSA5)        += libao2/ao_alsa5.c
-SRCS_MPLAYER-$(ALSA9)        += libao2/ao_alsa.c
+SRCS_MPLAYER-$(ALSA)         += libao2/ao_alsa.c
 SRCS_MPLAYER-$(APPLE_IR)     += input/appleir.c
 SRCS_MPLAYER-$(APPLE_REMOTE) += input/ar.c
 SRCS_MPLAYER-$(ARTS)         += libao2/ao_arts.c
--- a/TOOLS/movinfo.c	Wed Nov 09 00:32:12 2011 +0000
+++ b/TOOLS/movinfo.c	Wed Nov 09 01:22:02 2011 +0000
@@ -182,8 +182,10 @@
 
   if(atom_size<8) break; // error
 
-  printf("%08X:  %*s %.4s (%08X) %05d [%s] (begin: %08X)\n",pos,level*2,"",&atom_type,atom_type,atom_size,
-    atom2human_type(atom_type), pos+8); // 8: atom_size fields (4) + atom_type fields (4)
+  printf("%08X:  %*s %.4s (%08X) %05d [%s] (begin: %08X)\n",
+         pos, level * 2, "", &atom_type, atom_type,
+         atom_size, atom2human_type(atom_type),
+         pos + 8); // 8: atom_size fields (4) + atom_type fields (4)
 
 #ifndef NO_SPECIAL
 //  if (atom_type == 0x61746475)
--- a/configure	Wed Nov 09 00:32:12 2011 +0000
+++ b/configure	Wed Nov 09 01:22:02 2011 +0000
@@ -5494,44 +5494,32 @@
 fi
 if test "$_alsa" != no ; then
   _alsa=no
-  cpp_condition_check 'sys/asoundlib.h'  '(SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 5)' -lasound $ld_dl $ld_pthread && _alsaver='0.5.x'
   cpp_condition_check 'sys/asoundlib.h'  '(SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9)' -lasound $ld_dl $ld_pthread && _alsaver='0.9.x-sys'
   cpp_condition_check 'alsa/asoundlib.h' '(SND_LIB_MAJOR == 0) && (SND_LIB_MINOR == 9)' -lasound $ld_dl $ld_pthread && _alsaver='0.9.x-alsa'
   cpp_condition_check 'sys/asoundlib.h'  '(SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0)' -lasound $ld_dl $ld_pthread && _alsaver='1.0.x-sys'
   cpp_condition_check 'alsa/asoundlib.h' '(SND_LIB_MAJOR == 1) && (SND_LIB_MINOR == 0)' -lasound $ld_dl $ld_pthread && _alsaver='1.0.x-alsa'
 fi
 def_alsa='#undef CONFIG_ALSA'
-def_alsa5='#undef CONFIG_ALSA5'
 def_sys_asoundlib_h='#undef HAVE_SYS_ASOUNDLIB_H'
 def_alsa_asoundlib_h='#undef HAVE_ALSA_ASOUNDLIB_H'
 if test "$_alsaver" ; then
   _alsa=yes
-  if test "$_alsaver" = '0.5.x' ; then
-    _alsa5=yes
-    aomodules="alsa5 $aomodules"
-    def_alsa5='#define CONFIG_ALSA5 1'
-    def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
-    res_comment="using alsa 0.5.x and sys/asoundlib.h"
-  elif test "$_alsaver" = '0.9.x-sys' ; then
-    _alsa9=yes
+  if test "$_alsaver" = '0.9.x-sys' ; then
     aomodules="alsa $aomodules"
     def_alsa='#define CONFIG_ALSA 1'
     def_sys_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
     res_comment="using alsa 0.9.x and sys/asoundlib.h"
   elif test "$_alsaver" = '0.9.x-alsa' ; then
-    _alsa9=yes
     aomodules="alsa $aomodules"
     def_alsa='#define CONFIG_ALSA 1'
     def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
     res_comment="using alsa 0.9.x and alsa/asoundlib.h"
   elif test "$_alsaver" = '1.0.x-sys' ; then
-    _alsa1x=yes
     aomodules="alsa $aomodules"
     def_alsa='#define CONFIG_ALSA 1'
     def_alsa_asoundlib_h='#define HAVE_SYS_ASOUNDLIB_H 1'
     res_comment="using alsa 1.0.x and sys/asoundlib.h"
   elif test "$_alsaver" = '1.0.x-alsa' ; then
-    _alsa1x=yes
     aomodules="alsa $aomodules"
     def_alsa='#define CONFIG_ALSA 1'
     def_alsa_asoundlib_h='#define HAVE_ALSA_ASOUNDLIB_H 1'
@@ -7276,7 +7264,7 @@
 if test "$_radio" = yes ; then
   def_radio='#define CONFIG_RADIO 1'
   inputmodules="radio $inputmodules"
-  if test "$_alsa9" != yes -a "$_alsa1x" != yes -a "$_ossaudio" != yes ; then
+  if test "$_alsa" != yes -a "$_ossaudio" != yes ; then
     _radio_capture=no
   fi
   if test "$_radio_capture" = yes ; then
@@ -8037,9 +8025,7 @@
 # features
 3DFX = $_3dfx
 AA = $_aa
-ALSA1X = $_alsa1x
-ALSA9 = $_alsa9
-ALSA5 = $_alsa5
+ALSA = $_alsa
 APPLE_IR = $_apple_ir
 APPLE_REMOTE = $_apple_remote
 ARTS = $_arts
@@ -8319,9 +8305,7 @@
    */
 #define CONFIG_FAKE_MONO 1
 
-/* set up max. outburst. use 131072 for TrueHD SPDIF pass-through,
- * use 65536 for ALSA 0.5, for others 16384 is enough
- */
+/* set up max. outburst. use 131072 for TrueHD SPDIF pass-through */
 #define MAX_OUTBURST 131072
 
 /* set up audio OUTBURST. Do not change this! */
@@ -8519,7 +8503,6 @@
 
 /* Audio output drivers */
 $def_alsa
-$def_alsa5
 $def_arts
 $def_coreaudio
 $def_dart
--- a/help/help_mp-bg.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-bg.h	Wed Nov 09 01:22:02 2011 +0000
@@ -928,39 +928,12 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Вашият аудио драйвер НЕ поддържа функцията select()  ***\nРекомпилирайте MPlayer с #undef HAVE_AUDIO_SELECT в config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]Фатална грешка:\n *** АУДИО УСТРОЙСТВОТО (%s) НЕ МОЖЕ ДА БЪДЕ ПРЕ-ОТВОРЕНО/РЕСТАРТИРАНО ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: заявен формат: %d Hz, %d канала, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: не са открити звукови карти.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: заявен е невалиден формат (%s) - отхвърлен.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: грешка при отваряне за възпроизвеждане: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: pcm info грешка: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: %d звукови карти са открити, ползва се: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: pcm channel info грешка: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: грешка при настройване на параметрите: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: грешка при настройка на канал: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: грешка при подготовка на канал: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: грешка при изчистване потока за възпроизвеждане: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: грешка при възстановяване на буферите за възпроизвеждане: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: грешка при затваряне на pcm: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: грешка при изчистване на потока за възпроизвеждане: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: грешка при възстановяване на буферите за възпроизвеждане: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: грешка при подготовка на канал: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: грешка при изчистване на потока за възпроизвеждане: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: грешка при възстановяване на буферите за възпроизвеждане: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: грешка при подготовка на канал: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: претоварване на alsa, рестартиране на потока.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: грешка при подготовка за възпроизвеждане: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: грешка при запис след рестартиране: %s - отказ от операцията.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: грешка на изхода: %s\n"
-
 // ao_plugin.c
 
 #define MSGTR_AO_PLUGIN_InvalidPlugin "[AO PLUGIN] невалиден плъгин: %s\n"
 
 // ======================= AF Audio Filters ================================
 
-// libaf
-
 // af_ladspa.c
 
 #define MSGTR_AF_LADSPA_AvailableLabels "достъпни етикети в"
--- a/help/help_mp-cs.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-cs.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1175,31 +1175,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Ovladač Vaší zvukové karty NEPODPORUJE select()  ***\n Překompilujte MPlayer s #undef HAVE_AUDIO_SELECT v config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nKritická chyba: *** NELZE ZNOVUOTEVŘÍT / RESTARTOVAT ZVUKOVÉ ZAŘÍZENÍ (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: požadovaný formát: %d Hz, %d kanál(ů), %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: žádná zvuková karta nebyla nalezena.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: požadován neplatný formát (%s) - výstup odpojen.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: chyba otevření přehrávání zvuku: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: chyba v PCM info: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: nalezeno %d zvukových karet, používám: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: chyba info v PCM kanálu: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: chyba při nastavování parametrů: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: chyba při nastavování kanálu: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: chyba při přípravě kanálu: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: chyba playback drain: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: chyba playback flush: %s\n" //to jsou názvy že by jeden pad
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: chyba uzavření PCM: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: chyba playback drain: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: chyba playback flush: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: chyba při přípravě kanálů: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: chyba playback drain: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: chyba playback flush: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: chyba při přípravě kanálů: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: podtečení v alsa, restartuji proud.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: chyba přípravy přehrávání zvuku: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: chyba při zápisu po restartu: %s - vzdávám to.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: chyba výstupu: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Neplatný index směšovačů. Používám výchozí 0.\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Chyba otevření směšovače: %s\n"
@@ -1691,12 +1666,12 @@
 
 // ================================== stream ====================================
 
-// ai_alsa1x.c
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Nelze nastavit vzorkovací kmitočet.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Nelze nastavit čas bufferu.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Nelze nastavit čas periody.\n"
+// ai_alsa.c
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Nelze nastavit vzorkovací kmitočet.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Nelze nastavit čas bufferu.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Nelze nastavit čas periody.\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Vadná konfigurace pro toto PCM: žádná dostupná konfigurace.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Nedostupný typ přístupu.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt "Nedostupný formát vzorku.\n"
--- a/help/help_mp-de.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-de.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1198,31 +1198,6 @@
 "Kompiliere MPlayer mit #undef HAVE_AUDIO_SELECT in der Datei config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nKritischer Fehler: *** KANN AUDIO-GERÄT NICHT ERNEUT ÖFFNEN / ZURÜCKSETZEN *** %s\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: angefordertes Format: %d Hz, %d Kanäle, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: Keine Soundkarten gefunden.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: ungültiges Format (%s) angefordert - Ausgabe deaktiviert.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: Fehler beim Öffnen der Wiedergabe: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: PCM-Informatationsfehler: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: %d Soundkarte(n) gefunden, benutze: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: PCM-Kanal-Informationsfehler: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: Fehler beim Setzen der Parameter: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: Fehler beim Setzen des Kanals: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: Fehler beim Vorbereiten des Kanals: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: Fehler beim Ablauf der Wiedergabe: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: Wiedergabe-Flush-Fehler: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: Fehler beim Schließen von PCM: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: Fehler beim Ablauf der Wiedergabe: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: Wiedergabe-Flush-Fehler: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: Fehler beim Vorbereiten des Kanals: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: Fehler beim Ablauf der Wiedergabe: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: Wiedergabe-Flush-Fehler: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: Fehler beim Vorbereiten des Kanals: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: Alsa-Underrun, setze Stream zurück.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: Fehler beim Vorbereiten der Wiedergabe: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: Schreibfehler nach Rücksetzen: %s - gebe auf.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: Ausgabefehler: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Ungültiger Mixerindex. Verwende Standardwert 0.\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Fehler beim Öffnen des Mixers: %s\n"
@@ -1349,10 +1324,10 @@
 // url.c
 #define MSGTR_MPDEMUX_URL_StringAlreadyEscaped "Zeichenkette scheint bereits im URL-Format %c%c1%c2 'escaped' zu sein.\n"
 
-// ai_alsa1x.c
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Konnte Samplingrate nicht setzen.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Konnte Pufferzeit nicht setzen.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Konnte Periode nicht setzen.\n"
+// ai_alsa.c
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Konnte Samplingrate nicht setzen.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Konnte Pufferzeit nicht setzen.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Konnte Periode nicht setzen.\n"
 
 // ai_alsa.c
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Kaputte Konfiguration für diesen PCM-Kanal: Keine Konfiguration verfügbar.\n"
--- a/help/help_mp-en.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-en.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1234,31 +1234,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Your audio driver DOES NOT support select()  ***\nRecompile MPlayer with #undef HAVE_AUDIO_SELECT in config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nFatal error: *** CANNOT REOPEN / RESET AUDIO DEVICE (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: requested format: %d Hz, %d channels, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: no soundcards found.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: invalid format (%s) requested - output disabled.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: playback open error: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: PCM info error: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: %d soundcard(s) found, using: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: PCM channel info error: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: error setting parameters: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: error setting up channel: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: channel prepare error: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: playback drain error: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: playback flush error: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: PCM close error: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: playback drain error: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: playback flush error: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: channel prepare error: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: playback drain error: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: playback flush error: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: channel prepare error: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: alsa underrun, resetting stream.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: playback prepare error: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: write error after reset: %s - giving up.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: output error: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Invalid mixer index. Defaulting to 0.\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Mixer open error: %s\n"
@@ -1751,12 +1726,12 @@
 
 // ================================== stream ====================================
 
-// ai_alsa1x.c
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Cannot set samplerate.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Cannot set buffer time.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Cannot set period time.\n"
+// ai_alsa.c
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Cannot set samplerate.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Cannot set buffer time.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Cannot set period time.\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Broken configuration for this PCM: no configurations available.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Access type not available.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt "Sample format not available.\n"
--- a/help/help_mp-es.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-es.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1189,31 +1189,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Su controlador de audio no soporta select()  ***\nRecompile MPlayer con #undef HAVE_AUDIO_SELECT en config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nError fatal: *** IMPOSIBLE RE-ABRIR / RESETEAR DISPOSITIVO DE AUDIO (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: formato solicitado: %d Hz, %d canales, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: No se encontró tarjeta de sonido alguna.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: formato inválido (%s) solicitado - deshabilitando salida.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: Fallo en playback open: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: Error en pcm info: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: %d tarjeta(s) de sonido encontrada(s), using: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: Error en la información del canal PCM: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: Error configurando parámetros: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: Error configurando canal: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: Error preparando canal: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: Error de 'playback drain': %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: Error de 'playback flush': %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: Error cerrando pcm: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: Error de 'playback drain': %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: Error de 'playback flush': %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: Error preparando canal: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: Error de 'playback drain': %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: Error de 'playback flush': %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: Error preparando canal: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: alsa underrun, reseteando stream.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: Error preparando playback: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: Error de escritura despues de resetear: %s - me rindo!.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: Error de salida: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Índice del mezclador inválido. Usando 0.\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Mezclador, error abriendo: %s\n"
@@ -1560,12 +1535,12 @@
 // url.c
 #define MSGTR_MPDEMUX_URL_StringAlreadyEscaped "Al parecer el string ya ha sido escapado en url_scape %c%c1%c2\n"
 
-// ai_alsa1x.c
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "No puedo setear el samplerate.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "No puedo setear el tiempo del buffer.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "No puedo setear el tiempo del periodo.\n"
+// ai_alsa.c
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "No puedo setear el samplerate.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "No puedo setear el tiempo del buffer.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "No puedo setear el tiempo del periodo.\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Configuración erronea para este PCM: no hay configuraciones disponibles.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Tipo de acceso no disponible.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt "Formato de muestreo no disponible.\n"
--- a/help/help_mp-fr.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-fr.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1101,31 +1101,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Votre pilote audio ne supporte PAS select()  ***\nRecompiler MPlayer avec #undef HAVE_AUDIO_SELECT dans config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nÉrreur fatale : *** IMPOSSIBLE DE RÉOUVRIR/REPARTIR PÉRIPHÉRIQUE AUDIO (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init : format requis : %d Hz, %d canaux, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init : aucune carte son trouvée.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init : format invalide (%s) requis - sortie désactivée.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init : erreur ouverture lecture : %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init : erreur pcm info : %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init : %d carte(s) son trouvée(s), utilise : %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init : erreur info canal pcm : %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init : erreur parametrage : %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init : erreur ouverture canal : %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init : erreur préparation canal : %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit : erreur drain de lecture : %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit : erreur vidage de lecture : %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit : erreur fermeture pcm : %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset : erreur drain de lecture : %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset : erreur vidage de lecture : %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset : erreur préparation canal : %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause : erreur drain de lecture : %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause : erreur vidage de lecture : %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume : erreur préparation canal : %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play : sous-passement alsa, réinit flux.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play : erreur préparation lecture : %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play : erreur écriture après réinit : %s - abandon.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play : erreur de sortie : %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Index du mixeur invalide. Défaut à 0.\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Erreur ouverture mixeur : %s\n"
@@ -1256,13 +1231,13 @@
 
 #define MSGTR_MPDEMUX_URL_StringAlreadyEscaped "La chaîne semble déjà échappée dans url_escape %c%c1%c2\n"
 
-// ai_alsa1x.c
+// ai_alsa.c
 
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Impossible de régler taux échantillon\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Impossible de régler heure tampon\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Impossible de régler heure période\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Impossible de régler taux échantillon\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Impossible de régler heure tampon\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Impossible de régler heure période\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Configuration brisée pour ce PCM : aucune configuration disponible\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Type d'accès non disponible\n"
--- a/help/help_mp-hu.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-hu.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1188,31 +1188,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  A hangkártyád NEM támogatja a select()-et ***\nFordítsd újra az MPlayer-t az #undef HAVE_AUDIO_SELECT sorral a config.h-ban !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nVégzetes hiba: *** NEM LEHET ÚJRA MEGNYITNI / BEÁLLÍTANI AZ AUDIO ESZKÖZT (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: kért formátum: %d Hz, %d csatorna, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: nem találtam hangkártyát.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: hibás formátumot (%s) kértél - kimenet letiltva.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: playback megnyitási hiba: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: PCM info hiba: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: %d hangkártyát találtam, ezt használom: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: PCM csatorna info hiba: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: hiba a paraméterek beállításakor: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: hiba a csatorna beállításakor: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: csatorna előkészítési hiba: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: lejátszás drain hiba: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: lejátszás ürítési hiba: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: PCM lezárási hiba: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: lejátszás drain hiba: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: lejátszás ürítési hiba: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: csatorna előkészítési hiba: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: lejátszás drain hiba: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: lejátszás ürítési hiba: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: csatorna előkészítési hiba: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: alsa underrun, folyam beállítása.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: lejátszás előkészítési hiba: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: írási hiba a beállítás után: %s - feladom.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: kimeneti hiba: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Hibás mixer index. Alapértelmezés 0-ra.\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Mixer megnyitási hiba: %s\n"
@@ -1704,12 +1679,12 @@
 
 // ================================== stream ====================================
 
-// ai_alsa1x.c
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Nem állítható be a mintavételi ráta.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Nem állítható be a buffer idő.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Nem állítható be a periódus idő.\n"
+// ai_alsa.c
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Nem állítható be a mintavételi ráta.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Nem állítható be a buffer idő.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Nem állítható be a periódus idő.\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Hibás konfiguráció ehhez a PCM-hez: nincs elérhető konfiguráció.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Elérési típus nem használható.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt "Minta formátum nem elérhető.\n"
--- a/help/help_mp-it.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-it.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1184,31 +1184,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Il tuo driver audio NON supporta select()  ***\n Ricompila MPlayer con #undef HAVE_AUDIO_SELECT in config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nErrore fatale: *** NON POSSO RIAPRIRE / RESETTARE IL DEVICE AUDIO *** %s\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: formato richiesto: %d Hz, %d canali, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: nessuna scheda audio trovata.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: formato voluto (%s) invalido - output disabilitato.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: errore apertura riproduzione: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: errore informazioni PCM: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: %d scheda/e audio travata/e, uso: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: errore informazioni canale PCM: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: errore impostazione parametri: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: errore nell'impostazione canale: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: preparazione del canale: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: errore 'drain' riproduzione: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: errore 'flush' riproduzione: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: errore chiusura PCM: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: errore 'drain' riproduzione: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: errore 'flush' riproduzione: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: errore preparazione canale: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: errore 'drain' riproduzione: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: errore 'flush' riproduzione: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: errore preparazione canale: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: ritardo alsa, reimposto il flusso.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: errore preparazione riproduzione: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: errore di scrittura dopo reset: %s - mi arrendo.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: errore di output: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Indice mixer non valido. Uso il default 0.\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Errore di apertura mixer: %s\n"
@@ -1702,12 +1677,12 @@
 
 // ================================== stream ====================================
 
-// ai_alsa1x.c
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Non posso impostare il samplerate.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Non posso impostare il tempo del buffer.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Non posso impostare il tempo del periodo.\n"
+// ai_alsa.c
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Non posso impostare il samplerate.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Non posso impostare il tempo del buffer.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Non posso impostare il tempo del periodo.\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Configurazione PCM rovinata: nessuna configurazione disponibile.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Tipo di accesso non disponibile.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt "Formato sample non disponibile.\n"
--- a/help/help_mp-nl.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-nl.h	Wed Nov 09 01:22:02 2011 +0000
@@ -861,31 +861,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Your audio driver DOES NOT support select()  ***\nRecompile MPlayer with #undef HAVE_AUDIO_SELECT in config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nFatal error: *** CANNOT RE-OPEN / RESET AUDIO DEVICE (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: gevraagd formaat: %d Hz, %d channels, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: geen geluidskaart gevonden.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: ongeldig formaat (%s) gevraagd - output uitgeschakeld.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: fout bij het afspelen : %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: pcm info fout: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: %d geluidskaart(en) gevonden, in gebruik: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: pcm kanaal info fout: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: fout bij het instellen van de parameters: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: fout bij het instellen van het kanaal: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: fout bij het voorbereiden van het kanaal: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: playback drain fout: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: playback flush fout: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: fout bij het sluiten van de pcm : %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: playback drain fout: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: playback flush fout: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: fout bij het voorbereiden van het kanaal: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: playback drain fout: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: playback flush fout: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: fout bij het voorbereiden van het kanaal: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: alsa buffer leeg, de stream wordt gereset.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: fout bij het voorbereiden van het afspelen: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: schrijffout na reset: %s -  we geven op.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: output fout: %s\n"
-
 // ao_plugin.c
 
 #define MSGTR_AO_PLUGIN_InvalidPlugin "[AO PLUGIN] ongeldige plugin: %s\n"
--- a/help/help_mp-pl.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-pl.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1067,31 +1067,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Twój sterownik dźwięku NIE OBSŁUGUJE select()  ***\nPrzekompiluj MPlayer z opcją #undef HAVE_AUDIO_SELECT w config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nFatal error: *** Nie mogę otworzyć ponownie/zresetować urządzenia audio (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: żądany format: %d Hz, %d kanały, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: nie znaleziono żadnych kart dźwiękowych.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: żądanie niewłaściwego formatu (%s)a - wyjście wyłączone.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: błąd odtwarzania: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: bład PCM info: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: znalazłem %d kart dźwiękowych, używam: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: błąd PCM channel info: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: błąd ustawiania paremetrów: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: błąd ustawiania kanału: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: błąd przygotowywania kanału: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: błąd odsączania odtwarzania: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: błąd czyszczenia odtwarzania: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: błąd zamykania PCM: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: błąd odsączania odtwarzania: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: błąd czyszczenia odtwarzania: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: błąd przygotowywania kanału: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: błąd odsączania odtwarzania: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: błąd czyszczenia odtwarzania: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: błąd przygotowywania kanału: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: błąd alsa, resetuję strumień.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: błąd przygotowywania do odtwarzania: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: błąd zapisu po resecie: %s - przestaję.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: błąd wyjścia: %s\n"
-
 // ao_plugin.c
 
 #define MSGTR_AO_PLUGIN_InvalidPlugin "[AO PLUGIN] nieprawidłowa wtyczka: %s\n"
@@ -1165,13 +1140,13 @@
 
 #define MSGTR_MPDEMUX_URL_StringAlreadyEscaped "Łancuch wydaje się być już zakodowany w url_escape %c%c1%c2\n"
 
-// ai_alsa1x.c
+// ai_alsa.c
 
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Nie mogę ustawić częstotliwości próbkowania.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Nie moge ustawić czasu bufora.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Nie mogę ustawić czasu okresu.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Nie mogę ustawić częstotliwości próbkowania.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Nie moge ustawić czasu bufora.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Nie mogę ustawić czasu okresu.\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Błędna konfiguracja tego PCM: brak dostępnych konfiguracji.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Niedostępny tryb dostępu.\n"
--- a/help/help_mp-ru.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-ru.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1176,31 +1176,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Ваш аудиодрайвер НЕ поддерживает select()  ***\nПерекомпилируйте MPlayer с #undef HAVE_AUDIO_SELECT в config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN] Фатальная ошибка:\n*** НЕ МОГУ ПОВТОРНО ОТКРЫТЬ / СБРОСИТЬ АУДИОУСТРОЙСТВО (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] инициализация alsa: запрошенный формат: %d Гц, %d каналов, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] инициализация alsa: не найдено звуковых карт.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] инициализация alsa: запрошен неверный формат (%s) - вывод отключен.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] инициализация alsa: ошибка открытия потока воспроизведения: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] инициализация alsa: ошибка получения pcm информации: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] инициализация alsa: найдена(о) %d звуковая(ых) карт(а), использую: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] инициализация alsa: ошибка получения информации pcm канала: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] инициализация alsa: ошибка установки параметров: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] инициализация alsa: ошибка установки канала: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] инициализация alsa: ошибка подготовки канала: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] деинициализация alsa: ошибка очистки потока воспроизведения: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] деинициализация alsa: ошибка сброса буферов потока воспроизведения: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] деинициализация alsa: ошибка закрытия pcm: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] сброс alsa: ошибка очистки потока воспроизведения: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] сброс alsa: ошибка сброса буферов потока воспроизведения: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] сброс alsa: ошибка подготовки канала: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] пауза alsa: ошибка очистки потока воспроизведения: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] пауза alsa: ошибка сброса буферов потока воспроизведения: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] возобновление alsa: ошибка подготовки канала: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] воспроизведение alsa: alsa недогружена, сбрасываю поток.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] воспроизведение alsa: ошибка подготовки потока воспроизведения: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] воспроизведение alsa: ошибка записи после сброса: %s - безнадёжно.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] воспроизведение alsa: ошибка вывода: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Неверный индекс микшера. Возврат к 0.\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Ошибка открытия микшера: %s\n"
@@ -1732,12 +1707,12 @@
 
 // ================================== stream ====================================
 
-// ai_alsa1x.c
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Не могу задать частоту дискретизации.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Не могу задать время буферизации.\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Не могу задать время периода.\n"
+// ai_alsa.c
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Не могу задать частоту дискретизации.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Не могу задать время буферизации.\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Не могу задать время периода.\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Некорректная конфигурация для данного PCM: нет доступных конфигураций.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Тип доступа не доступен.\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt "Формат образца не доступен.\n"
--- a/help/help_mp-sv.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-sv.h	Wed Nov 09 01:22:02 2011 +0000
@@ -881,31 +881,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  Din ljudkortsenhet hanterar inte select()  ***\nKompilera om med '#undef HAVE_AUDIO_SELECT' i config.h !\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nFatalt fel: *** KAN INTE ÅTERÖPPNA / ÅTERSTÄLLA AUDIOENHET (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init: önskat format: %d Hz, %d kanaler, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init: inga ljudkort funna.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init: icke godkänt format (%s) önskat - ut deaktiverat.\n" // FIXME output -> ut here?
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init: uppspelningsöppningsfel: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init: pcm-infofel: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init: %d ljurtkort funna, använder: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init: pcm-kanalinfofel: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init: fel vid sättning av parametrarna: %s\n" // FIXME setting?
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init: fel vid initiering av kanal: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init: kanalprepareringsfel: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit: uppspelningslänsningsfel: %s\n" // FIXME drain -> länsning?
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit: uppspelningsspolningsfel: %s\n" // FIXME flush -> spolning?
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit: pcm-stängningsfel: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset: uppspelningslänsningsfel: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset: uppspelningsspolningsfel: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset: kanalprepareringsfel: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause: uppspelningslänsningsfel: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause: uppspelningsspolningsfel: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume: kanalprepareringsfel: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: alsa underrun, återställer ström.\n" // FIXME underun - translate?
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play: uppspelningsprepareringsfel: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play: skrivfel efter återställning: %s - ger upp.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play: utfel: %s\n" // FIXME output -> ut her?
-
 // ao_plugin.c
 
 #define MSGTR_AO_PLUGIN_InvalidPlugin "[AO PLUGIN] icke godkänd plugin: %s\n" // FIXME plugin - translate?
--- a/help/help_mp-tr.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-tr.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1115,31 +1115,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   *** Ses sürücünüzün select() desteği YOK ***\nconfig.h dosyasında #undef HAVE_AUDIO_SELECT ile Mplayer'ı yeniden derleyiniz!\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\nÖnemli Hata: ***SES AYGITI TEKRAR AÇILAMIYOR (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-açılış: istenen biçim: %d Hz, %d kanalları, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-açılış: ses kartı bulunamadı.\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-açılış: geçersiz biçim (%s) istenen - çıktı devredışı.\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-açılış: playback açma hatası: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-açılış: pcm bilgi hatası: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-açılış: %d ses kart(lar)ı bulundu, kullanılan: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-açılış: pcm kanal bilgi hatası: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-açılış: parametre ayarlama hatası: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-açılış: kanal kurulum hatası: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-açılış: kanal hazırlama hatası: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-kapanış: playback drain hatası: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-kapanış: playback flush hatası: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-kapanış: pcm kapanış hatası: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-sıfırla: playback drain hatası: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-sıfırla: playback yayın flush hatası: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-sıfırla: kanal hazırlama hatası: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-duraklat: playback drain hatası: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-duraklat: playback flush hatası: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-sürdür: kanal hazırlama hatası: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-oynat: alsa underrun, yayın tekrar ayarlanıyor.\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-oynat: playback hazırlama hatası: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-oynat: yeniden başlatma sonrası yazma hatası: %s - vazgeçiliyor.\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-oynat: çıktı hatası: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] Geçersiz karıştırıcı içeriği. Varsayılan olarak 0. yapılıyor\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] Karıştırıcı açma hatası: %s\n"
@@ -1265,13 +1240,13 @@
 
 #define MSGTR_MPDEMUX_URL_StringAlreadyEscaped "%c%c1%c2 url_atlamasında dizgi zaten atlatılmış görünüyor.\n"
 
-// ai_alsa1x.c
+// ai_alsa.c
 
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "Örnekleme oranı ayarlanamıyor\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "Tampon zamanı ayarlanamıyor\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "Zaman aralığı ayarlanamıyor\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "Örnekleme oranı ayarlanamıyor\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "Tampon zamanı ayarlanamıyor\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "Zaman aralığı ayarlanamıyor\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "Bu PCM için bozuk ayar: kullanılabilir ayar yok\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "Erişim türü kullanılabilir değil\n"
--- a/help/help_mp-zh_CN.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-zh_CN.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1234,31 +1234,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  你的音频驱动不支持 select()  ***\n需要在 config.h 中设置 #undef HAVE_AUDIO_SELECT 并重新编译 MPlayer!\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\n致命错误:*** 无法重新打开/重启音频设备(%s)***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-init:所请求格式:%d Hz,%d 声道,%s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-init:未找到声卡。\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-init:所请求格式无效(%s)- 禁用音频输出。\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-init:打开播放模式错误:%s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-init:PCM 信息错误:%s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-init:找到声卡 %d,使用:%s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-init:PCM 声道信息错误:%s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-init:设定参数错误:%s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-init:设定声道错误:%s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-init:准备声道错误:%s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-uninit:播放数据清空错误:%s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-uninit:播放数据刷新错误:%s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-uninit:PCM 关闭错误:%s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-reset:播放数据清空错误:%s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-reset:播放数据刷新错误:%s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-reset:声道准备错误:%s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-pause:播放数据刷新错误:%s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-pause:播放数据刷新错误:%s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-resume:声道准备错误:%s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play:alsa 输出滞后,重新设置音频流。\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-play:播放准备错误:%s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-play:重置后写入错误:%s - 放弃。\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-play:输出错误:%s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] 无效的混音器索引号。取默认值 0。\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] 打开混音器错误:%s\n"
@@ -1751,12 +1726,12 @@
 
 // ================================== stream ====================================
 
-// ai_alsa1x.c
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "无法设置采样率。\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "无法设置缓冲时间。\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "无法设置采样间隔时间。\n"
+// ai_alsa.c
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "无法设置采样率。\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "无法设置缓冲时间。\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "无法设置采样间隔时间。\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "该 PCM 的配置文件已损坏:无可用配置。\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "无可用访问类型。\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt "无可用采样格式。\n"
--- a/help/help_mp-zh_TW.h	Wed Nov 09 00:32:12 2011 +0000
+++ b/help/help_mp-zh_TW.h	Wed Nov 09 01:22:02 2011 +0000
@@ -1086,31 +1086,6 @@
 #define MSGTR_AO_SUN_CantUseSelect "[AO SUN]\n   ***  你的音頻驅動不支持 select()  ***\n用 config.h 中的 #undef HAVE_AUDIO_SELECT 重新編譯 MPlayer!\n\n"
 #define MSGTR_AO_SUN_CantReopenReset "[AO SUN]\n致命錯誤: *** 無法重新打開或重設音頻設備 (%s) ***\n"
 
-// ao_alsa5.c
-#define MSGTR_AO_ALSA5_InitInfo "[AO ALSA5] alsa-初始: 請求的格式: %d Hz, %d 通道, %s\n"
-#define MSGTR_AO_ALSA5_SoundCardNotFound "[AO ALSA5] alsa-初始: 找不到聲卡。\n"
-#define MSGTR_AO_ALSA5_InvalidFormatReq "[AO ALSA5] alsa-初始: 請求無效的格式 (%s) - 停用輸出。\n"
-#define MSGTR_AO_ALSA5_PlayBackError "[AO ALSA5] alsa-初始: 回放打開錯誤: %s\n"
-#define MSGTR_AO_ALSA5_PcmInfoError "[AO ALSA5] alsa-初始: PCM 信息錯誤: %s\n"
-#define MSGTR_AO_ALSA5_SoundcardsFound "[AO ALSA5] alsa-初始: 找到 %d 聲卡, 使用: %s\n"
-#define MSGTR_AO_ALSA5_PcmChanInfoError "[AO ALSA5] alsa-初始: PCM 通道信息錯誤: %s\n"
-#define MSGTR_AO_ALSA5_CantSetParms "[AO ALSA5] alsa-初始: 設定參數錯誤: %s\n"
-#define MSGTR_AO_ALSA5_CantSetChan "[AO ALSA5] alsa-初始: 設定通道錯誤: %s\n"
-#define MSGTR_AO_ALSA5_ChanPrepareError "[AO ALSA5] alsa-初始: 通道凖備錯誤: %s\n"
-#define MSGTR_AO_ALSA5_DrainError "[AO ALSA5] alsa-反初始: 回放排出(drain)錯誤: %s\n"
-#define MSGTR_AO_ALSA5_FlushError "[AO ALSA5] alsa-反初始: 回放清空(flush)錯誤: %s\n"
-#define MSGTR_AO_ALSA5_PcmCloseError "[AO ALSA5] alsa-反初始: PCM 關閉錯誤: %s\n"
-#define MSGTR_AO_ALSA5_ResetDrainError "[AO ALSA5] alsa-重置: 回放排出(drain)錯誤: %s\n"
-#define MSGTR_AO_ALSA5_ResetFlushError "[AO ALSA5] alsa-重置: 回放清空(flush)錯誤: %s\n"
-#define MSGTR_AO_ALSA5_ResetChanPrepareError "[AO ALSA5] alsa-重置: 通道凖備錯誤: %s\n"
-#define MSGTR_AO_ALSA5_PauseDrainError "[AO ALSA5] alsa-暫停: 回放排出(drain)錯誤: %s\n"
-#define MSGTR_AO_ALSA5_PauseFlushError "[AO ALSA5] alsa-暫停: 回放清空(flush)錯誤: %s\n"
-#define MSGTR_AO_ALSA5_ResumePrepareError "[AO ALSA5] alsa-恢複: 通道凖備錯誤: %s\n"
-#define MSGTR_AO_ALSA5_Underrun "[AO ALSA5] alsa-play: alsa 未運行, 重新啟動流。\n"
-#define MSGTR_AO_ALSA5_PlaybackPrepareError "[AO ALSA5] alsa-播放: 回放凖備錯誤: %s\n"
-#define MSGTR_AO_ALSA5_WriteErrorAfterReset "[AO ALSA5] alsa-播放: 重啟後寫錯誤: %s - 放棄。\n"
-#define MSGTR_AO_ALSA5_OutPutError "[AO ALSA5] alsa-播放: 輸出錯誤: %s\n"
-
 // ao_alsa.c
 #define MSGTR_AO_ALSA_InvalidMixerIndexDefaultingToZero "[AO_ALSA] 無效的混音索引。取默認值 0。\n"
 #define MSGTR_AO_ALSA_MixerOpenError "[AO_ALSA] 混音打開錯誤: %s\n"
@@ -1235,13 +1210,13 @@
 
 #define MSGTR_MPDEMUX_URL_StringAlreadyEscaped "字符轉義好像已發生在 url_escape %c%c1%c2\n"
 
-// ai_alsa1x.c
+// ai_alsa.c
 
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate "無法設置采様率。\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime "無法設置緩衝時間。\n"
-#define MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime "無法設置間隔時間。\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate "無法設置采様率。\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime "無法設置緩衝時間。\n"
+#define MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime "無法設置間隔時間。\n"
 
-// ai_alsa1x.c / ai_alsa.c
+// ai_alsa.c
 
 #define MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig "此 PCM 的配置文件損壞: 配置不可用。\n"
 #define MSGTR_MPDEMUX_AIALSA_UnavailableAccessType "訪問類型不可用。\n"
--- a/libao2/ao_alsa5.c	Wed Nov 09 00:32:12 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,384 +0,0 @@
-/*
- * ALSA 0.5.x audio output driver
- *
- * Copyright (C) 2001 Alex Beregszaszi
- *
- * Thanks to Arpi for helping me ;)
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <errno.h>
-#include <sys/asoundlib.h>
-
-#include "config.h"
-
-#include "audio_out.h"
-#include "audio_out_internal.h"
-#include "libaf/af_format.h"
-
-#include "mp_msg.h"
-#include "help_mp.h"
-
-static const ao_info_t info =
-{
-    "ALSA-0.5.x audio output",
-    "alsa5",
-    "Alex Beregszaszi",
-    ""
-};
-
-LIBAO_EXTERN(alsa5)
-
-static snd_pcm_t *alsa_handler;
-static snd_pcm_format_t alsa_format;
-static int alsa_rate = SND_PCM_RATE_CONTINUOUS;
-
-/* to set/get/query special features/parameters */
-static int control(int cmd, void *arg)
-{
-    return CONTROL_UNKNOWN;
-}
-
-/*
-    open & setup audio device
-    return: 1=success 0=fail
-*/
-static int init(int rate_hz, int channels, int format, int flags)
-{
-    int err;
-    int cards = -1;
-    snd_pcm_channel_params_t params;
-    snd_pcm_channel_setup_t setup;
-    snd_pcm_info_t info;
-    snd_pcm_channel_info_t chninfo;
-
-    mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_ALSA5_InitInfo, rate_hz,
-	channels, af_fmt2str_short(format));
-
-    alsa_handler = NULL;
-
-    mp_msg(MSGT_AO, MSGL_V, "alsa-init: compiled for ALSA-%s (%d)\n", SND_LIB_VERSION_STR,
-        SND_LIB_VERSION);
-
-    if ((cards = snd_cards()) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_SoundCardNotFound);
-	return 0;
-    }
-
-    ao_data.format = format;
-    ao_data.channels = channels;
-    ao_data.samplerate = rate_hz;
-    ao_data.bps = ao_data.samplerate*ao_data.channels;
-    ao_data.outburst = OUTBURST;
-    ao_data.buffersize = 16384;
-
-    memset(&alsa_format, 0, sizeof(alsa_format));
-    switch (format)
-    {
-	case AF_FORMAT_S8:
-	    alsa_format.format = SND_PCM_SFMT_S8;
-	    break;
-	case AF_FORMAT_U8:
-	    alsa_format.format = SND_PCM_SFMT_U8;
-	    break;
-	case AF_FORMAT_U16_LE:
-	    alsa_format.format = SND_PCM_SFMT_U16_LE;
-	    break;
-	case AF_FORMAT_U16_BE:
-	    alsa_format.format = SND_PCM_SFMT_U16_BE;
-	    break;
-	case AF_FORMAT_AC3_LE:
-	case AF_FORMAT_S16_LE:
-	    alsa_format.format = SND_PCM_SFMT_S16_LE;
-	    break;
-	case AF_FORMAT_AC3_BE:
-	case AF_FORMAT_S16_BE:
-	    alsa_format.format = SND_PCM_SFMT_S16_BE;
-	    break;
-	default:
-	    alsa_format.format = SND_PCM_SFMT_MPEG;
-	    break;
-    }
-
-    switch(alsa_format.format)
-    {
-	case SND_PCM_SFMT_S16_LE:
-	case SND_PCM_SFMT_U16_LE:
-	    ao_data.bps *= 2;
-	    break;
-	case -1:
-	    mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_InvalidFormatReq,af_fmt2str_short(format));
-	    return 0;
-	default:
-	    break;
-    }
-
-    switch(rate_hz)
-    {
-	case 8000:
-	    alsa_rate = SND_PCM_RATE_8000;
-	    break;
-	case 11025:
-	    alsa_rate = SND_PCM_RATE_11025;
-	    break;
-	case 16000:
-	    alsa_rate = SND_PCM_RATE_16000;
-	    break;
-	case 22050:
-	    alsa_rate = SND_PCM_RATE_22050;
-	    break;
-	case 32000:
-	    alsa_rate = SND_PCM_RATE_32000;
-	    break;
-	case 44100:
-	    alsa_rate = SND_PCM_RATE_44100;
-	    break;
-	case 48000:
-	    alsa_rate = SND_PCM_RATE_48000;
-	    break;
-	case 88200:
-	    alsa_rate = SND_PCM_RATE_88200;
-	    break;
-	case 96000:
-	    alsa_rate = SND_PCM_RATE_96000;
-	    break;
-	case 176400:
-	    alsa_rate = SND_PCM_RATE_176400;
-	    break;
-	case 192000:
-	    alsa_rate = SND_PCM_RATE_192000;
-	    break;
-	default:
-	    alsa_rate = SND_PCM_RATE_CONTINUOUS;
-	    break;
-    }
-
-    alsa_format.rate = ao_data.samplerate;
-    alsa_format.voices = ao_data.channels;
-    alsa_format.interleave = 1;
-
-    if ((err = snd_pcm_open(&alsa_handler, 0, 0, SND_PCM_OPEN_PLAYBACK)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PlayBackError, snd_strerror(err));
-	return 0;
-    }
-
-    if ((err = snd_pcm_info(alsa_handler, &info)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PcmInfoError, snd_strerror(err));
-	return 0;
-    }
-
-    mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AO_ALSA5_SoundcardsFound,
-	cards, info.name);
-
-    if (info.flags & SND_PCM_INFO_PLAYBACK)
-    {
-	memset(&chninfo, 0, sizeof(chninfo));
-	chninfo.channel = SND_PCM_CHANNEL_PLAYBACK;
-	if ((err = snd_pcm_channel_info(alsa_handler, &chninfo)) < 0)
-	{
-	    mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PcmChanInfoError, snd_strerror(err));
-	    return 0;
-	}
-
-#ifndef __QNX__
-	if (chninfo.buffer_size)
-	    ao_data.buffersize = chninfo.buffer_size;
-#endif
-
-	mp_msg(MSGT_AO, MSGL_V, "alsa-init: setting preferred buffer size from driver: %d bytes\n",
-	    ao_data.buffersize);
-    }
-
-    memset(&params, 0, sizeof(params));
-    params.channel = SND_PCM_CHANNEL_PLAYBACK;
-    params.mode = SND_PCM_MODE_STREAM;
-    params.format = alsa_format;
-    params.start_mode = SND_PCM_START_DATA;
-    params.stop_mode = SND_PCM_STOP_ROLLOVER;
-    params.buf.stream.queue_size = ao_data.buffersize;
-    params.buf.stream.fill = SND_PCM_FILL_NONE;
-
-    if ((err = snd_pcm_channel_params(alsa_handler, &params)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_CantSetParms, snd_strerror(err));
-	return 0;
-    }
-
-    memset(&setup, 0, sizeof(setup));
-    setup.channel = SND_PCM_CHANNEL_PLAYBACK;
-    setup.mode = SND_PCM_MODE_STREAM;
-    setup.format = alsa_format;
-    setup.buf.stream.queue_size = ao_data.buffersize;
-    setup.msbits_per_sample = ao_data.bps;
-
-    if ((err = snd_pcm_channel_setup(alsa_handler, &setup)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_CantSetChan, snd_strerror(err));
-	return 0;
-    }
-
-    if ((err = snd_pcm_channel_prepare(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_ChanPrepareError, snd_strerror(err));
-	return 0;
-    }
-
-    mp_msg(MSGT_AO, MSGL_INFO, "AUDIO: %d Hz/%d channels/%d bps/%d bytes buffer/%s\n",
-	ao_data.samplerate, ao_data.channels, ao_data.bps, ao_data.buffersize,
-	snd_pcm_get_format_name(alsa_format.format));
-    return 1;
-}
-
-/* close audio device */
-static void uninit(int immed)
-{
-    int err;
-
-    if ((err = snd_pcm_playback_drain(alsa_handler)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_DrainError, snd_strerror(err));
-	return;
-    }
-
-    if ((err = snd_pcm_channel_flush(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_FlushError, snd_strerror(err));
-	return;
-    }
-
-    if ((err = snd_pcm_close(alsa_handler)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PcmCloseError, snd_strerror(err));
-	return;
-    }
-}
-
-/* stop playing and empty buffers (for seeking/pause) */
-static void reset(void)
-{
-    int err;
-
-    if ((err = snd_pcm_playback_drain(alsa_handler)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_ResetDrainError, snd_strerror(err));
-	return;
-    }
-
-    if ((err = snd_pcm_channel_flush(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_ResetFlushError, snd_strerror(err));
-	return;
-    }
-
-    if ((err = snd_pcm_channel_prepare(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_ResetChanPrepareError, snd_strerror(err));
-	return;
-    }
-}
-
-/* stop playing, keep buffers (for pause) */
-static void audio_pause(void)
-{
-    int err;
-
-    if ((err = snd_pcm_playback_drain(alsa_handler)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PauseDrainError, snd_strerror(err));
-	return;
-    }
-
-    if ((err = snd_pcm_channel_flush(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PauseFlushError, snd_strerror(err));
-	return;
-    }
-}
-
-/* resume playing, after audio_pause() */
-static void audio_resume(void)
-{
-    int err;
-    if ((err = snd_pcm_channel_prepare(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
-    {
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_ResumePrepareError, snd_strerror(err));
-	return;
-    }
-}
-
-/*
-    plays 'len' bytes of 'data'
-    returns: number of bytes played
-*/
-static int play(void* data, int len, int flags)
-{
-    int got_len;
-
-    if (!len)
-	return 0;
-
-    if ((got_len = snd_pcm_write(alsa_handler, data, len)) < 0)
-    {
-	if (got_len == -EPIPE) /* underrun? */
-	{
-	    mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_Underrun);
-	    if ((got_len = snd_pcm_channel_prepare(alsa_handler, SND_PCM_CHANNEL_PLAYBACK)) < 0)
-	    {
-		mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_PlaybackPrepareError, snd_strerror(got_len));
-		return 0;
-	    }
-	    if ((got_len = snd_pcm_write(alsa_handler, data, len)) < 0)
-	    {
-		mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_WriteErrorAfterReset,
-		    snd_strerror(got_len));
-		return 0;
-	    }
-	    return got_len; /* 2nd write was ok */
-	}
-	mp_msg(MSGT_AO, MSGL_ERR, MSGTR_AO_ALSA5_OutPutError, snd_strerror(got_len));
-	return 0;
-    }
-    return got_len;
-}
-
-/* how many byes are free in the buffer */
-static int get_space(void)
-{
-    snd_pcm_channel_status_t ch_stat;
-
-    ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK;
-
-    if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0)
-	return 0; /* error occurred */
-    else
-	return ch_stat.free;
-}
-
-/* delay in seconds between first and last sample in buffer */
-static float get_delay(void)
-{
-    snd_pcm_channel_status_t ch_stat;
-
-    ch_stat.channel = SND_PCM_CHANNEL_PLAYBACK;
-
-    if (snd_pcm_channel_status(alsa_handler, &ch_stat) < 0)
-	return (float)ao_data.buffersize/(float)ao_data.bps; /* error occurred */
-    else
-	return (float)ch_stat.count/(float)ao_data.bps;
-}
--- a/libao2/audio_out.c	Wed Nov 09 00:32:12 2011 +0000
+++ b/libao2/audio_out.c	Wed Nov 09 01:22:02 2011 +0000
@@ -39,7 +39,6 @@
 extern const ao_functions_t audio_out_jack;
 extern const ao_functions_t audio_out_openal;
 extern const ao_functions_t audio_out_null;
-extern const ao_functions_t audio_out_alsa5;
 extern const ao_functions_t audio_out_alsa;
 extern const ao_functions_t audio_out_nas;
 extern const ao_functions_t audio_out_sdl;
@@ -80,9 +79,6 @@
 #ifdef CONFIG_ALSA
         &audio_out_alsa,
 #endif
-#ifdef CONFIG_ALSA5
-        &audio_out_alsa5,
-#endif
 #ifdef CONFIG_SGI_AUDIO
         &audio_out_sgi,
 #endif
--- a/stream/ai_alsa.c	Wed Nov 09 00:32:12 2011 +0000
+++ b/stream/ai_alsa.c	Wed Nov 09 01:22:02 2011 +0000
@@ -32,8 +32,9 @@
 {
     snd_pcm_hw_params_t *params;
     snd_pcm_sw_params_t *swparams;
-    int buffer_size;
+    snd_pcm_uframes_t buffer_size, period_size;
     int err;
+    int dir;
     unsigned int rate;
 
     snd_pcm_hw_params_alloca(&params);
@@ -44,63 +45,76 @@
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig);
 	return -1;
     }
+
     err = snd_pcm_hw_params_set_access(ai->alsa.handle, params,
 				       SND_PCM_ACCESS_RW_INTERLEAVED);
     if (err < 0) {
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableAccessType);
 	return -1;
     }
+
     err = snd_pcm_hw_params_set_format(ai->alsa.handle, params, SND_PCM_FORMAT_S16_LE);
     if (err < 0) {
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt);
 	return -1;
     }
+
     err = snd_pcm_hw_params_set_channels(ai->alsa.handle, params, ai->req_channels);
     if (err < 0) {
-	ai->channels = snd_pcm_hw_params_get_channels(params);
+	snd_pcm_hw_params_get_channels(params, &ai->channels);
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableChanCount,
 	       ai->channels);
     } else {
 	ai->channels = ai->req_channels;
     }
 
-    err = snd_pcm_hw_params_set_rate_near(ai->alsa.handle, params, ai->req_samplerate, 0);
-    assert(err >= 0);
-    rate = err;
+    dir = 0;
+    rate = ai->req_samplerate;
+    err = snd_pcm_hw_params_set_rate_near(ai->alsa.handle, params, &rate, &dir);
+    if (err < 0) {
+	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotSetSamplerate);
+    }
     ai->samplerate = rate;
 
+    dir = 0;
     ai->alsa.buffer_time = 1000000;
-    ai->alsa.buffer_time = snd_pcm_hw_params_set_buffer_time_near(ai->alsa.handle, params,
-							       ai->alsa.buffer_time, 0);
-    assert(ai->alsa.buffer_time >= 0);
+    err = snd_pcm_hw_params_set_buffer_time_near(ai->alsa.handle, params,
+						 &ai->alsa.buffer_time, &dir);
+    if (err < 0) {
+	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotSetBufferTime);
+    }
+
+    dir = 0;
     ai->alsa.period_time = ai->alsa.buffer_time / 4;
-    ai->alsa.period_time = snd_pcm_hw_params_set_period_time_near(ai->alsa.handle, params,
-							       ai->alsa.period_time, 0);
-    assert(ai->alsa.period_time >= 0);
+    err = snd_pcm_hw_params_set_period_time_near(ai->alsa.handle, params,
+						 &ai->alsa.period_time, &dir);
+    if (err < 0) {
+	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotSetPeriodTime);
+    }
+
     err = snd_pcm_hw_params(ai->alsa.handle, params);
     if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotInstallHWParams);
+	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotInstallHWParams, snd_strerror(err));
 	snd_pcm_hw_params_dump(params, ai->alsa.log);
 	return -1;
     }
-    ai->alsa.chunk_size = snd_pcm_hw_params_get_period_size(params, 0);
-    buffer_size = snd_pcm_hw_params_get_buffer_size(params);
-    if (ai->alsa.chunk_size == buffer_size) {
+
+    dir = -1;
+    snd_pcm_hw_params_get_period_size(params, &period_size, &dir);
+    snd_pcm_hw_params_get_buffer_size(params, &buffer_size);
+    ai->alsa.chunk_size = period_size;
+    if (period_size == buffer_size) {
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_PeriodEqualsBufferSize, ai->alsa.chunk_size, (long)buffer_size);
 	return -1;
     }
+
     snd_pcm_sw_params_current(ai->alsa.handle, swparams);
     err = snd_pcm_sw_params_set_sleep_min(ai->alsa.handle, swparams,0);
-    assert(err >= 0);
     err = snd_pcm_sw_params_set_avail_min(ai->alsa.handle, swparams, ai->alsa.chunk_size);
-    assert(err >= 0);
 
     err = snd_pcm_sw_params_set_start_threshold(ai->alsa.handle, swparams, 0);
-    assert(err >= 0);
     err = snd_pcm_sw_params_set_stop_threshold(ai->alsa.handle, swparams, buffer_size);
-    assert(err >= 0);
 
-    assert(err >= 0);
     if (snd_pcm_sw_params(ai->alsa.handle, swparams) < 0) {
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotInstallSWParams);
 	snd_pcm_sw_params_dump(swparams, ai->alsa.log);
--- a/stream/ai_alsa1x.c	Wed Nov 09 00:32:12 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <alloca.h>
-
-#include "config.h"
-
-#include <alsa/asoundlib.h>
-#include "audio_in.h"
-#include "mp_msg.h"
-#include "help_mp.h"
-
-int ai_alsa_setup(audio_in_t *ai)
-{
-    snd_pcm_hw_params_t *params;
-    snd_pcm_sw_params_t *swparams;
-    snd_pcm_uframes_t buffer_size, period_size;
-    int err;
-    int dir;
-    unsigned int rate;
-
-    snd_pcm_hw_params_alloca(&params);
-    snd_pcm_sw_params_alloca(&swparams);
-
-    err = snd_pcm_hw_params_any(ai->alsa.handle, params);
-    if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig);
-	return -1;
-    }
-
-    err = snd_pcm_hw_params_set_access(ai->alsa.handle, params,
-				       SND_PCM_ACCESS_RW_INTERLEAVED);
-    if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableAccessType);
-	return -1;
-    }
-
-    err = snd_pcm_hw_params_set_format(ai->alsa.handle, params, SND_PCM_FORMAT_S16_LE);
-    if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt);
-	return -1;
-    }
-
-    err = snd_pcm_hw_params_set_channels(ai->alsa.handle, params, ai->req_channels);
-    if (err < 0) {
-	snd_pcm_hw_params_get_channels(params, &ai->channels);
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableChanCount,
-	       ai->channels);
-    } else {
-	ai->channels = ai->req_channels;
-    }
-
-    dir = 0;
-    rate = ai->req_samplerate;
-    err = snd_pcm_hw_params_set_rate_near(ai->alsa.handle, params, &rate, &dir);
-    if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_CannotSetSamplerate);
-    }
-    ai->samplerate = rate;
-
-    dir = 0;
-    ai->alsa.buffer_time = 1000000;
-    err = snd_pcm_hw_params_set_buffer_time_near(ai->alsa.handle, params,
-						 &ai->alsa.buffer_time, &dir);
-    if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_CannotSetBufferTime);
-    }
-
-    dir = 0;
-    ai->alsa.period_time = ai->alsa.buffer_time / 4;
-    err = snd_pcm_hw_params_set_period_time_near(ai->alsa.handle, params,
-						 &ai->alsa.period_time, &dir);
-    if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime);
-    }
-
-    err = snd_pcm_hw_params(ai->alsa.handle, params);
-    if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotInstallHWParams, snd_strerror(err));
-	snd_pcm_hw_params_dump(params, ai->alsa.log);
-	return -1;
-    }
-
-    dir = -1;
-    snd_pcm_hw_params_get_period_size(params, &period_size, &dir);
-    snd_pcm_hw_params_get_buffer_size(params, &buffer_size);
-    ai->alsa.chunk_size = period_size;
-    if (period_size == buffer_size) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_PeriodEqualsBufferSize, ai->alsa.chunk_size, (long)buffer_size);
-	return -1;
-    }
-
-    snd_pcm_sw_params_current(ai->alsa.handle, swparams);
-    err = snd_pcm_sw_params_set_sleep_min(ai->alsa.handle, swparams,0);
-    err = snd_pcm_sw_params_set_avail_min(ai->alsa.handle, swparams, ai->alsa.chunk_size);
-
-    err = snd_pcm_sw_params_set_start_threshold(ai->alsa.handle, swparams, 0);
-    err = snd_pcm_sw_params_set_stop_threshold(ai->alsa.handle, swparams, buffer_size);
-
-    if (snd_pcm_sw_params(ai->alsa.handle, swparams) < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotInstallSWParams);
-	snd_pcm_sw_params_dump(swparams, ai->alsa.log);
-	return -1;
-    }
-
-    if (mp_msg_test(MSGT_TV, MSGL_V)) {
-	snd_pcm_dump(ai->alsa.handle, ai->alsa.log);
-    }
-
-    ai->alsa.bits_per_sample = snd_pcm_format_physical_width(SND_PCM_FORMAT_S16_LE);
-    ai->alsa.bits_per_frame = ai->alsa.bits_per_sample * ai->channels;
-    ai->blocksize = ai->alsa.chunk_size * ai->alsa.bits_per_frame / 8;
-    ai->samplesize = ai->alsa.bits_per_sample;
-    ai->bytes_per_sample = ai->alsa.bits_per_sample/8;
-
-    return 0;
-}
-
-int ai_alsa_init(audio_in_t *ai)
-{
-    int err;
-
-    err = snd_pcm_open(&ai->alsa.handle, ai->alsa.device, SND_PCM_STREAM_CAPTURE, 0);
-    if (err < 0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_ErrorOpeningAudio, snd_strerror(err));
-	return -1;
-    }
-
-    err = snd_output_stdio_attach(&ai->alsa.log, stderr, 0);
-
-    if (err < 0) {
-	return -1;
-    }
-
-    err = ai_alsa_setup(ai);
-
-    return err;
-}
-
-#ifndef timersub
-#define	timersub(a, b, result) \
-do { \
-	(result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
-	(result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
-	if ((result)->tv_usec < 0) { \
-		--(result)->tv_sec; \
-		(result)->tv_usec += 1000000; \
-	} \
-} while (0)
-#endif
-
-int ai_alsa_xrun(audio_in_t *ai)
-{
-    snd_pcm_status_t *status;
-    int res;
-
-    snd_pcm_status_alloca(&status);
-    if ((res = snd_pcm_status(ai->alsa.handle, status))<0) {
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaStatusError, snd_strerror(res));
-	return -1;
-    }
-    if (snd_pcm_status_get_state(status) == SND_PCM_STATE_XRUN) {
-	struct timeval now, diff, tstamp;
-	gettimeofday(&now, 0);
-	snd_pcm_status_get_trigger_tstamp(status, &tstamp);
-	timersub(&now, &tstamp, &diff);
-	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaXRUN,
-	       diff.tv_sec * 1000 + diff.tv_usec / 1000.0);
-	if (mp_msg_test(MSGT_TV, MSGL_V)) {
-	    mp_msg(MSGT_TV, MSGL_ERR, "ALSA Status:\n");
-	    snd_pcm_status_dump(status, ai->alsa.log);
-	}
-	if ((res = snd_pcm_prepare(ai->alsa.handle))<0) {
-	    mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaXRUNPrepareError, snd_strerror(res));
-	    return -1;
-	}
-	return 0;		/* ok, data should be accepted again */
-    }
-    mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaReadWriteError);
-    return -1;
-}