Precompiled Speex Libraries for iOS

Ever since I produced the Ogg and Vorbis libraries, I have been receiving requests to compile other open source media libraries. I’d love to be able to fulfill all such requests but, unfortunately, that just isn’t possible.

Today I am happy to be able to announce the availability of a precompiled version of Speex 1.2rc1 from speex.org.

Compilation

The library was compiled using Xcode 4.6.1 for the armv7, armv7s and i386 architectures.

Packaging

The libspeex.a and libspeexdsp.a along with the header files were combined into a pseudo-framework Speex.framework.

Testing

The decoder was tested on the iPhone simulator, running iOS 6.1, and on an iPhone 5, running iOS 6.0.1. The tests confirmed successful decoding; performance tests were not done.

The encoder has not been tested as yet.

Download

The pseudo-framework may be obtained from GitHub: IDZPrecompiledSpeex


Posted in Precompiled | Tagged , | 5 Comments

Code: Playing Ogg Vorbis Files on iOS

Often I finish the code for a tutorial or blog article long before I ever get around to writing the article. I know this frustrates some of my readers as they wait for the next in a series of articles to appear. Recently, I have been receiving a lot of requests asking for guidance on how to use the libogg and libvorbis to play audio on iOS. Over the past couple of days, I had enough time to document my player code and upload it to github. You can find it at IDZAQAudioPlayer.


Posted in Code, Objective-C | Leave a comment

Tip: Ensuring ARC is Enabled at Compile Time.

If you still have legacy code around that is not compiled with Automatic Reference Counting (ARC), accidentally adding some new code that assumes that ARC is enabled can lead to extensive memory leaks.

This simple test, placed in a .m file, will prevent the file from compiling if ARC is not enabled.

#if  ! __has_feature(objc_arc)
#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
#endif

Posted in Code, Code Snippets, Objective-C, Tips | Tagged , , | Leave a comment