From 448aefaace840ccd8b8c1fb82ff72ef986b84f12 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 8 Oct 2009 22:09:25 +0200 Subject: player_thread: get "elapsed" from audio outputs Tracking the "elapsed" time from the chunks which we have sent to the output pipe is very imprecise: since we have implemented the music pipe, we're sending large number of chunks at once, giving the "elapsed" time stamp a resolution of usually more than a second. This patch changes the source of this information to the outputs. If a chunk has been played by all outputs, the "elapsed" time stamp is updated. The new command PLAYER_COMMAND_REFRESH makes the player thread update its status information: it tells the outputs to update the chunk time stamp. After that, player_control.elapsed_time is current. --- src/player_control.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/player_control.h') diff --git a/src/player_control.h b/src/player_control.h index 1acdb5686..e9a43e844 100644 --- a/src/player_control.h +++ b/src/player_control.h @@ -48,6 +48,12 @@ enum player_command { * stop */ PLAYER_COMMAND_CANCEL, + + /** + * Refresh status information in the #player_control struct, + * e.g. elapsed_time. + */ + PLAYER_COMMAND_REFRESH, }; enum player_error { -- cgit v1.2.3