AudioToolbox version too old

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
doh123
Level 8
Level 8
Posts: 1227
Joined: Tue Jul 14, 2009 1:21 pm

AudioToolbox version too old

Post by doh123 »

anyone know what might cause this...

build on Mac OS X 10.6 using 10.4 development SDK (so the final build runs on 10.4 - 10.6 without rebuilding)

Wine 1.1.40 and older doesn't have this error message... Wine 1.1.42 and 1.1.43 give this error message during configure. (Wine 1.1.41 fails to build due to a bug.. so i cannot test it...)

Code: Select all

configure: AudioToolbox version too old, mp3 codec won't be supported.
the funny thing is.. using 1.1.40 where it doesn't give the error, or using 1.1.43 where it does... doesn't matter, mp3s are still running just fine... so its like a false error I'm guessing... what could cause that to happen?
James McKenzie

AudioToolbox version too old

Post by James McKenzie »

doh123 wrote:
anyone know what might cause this...

build on Mac OS X 10.6 using 10.4 development SDK (so the final build runs on 10.4 - 10.6 without rebuilding)

Wine 1.1.40 and older doesn't have this error message... Wine 1.1.42 and 1.1.43 give this error message during configure. (Wine 1.1.41 fails to build due to a bug.. so i cannot test it...)


Code:
configure: AudioToolbox version too old, mp3 codec won't be supported.



the funny thing is.. using 1.1.40 where it doesn't give the error, or using 1.1.43 where it does... doesn't matter, mp3s are still running just fine... so its like a false error I'm guessing... what could cause that to happen?


No, this is something called a regression. This is good to know, but
the problem is that someone updated the Sound API code and did not take
into account the older Intel Macs that cannot or should not run
Leopard/Snow Leopard.

James McKenzie
Ryan Woodsmall

AudioToolbox version too old

Post by Ryan Woodsmall »

configure: AudioToolbox version too old, mp3 codec won't be supported.
No, this is something called a regression. This is good to know, but
the problem is that someone updated the Sound API code and did not take
into account the older Intel Macs that cannot or should not run
Leopard/Snow Leopard.
No, this is not something called a regression. And all Intel Macs can run Leopard or Snow Leopard; Apple started shipping Intel machines in January 2006, stopped shipping new PowerPC Macs in August 2006, and Leopard came out in October 2007. 10.5 and 10.6 have now been out longer than the entire PowerPC to Intel transition PLUS the time only Tiger was available on Intel Macs. Tiger's dead.

No sound API changes have been made that should cause this. It's probably new code introduced recently to make MP3 decoding on OS X easier to support using OS-supplied APIs. From http://www.winehq.org/announce/1.1.41 :

Aric Stewart (2):
winemp3.acm: Support mp3 decoding on Mac OS/X Leopard systems.
. . .

If you're building against the 10.4 SDK, it's probably exactly what it appears to be; i.e., the AudioToolbox API is too old on Tiger. From there's an ifdef in dlls/winemp3.acm that basically short circuits the checks on CoreAudio/AudioToolbox if you have valid mpg123 headers installed:

**
#ifdef HAVE_MPG123_H
# include <mpg123.h>
#else
# ifdef HAVE_COREAUDIO_COREAUDIO_H
# include <CoreFoundation/CoreFoundation.h>
# include <CoreAudio/CoreAudio.h>
# endif
# ifdef HAVE_AUDIOTOOLBOX_AUDIOCONVERTER_H
# include <AudioToolbox/AudioConverter.h>
# endif
# ifdef HAVE_AUDIOTOOLBOX_AUDIOFILE_H
# include <AudioToolbox/AudioFile.h>
# endif
# ifdef HAVE_AUDIOTOOLBOX_AUDIOFILESTREAM_H
# include <AudioToolbox/AudioFileStream.h>
# endif
#endif
**

You can probably use mpg123 (if you can get it to build against the 10.4 SDK) to provide MP3 decoding support:

http://www.mpg123.de/

That's what I'm doing. Again, Tiger is basically dead too, so you could target Leopard+Snow Leopard and avoid that altogether.
doh123
Level 8
Level 8
Posts: 1227
Joined: Tue Jul 14, 2009 1:21 pm

Re: AudioToolbox version too old

Post by doh123 »

Ryan Woodsmall wrote: No, this is not something called a regression. And all Intel Macs can run Leopard or Snow Leopard; Apple started shipping Intel machines in January 2006, stopped shipping new PowerPC Macs in August 2006, and Leopard came out in October 2007. 10.5 and 10.6 have now been out longer than the entire PowerPC to Intel transition PLUS the time only Tiger was available on Intel Macs. Tiger's dead.
for Wineskin I have it run on 10.4+ ... I'm going to try to keep 10.4 support as long as its possible, so every Intel build of Mac OS X can run it... I wouldn't mind killing off support, but early beta builds were 10.5+ and I got a ton of requests for 10.4... and I had to restructure and put OS dependent code in some places to even handle it, but its working good now. I'm putting together a build environment and build script so anyone can take a wine source and make a build that will work in Wineskin... and for now keeping the 10.4 support is a good thing. Performance wise, I've tried 10.5 and 10.6 builds and they don't seem to perform any better or different, so it hasn't been worth it to kill off 10.4 support... but it will happen since Xquartz is stopping 10.4 support and newer builds are having issues.
Ryan Woodsmall wrote: If you're building against the 10.4 SDK, it's probably exactly what it appears to be; i.e., the AudioToolbox API is too old on Tiger. From there's an ifdef in dlls/winemp3.acm that basically short circuits the checks on CoreAudio/AudioToolbox if you have valid mpg123 headers installed:

You can probably use mpg123 (if you can get it to build against the 10.4 SDK) to provide MP3 decoding support:
so mpg123 will totally override this error? Thats probably why it works fine... MP3s are playing fine on the build that gives the error on all versions of the OS, but I am using mpg123 in it already.... so thats probably why the error is causing no actual problems. I was just curious.

thanks!
Ryan Woodsmall

AudioToolbox version too old

Post by Ryan Woodsmall »

I think this was intended for the list.
Interesting. My MacBookPro came with Tiger. I had to 'upgrade' it to
Leopard. Some folks did not do this. We have to still support Tiger
until it is really 'dead'. BTW, I have not upgraded to Snow Leopard
specifically due to problems associated with X11. Some folks just
don't want to upgrade or, given the problems with Windows, will not
upgrade. Some of the Intel Macs cannot run Snow Leopard (yes, this is
true, mostly the early models, much like mine.)
Nope. All Intel Macs are capable of running Snow Leopard. You may need to upgrade RAM to 1GB if the machine shipped with 512MB, but any and all Intel-based Macs can run the OS just dandy, including the original Core Duo MacBook Pro & iMac and the Core Solo/Duo-based Mac minis. The only real requirement of Snow Leopard is an Intel processor and 1GB of RAM.

http://www.apple.com/macosx/specs.html

I've had zero issues with X11 on Snow Leopard, either the OS-supplied X11.app or an updated Xquartz.app. If you're relying on Fink or MacPorts packages, you're asking for trouble on OS upgrades anyway. The built-in X11 works fine with Wine on 10.6, and Xquartz provides some GLX speedups.
I agree. However, if something DID work in one version and DOES NOT in
the next, that is a regression. There is no disagreement on this.
Thus, what is happening here is a regression. You might be truthful in
that this may be the cause. The only way to insure this is to conduct a
regression test and then to file a bug report.
No, it's not a regression because it didn't work before. Previously (Wine <= 1.1.40), MP3 support provided by winemp3.acm required mpg123; if Wine's configure process couldn't find libmpg123 and you attempted to configure using --with-mpg123, it would fail out. If you configured without it, you'd receive an error:

configure: libmpg123 32-bit development files not found (or too old), mp3 codec won't be supported.

In Wine 1.1.41+, inbuilt Mac OS X APIs are used for MP3 decoding if A.) CoreAudio is found and B.) it's running on/using Leopard SDKs (10.5) or higher. This is not a regression, as there was no change in the working/non-working status of certain functionality, only added functionality that already has a workaround.

On 10.4, you use mpg123 and that's that. Nothing changed, as you had to use it previously for MP3 support anyway even on 10.5/10.6. This new code simplifies MP3 support on newer Mac OSes. It doesn't break anything on 10.4, and if specifying mpg123, it doesn't cause any issues on 10.5/10.6 either. No regression, not even a problem, just information from configure.

Generally before speaking with authority on anything, it pays to do some research. Particularly when it comes to yelling fire, or in this case, "regression;" misinformation benefits no one here, and misfiled bug reports based on perceived regressions just muddy the water.
I had problems building mpg123 with the most recent version. Have you
had luck with this?
Yes, 1.12.1 works fine. I package it in with my build script:

http://code.google.com/p/osxwinebuilder/

You have to set a few environment variables ("-read_only_relocs suppress" off the top of my head) and make sure you're building as 32-bit and specifying the "--with-cpu=x86" configure option, but those are the only caveats. -r
Locked