By Werner Ruotsalainen on Sat, 12/01/2012
Today, I played with the just-released update of 8player (AppStore link; the free version is definitely worth giving a try, particularly if you're into UPnP), an excellent UPnP media player (and a not-so-decent local one).
Upon tapping a direct camera AVCHD test file (as has been explained in several of my articles, they all contain AC-3 audio tracks), I've seen the following message:
(as with all images in this article, click the thumbnail for the original shot!)
I've tapped the FAQ button and what did I read (pay special attention to the annotated part)?
Yes, you can, by adding one single file to the Documents directory manually via iTunes, re-enable AC-3!
All you need to do, as a user, is indeed going HERE, downloading the single ZIP file linked there (currently, at version 1.0, from HERE) and copying it, via iTunes, to the same directory as you'd do with standard videos:
(the ZIP is highlighted in the iTunes Sharing filelist)
This made 8player play back the AC-3 (and other Dolby) audio tracks again.
Needless to say, it works just fine without jailbreaking (above, you can see I've done this on a non-jailbreakable iPhone 5) and without using third-party apps like iExplorer – after all, all you need to do is putting a single file in the standard Documents (and not, say, Library) folder of the standard iTunes.
I've tested the same add-on ZIP file with some other apps (EC Player, It's Playing, BUZZ Player, HD Player Pro). All of them had to remove AC-3 support (see THIS article for the background). Unfortunately, none of them support the ZIP file, while the majority of them is based on FFmpeg.
Hope this changes in the future, (also) these players adding support for using external, non-embedded, user-added libraries to play back this essential audio format, whose lack of support caused by Dolby's extremely high licensing fee demands, has made iOS as a whole a lot less desirable for generic multimedia playback – now, I'm seriously considering getting a Nexus 10 or a Surface Pro (or even RT if its price drops) for my video playback needs because of not only Apple's restricting hardware playback, making absolutely flawless MKV playback impossible if you don't jailbreak, but also developers being forced to remove AC-3. I again recommend checking out the user reviews collected in my previous, dedicated article to see how acute this problem is and how much damage it has done to the entire platform.
My recommendation to developers is as follows: do the same as the 8player developers and, by telling users to copy the external codecs manually to your app, give us back AC-3 support. Hopefully Dolby can't do anything with external libraries you don't actively distribute with (inside) your apps and/or, at last, reconsiders their licensing fee demands and comes up with ones that are actually payable. Say, $0.3...$1/copy sold, depending on the AppStore price of the app itself (for example, a dev selling a $5 player can surely pay $1 per copy for a license but a $2 player can't), without any additional, e.g. annual fees - that is, no absolutely unreal punishments like $25k/year for developers of players that don't even sell that many copies a year.
UPDATE (later, the same day): 1.) I've changed two screenshots in the original article, now, showing screenshots of the full (commercial) version instead of the free one, the first on my iPhone 5. Both the full and the free versions of 8player support the additional library.
2.) I've talked to several iOS developers on implementing this kind of a dynamic and fully user-dependent support for dynamic decoding (read: it's highly possible your code doesn't need to, say, test for AC-3 audio tracks - you can delegate even this to the external library. In this case, the Dolby folks really cannot force you to rewrite your code.) The devs of GoodPlayer / PowerPlayer have already announced they look into the solution. Their original posts are HERE and HERE. The former post quotes a post from another user referring to my article. His other, related post replying to my article, recommending the same to devs as me, is HERE. Another post, asking to tell the It's Playing devs the same is HERE.
UPDATE (even later, the same day):
1.) I've read thru the U.S. user reviews of 8player posted in November and December; that is, after the developer's removing built-in AC-3 support (but, again, leaving a “backdoor” by letting the user add an external, pre-compiled ZIP file, with the necessary codecs). About 60-70% of the new / updated reviews complain about the missing AC-3. (Some “only” about MKV's, AVI's previously playable. They also belong to this category – again, AC-3 is very commonly used in these two containers.) Again, this does show how acute the problem is. I've also created some screenshots of these complaints HERE, HERE, HERE, HERE and HERE.
2.) As usual, don't forget to backup the IPA of the current version of the player and/or make sure you in no way update it. It's not known whether Apple removes the app and/or forces the developers to remove support for dynamic library loading. Shooting themselves [Apple] in the foot, I'd say, if they do remove the app. Completely rendering an entire mobile platform unable to play, in cases, the majority of common video formats will mean a lot of disgruntled iOS users either jailbreaking (so that they can use the non-castrated XBMC or RushPlayer+) or leaving the platform entirely for more free ones (Android is catching up very-very nicely hardware-wise (e.g., Nexus 10) and Windows 8 (Phone) / RT also has the potential) – and, of course, bad press.
They [Apple] should try to negotiate between Dolby and the developers to avoid these people leaving the platform, explaining to Dolby the licensing fees – particularly the annual ones – they demand are just too much for 99% of the devs. The latter would surely ready to pay licensing feed tailored for the monetary realities of the AppStore – unlike the present ones.
UPDATE (03/Dec/2012): as is pointed out HERE, in both versions of 8player, the AC-3 track of iOS-native files (mov / mp4 / m4v) is only played back if you explicitly disable hardware acceleration by disabling (just switch off the switch at Settings > Players > Video Player > Native Player). This, of course, doesn't need to be done with non-native containers - MKV's, AVI's etc. - as they're always played back in software, without utilizing hardware acceleration, independent of the state of the switch.