diff libao2/audio_out.c @ 27091:66e998895707

Add verbose messages about trying and searching for audio output drivers. Add messages showing why a specified audio output driver failed to be used. Based on a patch from Bryan Henderson, giraffedata [[]] gmail :: com
author corey
date Sun, 22 Jun 2008 19:25:54 +0000
parents 4980ed598e8a
children e7c989f7a7c9
line wrap: on
line diff
--- a/libao2/audio_out.c	Sun Jun 22 16:41:26 2008 +0000
+++ b/libao2/audio_out.c	Sun Jun 22 19:25:54 2008 +0000
@@ -134,14 +134,23 @@
         }
         else
             ao_len = strlen(ao);
+
+        mp_msg(MSGT_AO, MSGL_V, MSGTR_AO_TryingPreferredAudioDriver,
+               ao_len, ao, ao_subdevice ? ao_subdevice : "[none]");
+
         for(i=0;audio_out_drivers[i];i++){
             const ao_functions_t* audio_out=audio_out_drivers[i];
             if(!strncmp(audio_out->info->short_name,ao,ao_len)){
                 // name matches, try it
                 if(audio_out->init(rate,channels,format,flags))
                     return audio_out; // success!
+                else
+                    mp_msg(MSGT_AO, MSGL_WARN, MSGTR_AO_FailedInit, ao);
+                break;
             }
         }
+	if (!audio_out_drivers[i]) // we searched through the entire list
+            mp_msg(MSGT_AO, MSGL_WARN, MSGTR_AO_NoSuchDriver, ao_len, ao);
         // continue...
         ++ao_list;
         if(!(ao_list[0])) return NULL; // do NOT fallback to others
@@ -150,6 +159,9 @@
         free(ao_subdevice);
         ao_subdevice = NULL;
     }
+
+    mp_msg(MSGT_AO, MSGL_V, MSGTR_AO_TryingEveryKnown);
+
     // now try the rest...
     for(i=0;audio_out_drivers[i];i++){
         const ao_functions_t* audio_out=audio_out_drivers[i];