Updated mpg123 decoder to v1.25.8 (2017-12-02), compiled with GCC 7.2.0.

This commit is contained in:
LoRd_MuldeR 2017-12-10 16:40:48 +01:00
parent 1fc86c3bab
commit 4d7b7a766a
8 changed files with 76 additions and 4 deletions

View File

@ -0,0 +1,23 @@
src/common.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common.c b/src/common.c
index cb0c092..bc1b440 100644
--- a/src/common.c
+++ b/src/common.c
@@ -429,6 +429,7 @@ void print_stat(mpg123_handle *fr, long offset, out123_handle *ao, int draw_bar)
else
#endif
fprintf(stderr, "\r%s", line);
+ fflush(stderr);
}
}
/* Check for changed tags here too? */
@@ -437,6 +438,7 @@ void print_stat(mpg123_handle *fr, long offset, out123_handle *ao, int draw_bar)
if(line) /* Clear the inverse video. */
fprintf(stderr, "\r%s", line);
fprintf(stderr, "\nICY-META: %s\n", icy);
+ fflush(stderr);
}
if(line && line != linebuf)
free(line);

View File

@ -0,0 +1,49 @@
mpg123 Windows XP compatibility (with MinGW-w64)
================================================
The problem:
------------
When built with MinGW-w64, mpg123.exe won't run on Windows XP, because it imports "_time32" from "MSVCRT.DLL"
...a function which simply did **not** exist in "MSVCRT.DLL" on Windows XP or Windows XP x64-Edition!
The workaround:
---------------
In order to fix this problem, it is **extremely** important to add the following compiler option to your CFLAGS:
-D__MINGW_USE_VC2005_COMPAT=1
This will make your mpg123.exe link against "_time64", which **is** available in "MSVCRT.DLL" on Windows XP.
(If you think this "fix" makes no sense at all, then please read the next two sections)
Remarks:
--------
MinGW-w64 links 'time()' from <time.h> against "_time32", **UNLESS** "__MINGW_USE_VC2005_COMPAT" is defined!
Note the "UNLESS" in the above sentence - where you certainly would have expected an "IF AND ONLY IF".
So, confusingly, the "__MINGW_USE_VC2005_COMPAT" define does the **exact opposite** of what its name indicates.
Also it makes **no** sense at all that this MUST be defined **explicitly** to make binaries work on Windows XP.
But I am **not** a MinGW-w64 developer, so please don't shoot the messenger ;-)
Technical Details:
------------------
With **ancient** compilers, such as VC2005, the "time_t" type still used to be a 32-Bit type.
With those ancient compilers, "time()" would link against "_time". There was **no** "_time32" or "_time64" yet!
But: With any **contemporary** compiler, the "time_t" type is 64-Bit; and "time()" links against "_time64".
The MSVCRT export "_time32" is a rather new invention; it is simply an alias for the old 32-Bit "_time" export.
On Windows XP (including x64-Edition) **only** "_time64" (64-Bit) and the legacy "_time" (32-Bit) existed!

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -35,7 +35,7 @@
#define VER_LAMEXP_MINOR_LO 6
#define VER_LAMEXP_TYPE Beta
#define VER_LAMEXP_PATCH 1
#define VER_LAMEXP_BUILD 2065
#define VER_LAMEXP_BUILD 2066
#define VER_LAMEXP_CONFG 2002
///////////////////////////////////////////////////////////////////////////////

View File

@ -91,9 +91,9 @@ g_lamexp_tools[] =
{"8dfdd602ce830bd9ce6d6a79a9b1c3ea1ba94e4cee6bf0ef1fa03a974e36a7be6dd3caf6e10ca8aae381cf6c9736868d", CPU_TYPE_X86_SSX, "mediainfo.sse2.exe", 1710, ""},
{"3a343ca6c01cdbee61f1736d02c9fd3fd0cea6011d01f7a7d88276ed9bc465c9d9766242bbc216833c50d11a8a6a8f2e", CPU_TYPE_X64_ALL, "mediainfo.x64.exe", 1710, ""},
{"7e6346a057634ff07b2e1f427035324f7f02100cc996425990f87f71d767fce4c7b101588c7d944ba49cb2d7e51c9bdb", CPU_TYPE_ALL_ALL, "mpcdec.exe", 475, ""},
{"d9183835dff11b71b59051201f42190ab8ba145239de93f4d433a65aeea62a3b753073dc1d91a7179f1f957084ad285d", CPU_TYPE_ALL_GEN, "mpg123.i686.exe", 1258, ""},
{"0ab5185bf25c33d444cbac65130d73325a6bd2bae56cd14306577aeb019509c04b2e6b74a4a91ae5502105e1038e8535", CPU_TYPE_ALL_SSE, "mpg123.sse2.exe", 1258, ""},
{"89a2cb12783ebf05b5b7daa8a0e53f9af9e87142397f5ab6b8d16fef9e497f116063c50791c5c154187ca6ed824dd70f", CPU_TYPE_ALL_AVX, "mpg123.avx.exe", 1258, ""},
{"950b598ad3b724048fb8f7194908d9b9354cf208548211b559695fdf8494cf2c12e440b96c1593647c6907f6e8d8a2dc", CPU_TYPE_ALL_GEN, "mpg123.i686.exe", 1258, ""},
{"edda8ecc591d54ce6c47d29d81c24599f872f98dae2c83e7f7b72ec2fffc8fefa73a0e52656cbf0d851b5a7ef57a9bfa", CPU_TYPE_ALL_SSE, "mpg123.sse2.exe", 1258, ""},
{"80b211712cd3c2891455a75e02b21e3cff7c4e0627e491cd5ce5263777d5a28bb9886e58002344eefe48b62a2a1587af", CPU_TYPE_ALL_AVX, "mpg123.avx.exe", 1258, ""},
{"dda88fb66a80c362dfa367d07265eee3dcf8ee959191fc7685163fdee694ece7d84000065de217942749b6859d33fa84", CPU_TYPE_ALL_ALL, "mcat.exe", 101, "" },
{"f1f2ea5c9e5539620b706e7af68e543bf7a731afb06ccce3815ab34dad64d697e4d6ffcd187a396619b8b52efe7edf88", CPU_TYPE_ALL_ALL, "oggdec.exe", 1101, ""},
{"245181321625445ac42fce31d64bf03872e77e2d0dd3c19d6c17ca2771354f096a6040827dd6d00ffd7342c7dd26168e", CPU_TYPE_X86_GEN, "oggenc2.i686.exe", 288135603, "2015"},