diff options
author | Max Kellermann <max@duempel.org> | 2009-10-08 22:09:25 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-10-08 22:09:25 +0200 |
commit | 448aefaace840ccd8b8c1fb82ff72ef986b84f12 (patch) | |
tree | 2433cdab57c247e96c5f2576b02bb9d6ac0cc022 /src/output_all.h | |
parent | 47b5e73a151f1ccc506f454eaafc5c65885ff0a3 (diff) | |
download | mpd-448aefaace840ccd8b8c1fb82ff72ef986b84f12.tar.gz mpd-448aefaace840ccd8b8c1fb82ff72ef986b84f12.tar.xz mpd-448aefaace840ccd8b8c1fb82ff72ef986b84f12.zip |
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.
Diffstat (limited to '')
-rw-r--r-- | src/output_all.h | 7 |
1 files changed, 7 insertions, 0 deletions
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 |