diff --git a/configure.in b/configure.in index 992a886da82b7c2017214591c3c508477d46035c..6d5a844a217e60c710816fa0ab97a4d524fbb45b 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AM_DISABLE_STATIC dnl Library versioning LIB_CURRENT=1 LIB_REVISION=0 -LIB_AGE=0 +LIB_AGE=1 AC_SUBST(LIB_CURRENT) AC_SUBST(LIB_REVISION) AC_SUBST(LIB_AGE) diff --git a/include/ao/ao.h b/include/ao/ao.h index 08f1bd9b8b4ea3af345024eb5d5691dba5eb7df7..8f2029b129d319a2deb31a73af92584263d2f6a0 100644 --- a/include/ao/ao.h +++ b/include/ao/ao.h @@ -95,6 +95,7 @@ void ao_play(ao_device_t *device, void* output_samples, uint_32 num_bytes); void ao_close(ao_device_t *device); /* misc functions */ +int ao_get_driver_count(void); int ao_is_big_endian(void); #ifdef __cplusplus diff --git a/src/audio_out.c b/src/audio_out.c index 62002bba8866561125438043fd4079999c2bf2f6..0b504163131a1d7efdddc901c2bece1cabd60694 100644 --- a/src/audio_out.c +++ b/src/audio_out.c @@ -318,3 +318,17 @@ int ao_is_big_endian(void) if (bytewise[0] == 0xba) return 1; return 0; } + +int ao_get_driver_count(void) +{ + int i = 0; + + driver_tree_t *driver = driver_head; + + while (driver) { + i++; + driver = driver->next; + } + + return i; +}