summaryrefslogtreecommitdiff
path: root/src/module/e_mod_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/module/e_mod_main.c')
-rw-r--r--src/module/e_mod_main.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/module/e_mod_main.c b/src/module/e_mod_main.c
index 8ff5238..a74c13c 100644
--- a/src/module/e_mod_main.c
+++ b/src/module/e_mod_main.c
@@ -745,8 +745,10 @@ _volume_meter_cb(Emix_Sink *sink, double value, void *data EINA_UNUSED)
745EAPI void * 745EAPI void *
746e_modapi_init(E_Module *m) 746e_modapi_init(E_Module *m)
747{ 747{
748 Eina_List *l;
748 char buf[4096]; 749 char buf[4096];
749 const char *backend; 750 const char *backend;
751 Eina_Bool backend_loaded = EINA_FALSE;
750 752
751 _e_emix_log_domain = eina_log_domain_register("emix_module", EINA_COLOR_RED); 753 _e_emix_log_domain = eina_log_domain_register("emix_module", EINA_COLOR_RED);
752 754
@@ -758,7 +760,25 @@ e_modapi_init(E_Module *m)
758 goto err; 760 goto err;
759 761
760 if (emix_backend_set(backend) == EINA_FALSE) 762 if (emix_backend_set(backend) == EINA_FALSE)
761 goto err; 763 {
764 WRN("Could not load %s, trying another one ...", backend);
765 EINA_LIST_FOREACH((Eina_List *)emix_backends_available(), l,
766 backend)
767 {
768 if (emix_backend_set(backend) == EINA_TRUE)
769 {
770 DBG("Loaded backend: %s!", backend);
771 backend_loaded = EINA_TRUE;
772 emix_config_backend_set(backend);
773 break;
774 }
775 }
776 }
777 else
778 backend_loaded = EINA_TRUE;
779
780 if (backend_loaded == EINA_FALSE)
781 goto err;
762 782
763 emix_volume_meter_callback_set(_volume_meter_cb, NULL); 783 emix_volume_meter_callback_set(_volume_meter_cb, NULL);
764 784