Index: mythplugins/mythmusic/mythmusic/metaioid3v2.cpp
===================================================================
--- mythplugins/mythmusic/mythmusic/metaioid3v2.cpp	(revision 12388)
+++ mythplugins/mythmusic/mythmusic/metaioid3v2.cpp	(working copy)
@@ -307,6 +307,8 @@
     
     while (loop_de_doo) 
     {
+        const unsigned char *prev_buf;
+
         if (buflen < sizeof(buffer)) 
         {
             int bytes;
@@ -322,6 +324,15 @@
         {
             if (mad_header_decode(&header, &stream) == -1)
             {
+                // If we fail on the same buffer, we're not going to make
+                // any progress.
+                if (prev_buf == stream.buffer) 
+                {
+                    loop_de_doo = false;
+                    break;
+                }
+                prev_buf = stream.buffer;
+
                 if (!MAD_RECOVERABLE(stream.error))
                 {
                     break;
@@ -340,6 +351,7 @@
             }
             else
             {
+                prev_buf = 0;
                 if(amount_checked == 0)
                 {
                     old_bitrate = header.bitrate;
