Author: titmuss
Date: Wed Nov 5 09:55:48 2008
New Revision: 3283
URL: http://svn.slimdevices.com?rev=3283&root=Jive&view=rev
Log:
Bug: N/A
Description:
Correct the elapsed track time. This sometimes could go negative at the start
of a track.
Modified:
7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c
7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c?rev=3283&root=Jive&r1=3282&r2=3283&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c (original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c Wed Nov 5
09:55:48 2008
@@ -510,7 +510,8 @@
static int decode_status(lua_State *L) {
size_t size, usedbytes;
u32_t bytesL, bytesH;
-
+ u64_t elapsed, delay;
+
lua_newtable(L);
fifo_lock(&decode_fifo);
@@ -521,8 +522,15 @@
lua_pushinteger(L, decode_fifo.size);
lua_setfield(L, -2, "outputSize");
- lua_pushinteger(L, (u32_t)(((u64_t)(decode_elapsed_samples -
- (decode_audio->delay ? decode_audio->delay() : 0)) *
1000) / current_sample_rate));
+
+ elapsed = decode_elapsed_samples;
+ delay = decode_audio->delay ? decode_audio->delay() : 0;
+ if (elapsed > delay) {
+ elapsed -= delay;
+ }
+ elapsed = (elapsed * 1000) / current_sample_rate;
+
+ lua_pushinteger(L, (u32_t)elapsed);
lua_setfield(L, -2, "elapsed");
/* get jiffies here so they correlate with "elapsed" as closely as
possible */
Modified: 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c
URL:
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c?rev=3283&root=Jive&r1=3282&r2=3283&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c
(original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_output.c Wed
Nov 5 09:55:48 2008
@@ -73,6 +73,10 @@
output_started = FALSE;
decode_audio->stop();
+
+ crossfade_started = FALSE;
+ transition_gain_step = 0;
+ decode_elapsed_samples = 0;
}
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins