Is your tin-foil hat on too tight? Your explanation for why Apple still releases songs with proprietary drm is that it's an industry wide conspiracy to drive Apple out of business? You must really be chugging that kool-aid if you honestly believe that the only way Apple would behave in any way but as a perfect angel that has only the concerns of it's customers at the fore-front of every decision. Instead of, you know, money.Durandal wrote:EMI suffered the worst of slumping music sales and hence were more open to breaking out of their traditional business model than the other labels.Dominus Atheos wrote:Alright, conceded. Maybe Apple not suing isn't an indicator this isn't RIAA pressure, but why does EMI let them distribute music without DRM?
Once again, iTunes will not play a .gobbledygook file even though it's just an mp3 file, and portable audio devices that can play .aac or .mp4 will not play .m4a.Oooh yeah, they're really killing interoperability. Making programmers deal with a file extension. What a burden!Because Apple put's that music in a non-standard format to try to make sure it will playback on as few 3rd party devices as possible. Have you even been paying attention to the bottom half of the debate?
Non-sequitur. These won't playback on non-apple devices without either the manufacturer or user going through an extra step, and most software and hardware will only look at the extension when trying to open a file.My point is that a filename extension is not part of a file format, and Apple has used the .m4a extension since well before it was offering DRM-free music on iTunes. If it was a move to kill interoperability, it wasn't very effective. Your argument that changing a filename extension constitutes changing a file format is nonsensical.Thanks for the lesson, but what does that have to do with the debate? The point is that there are mp3 players out there that have hardware capable of decoding and playing back AAC or mp4 files that won't playback these files because they don't recognize the extension, and I suspect Apple did that deliberately.
Also, I'm confused. Here you seem to be explaining why file extensions don't matter, but below you are explaining why the are very important. Aren't theses two arguments you're making self-contradictory?
What the hell are you babbling about? File headers are parsed the exact same way regardless of what it says, just like AAC is decoded the exact same way regardless of whether or not the audio is just speech and no music, or just piano sounds and nothing else. And even if that weren't true, an mp4 container can contain any audio format in the world, with the standard specifying support for AAC, MP3, Apple Lossless, MP2 MPEG-1 Audio Layer 1, CELP (speech), TwinVQ (very low bitrates), and SAOL (MIDI). And if you really want an extension that absolutely for sure contains AAC, just use the .aac extension which is part of the standard, at least according to the Library of Congress.And what parses those file headers? Magic gnomes?Don't give me that bullshit, we both know any media container will have file headers that will have information about the streams in it. If you actually had to parse the entire file before playback, it would take several minutes to load a several gig hi-def mp4, and I don't even want to think about how long it would take to load a blu-ray disk.
By declaring "There is only audio in here", you enable a decoding program to skip at least one phase of header parsing, the phase that determines what streams are contained in the file and (presumably) lazily loads the needed decoders. There could be tons of different performance scenarios where such a hint would be beneficial, especially at the implementation level. Since you know there's only one stream type in the header, the parser can allocate space on the stack rather than hitting the heap, which may be required for an arbitrary number of streams.
You can also keep the audio decoder cached in memory and not have to hit the disk for, say, a decoder plug-in for video, which might happen when QuickTime hits something with a .mp4 extension. It may do some work upfront to make the common case faster, but this would be a detriment to the uncommon case.
At the end of the day, the existence of this filename extension enables programs to make more assumptions. And being able to make more assumptions means less code complexity and more opportunity for performance optimization. If you had any experience writing software, you'd know this. But you don't, so instead, you just look like an idiot.