The previous patch removed all loop specific dependencies from the
num_samples formula; we can now calculate it before entering the loop.
---

 src/inputPlugins/mp3_plugin.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/inputPlugins/mp3_plugin.c b/src/inputPlugins/mp3_plugin.c
index cba2018..beb59ea 100644
--- a/src/inputPlugins/mp3_plugin.c
+++ b/src/inputPlugins/mp3_plugin.c
@@ -830,7 +830,7 @@ static int openMp3FromInputStream(InputStream * inStream, 
mp3DecodeData * data,
 static int mp3Read(mp3DecodeData * data, struct decoder *decoder,
                   ReplayGainInfo ** replayGainInfo)
 {
-       unsigned int pcm_length;
+       unsigned int pcm_length, max_samples;
        unsigned int i;
        int ret;
        int skip;
@@ -922,12 +922,14 @@ static int mp3Read(mp3DecodeData * data, struct decoder 
*decoder,
                                pcm_length -= data->dropSamplesAtEnd;
                }
 
+               max_samples = sizeof(data->outputBuffer) /
+                       (2 * MAD_NCHANNELS(&(data->frame).header));
+
                while (i < pcm_length) {
                        enum decoder_command cmd;
-                       unsigned int num_samples = sizeof(data->outputBuffer) /
-                               (2 * MAD_NCHANNELS(&(data->frame).header));
-                       if (num_samples > pcm_length - i)
-                               num_samples = pcm_length - i;
+                       unsigned int num_samples = pcm_length - i;
+                       if (num_samples > max_samples)
+                               num_samples = max_samples;
 
                        i += num_samples;
 


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to