Hey all, Quicktime is my preference for portability. It solves AAC playback and licensing issues on both OS X and Windows (I guess). The drawback is that Linux users won't be able to use M4A out of the box. Maybe we hazard the consequence.
If we decide to use Quicktime and Albert can provide an initial implementation for OS X I am willing to "port" it to Win. Ideally, I will refactor the code such that we load Quicktime dynamically by using the QLibrary interface. If quicktime.dll on Windows is not available, no AAC playback is possible. We do same for MP3 recording and streaming via lame. Alternatively, since we have stable AAC code via libmp4v2 it might be possible to refactor the plugin code. If [libmp4v2.dll |libmp4v2.so] is available M4A playback is possible. I do not know if the plugin code works that way. But, there are a lot of libmp4v2.dll files available via google. It would be rather simple for our community users to activate AAC. Recall that AAC is a heavily requested feature in our forums. Thanks, Tobias Am 13.12.2010 19:32, schrieb Albert Santoni: > Hey Tobias, > > Yes, we could also use Quicktime or a native API like DirectShow. > Unfortunately, I'm going to be stuck with only my Macbook for the next > month, but I can still try playing with the Quicktime Audio Extraction > API: > http://developer.apple.com/quicktime/audioextraction.html > http://developer.apple.com/library/mac/#samplecode/SimpleAudioExtraction/Introduction/Intro.html > > The ExtAudioFile API itself wasn't bad - once you have stuff > initialized, the basic decoding functions (read/seek) were > straightforward to use. This API also supposedly exists on iOS, which > is a bonus. :) > > I think making Quicktime a requirement on Windows for AAC playback is > not outlandish, so I can try to play around with that. > > Also, if we do manage to get a couple of these native or near-native > backends working, I'd be willing to convert them into pure C++ (no Qt) > and roll them into a library. We can't be the only people who need > cross-platform, low-level audio decoding using native APIs that don't > carry any legal baggage. (Distributing an MP3 decoder with your > application made more sense in the Windows 98 days.) > > Thanks guys, > Albert > > > On Mon, Dec 13, 2010 at 4:31 AM, Tobias Rafreider > <dj.raffi....@googlemail.com> wrote: >> Hey, >> >> great job. Could we also use Quicktime API to decode AAC/M4A on Windows? >> >> Tobias >> >> Am 13.12.2010 11:36, schrieb Adam Davison: >>> Hi, >>> >>> Just to say this is excellent and exactly how we should be doing it... >>> >>> What happened to phonon in qt 4.7 in the end, have they managed to >>> expose audio data yet? >>> >>> Adam >>> >>> On 13 December 2010 06:55, Albert Santoni<albe...@mixxx.org> wrote: >>>> Hi guys, >>>> >>>> Tonight I wrote a SoundSourceCoreAudio class that plays M4As using the >>>> system provided decoder on OS X. It uses the "Audio File Services" API >>>> (ExtAudioFile), which is part of AudioToolbox, which is part of Core >>>> Audio. We can freely distribute this as part of our main Mixxx builds >>>> without worrying about M4A patent issues because we're using Apple's >>>> decoder, which OS X users have already paid for. >>>> >>>> Special thanks to Apple's super crappy documentation and endless >>>> layers of redundant APIs. I spent more time trying to figure out which >>>> API to use than actually writing code. >>>> >>>> Seeking and metadata decoding (using TagLib) work fine. I've only >>>> tested with 44100 Hz / 16-bit files, but if it doesn't work with other >>>> formats, it shouldn't be difficult to fix. >>>> >>>> Code is pushed to: >>>> lp:~mixxxdevelopers/mixxx/features_coreaudio >>>> >>>> Enjoy, >>>> Albert >>>> >>>> ------------------------------------------------------------------------------ >>>> Oracle to DB2 Conversion Guide: Learn learn about native support for >>>> PL/SQL, >>>> new data types, scalar functions, improved concurrency, built-in packages, >>>> OCI, SQL*Plus, data movement tools, best practices and more. >>>> http://p.sf.net/sfu/oracle-sfdev2dev >>>> _______________________________________________ >>>> Mixxx-devel mailing list >>>> Mixxx-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >>>> >>> ------------------------------------------------------------------------------ >>> Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL, >>> new data types, scalar functions, improved concurrency, built-in packages, >>> OCI, SQL*Plus, data movement tools, best practices and more. >>> http://p.sf.net/sfu/oracle-sfdev2dev >>> _______________________________________________ >>> Mixxx-devel mailing list >>> Mixxx-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >> >> ------------------------------------------------------------------------------ >> Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL, >> new data types, scalar functions, improved concurrency, built-in packages, >> OCI, SQL*Plus, data movement tools, best practices and more. >> http://p.sf.net/sfu/oracle-sfdev2dev >> _______________________________________________ >> Mixxx-devel mailing list >> Mixxx-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >> ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d _______________________________________________ Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel