Author: adrian
Date: Tue Feb 16 08:19:28 2010
New Revision: 8511

URL: http://svn.slimdevices.com/jive?rev=8511&view=rev
Log:
Bug: 15714
Description: flac decoder requires minium number of bytes before it will decode 
anything, don't try to stream immediately if we don't have this many bytes in 
streambuf

Modified:
    7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c
    7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.h
    7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c

Modified: 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c?rev=8511&r1=8510&r2=8511&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c (original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.c Tue Feb 16 
08:19:28 2010
@@ -342,7 +342,8 @@
        }
 
        /* Small delay if the stream empty but still streaming? */
-       if (streambuf_would_wait_for(512)) {
+       /* special case for flac as it has a minimum number of bytes before the 
decoder processes anything */
+       if (streambuf_would_wait_for(decoder == &decode_flac ? 
DECODE_MINIMUM_BYTES_FLAC : DECODE_MINIMUM_BYTES_OTHER)) {
                *delay = DECODE_WAIT_INTERVAL;
                
                return false;

Modified: 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.h
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.h?rev=8511&r1=8510&r2=8511&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.h (original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode.h Tue Feb 16 
08:19:28 2010
@@ -35,4 +35,9 @@
 #define TESTTONES_SINE40_192000                        14
 
 
+/* Minimum bytes in streambuf before we start decoding */
+#define DECODE_MINIMUM_BYTES_FLAC                      25000
+#define DECODE_MINIMUM_BYTES_OTHER                     512
+
+
 extern int luaopen_decode(lua_State *L);

Modified: 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c?rev=8511&r1=8510&r2=8511&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c 
(original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_flac.c Tue 
Feb 16 08:19:28 2010
@@ -159,7 +159,7 @@
         * FLAC frame is too large to use that, so we pick a value that will 
work most
         * of the time.
         */
-       if (streambuf_would_wait_for(25000)) {
+       if (streambuf_would_wait_for(DECODE_MINIMUM_BYTES_FLAC)) {
                return FALSE;
        }
 

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins

Reply via email to