aboutsummaryrefslogtreecommitdiffstats
path: root/src/output
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/output_all.c14
-rw-r--r--src/output_all.h7
2 files changed, 21 insertions, 0 deletions
diff --git a/src/output_all.c b/src/output_all.c
index 4b5ba3a6f..b7a42a6a3 100644
--- a/src/output_all.c
+++ b/src/output_all.c
@@ -52,6 +52,11 @@ static struct music_buffer *g_music_buffer;
*/
static struct music_pipe *g_mp;
+/**
+ * The "elapsed_time" stamp of the most recently finished chunk.
+ */
+static float audio_output_all_elapsed_time;
+
unsigned int audio_output_count(void)
{
return num_audio_outputs;
@@ -385,6 +390,8 @@ audio_output_all_check(void)
this chunk */
return music_pipe_size(g_mp);
+ audio_output_all_elapsed_time = chunk->times;
+
is_tail = chunk->next == NULL;
if (is_tail)
/* this is the tail of the pipe - clear the
@@ -468,9 +475,16 @@ audio_output_all_close(void)
music_pipe_clear(g_mp, g_music_buffer);
music_pipe_free(g_mp);
g_mp = NULL;
+ audio_output_all_elapsed_time = 0.0;
}
g_music_buffer = NULL;
audio_format_clear(&input_audio_format);
}
+
+float
+audio_output_all_get_elapsed_time(void)
+{
+ return audio_output_all_elapsed_time;
+}
diff --git a/src/output_all.h b/src/output_all.h
index 2a09514b2..e124d3150 100644
--- a/src/output_all.h
+++ b/src/output_all.h
@@ -128,4 +128,11 @@ audio_output_all_pause(void);
void
audio_output_all_cancel(void);
+/**
+ * Returns the "elapsed_time" stamp of the most recently finished
+ * chunk.
+ */
+float
+audio_output_all_get_elapsed_time(void);
+
#endif