diff options
-rw-r--r-- | include/xas/bank.h | 5 | ||||
-rw-r--r-- | src/bank.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/include/xas/bank.h b/include/xas/bank.h index 7828587..77a2620 100644 --- a/include/xas/bank.h +++ b/include/xas/bank.h @@ -2,6 +2,7 @@ #define _XAS_BANK_H #include <sys/types.h> +#include <sys/time.h> #include <xas/object.h> #include <xas/audio.h> @@ -46,7 +47,9 @@ xas_bank *xas_bank_new(xas_audio_format format, void xas_bank_destroy(xas_bank *bank); -size_t xas_bank_entry_duration(xas_bank *bank, size_t entry_index); +void xas_bank_entry_duration(xas_bank *bank, + size_t entry_index, + struct timeval *tv); ssize_t xas_bank_record(xas_bank *bank, xas_audio_stream *input, @@ -162,10 +162,14 @@ void xas_bank_player_destroy(xas_bank_player *player) { free(player); } -size_t xas_bank_entry_duration(xas_bank *bank, size_t entry_index) { +void xas_bank_entry_duration(xas_bank *bank, + size_t entry_index, + struct timeval *tv) { xas_bank_entry *entry = entry_by_index(bank, entry_index); + size_t count = entry->duration; - return entry->duration; + tv->tv_sec = count / bank->format.sample_rate; + tv->tv_usec = (count % bank->format.sample_rate) * 1000000; } int xas_bank_player_set_entry(xas_bank_player *player, size_t entry) { |