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

Reply via email to