[PATCH] winemp3.acm: mpg123_getformat must be called on MPG123_NEW_FORMAT errors for libmpg123 < 1.8.0.

Loïc Hoguin essen at dev-extend.eu
Mon Dec 28 11:17:24 CST 2009


The documentation for libmpg123 clearly state that mpg123_getformat MUST
be called if an error MPG123_NEW_FORMAT is returned, for libmpg123 < 1.8.0.
On versions above that, the call is optional. The patch make sure to call
that function all the time (instead of just when trace is activated) so
that mp3 works in Morrowind and others.

Potentially fix bugs 20277 and 21091.
---
 dlls/winemp3.acm/mpegl3.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/dlls/winemp3.acm/mpegl3.c b/dlls/winemp3.acm/mpegl3.c
index 3077637..1ad48f5 100644
--- a/dlls/winemp3.acm/mpegl3.c
+++ b/dlls/winemp3.acm/mpegl3.c
@@ -174,13 +174,10 @@ static void mp3_horse(PACMDRVSTREAMINSTANCE adsi,
 
         if (ret == MPG123_NEW_FORMAT)
         {
-            if TRACE_ON(mpeg3)
-            {
-                long rate;
-                int channels, enc;
-                mpg123_getformat(amd->mh, &rate, &channels, &enc);
-                TRACE("New format: %li Hz, %i channels, encoding value %i\n", rate, channels, enc);
-            }
+            long rate;
+            int channels, enc;
+            mpg123_getformat(amd->mh, &rate, &channels, &enc);
+            TRACE("New format: %li Hz, %i channels, encoding value %i\n", rate, channels, enc);
         }
         dpos += size;
     } while (ret == MPG123_OK);
-- 
1.6.3.3


--------------050202080800030603090402--





More information about the wine-patches mailing list