I have a theory that I call "just one small fix". I think FOSS media players can handle more video files (not just formats) because most of the times the errors that makes them unplayable are just small mistakes in the way things are encoded.
Does a certain camera produces only even timestamps? Let's check for that fix it, it is "just one small fix: one if and a division". Is that MPEG encoded with swapped croma? Let's detect it and fix it, it is "just ome small fix: one if and a swap".
Over the time FOSS projects accumulate all these fixes and one day you realize that they can read practically everything as if a single person sat down and wrote that super-robust code in one go. Proprietary software cannot benefit from this kind of drive-by contributions.
Your theory definitely has some weight to it. You should peruse the FFmpeg git server and see what the commits consist of. Most of the time, the changes comprise no more than one line, and involve the changing of an operator or adding on to an if statement.
Media codecs take a really long time to disrupt the continuum, and often times, decoders can play back other kinds of media by just changing some header information in the file.
If you figure out early enough that you need this kind of feature, you can architecture your code in such a way that those "drive-by fixes" are actually pluggable and maintainable.
Indeed - at my last job, we built a js widget that would go on customers websites, and we learned pretty quickly that we would need pluggable, sometimes customers-specific hacks. Things like old versions of Prototype.js that broke JSON.stringify or forcing Internet Explorer 8+ into IE7 emulation mode. One customer overwrote Array.prototype.forEach with a broken version that lost the scope. Fun times.
Does a certain camera produces only even timestamps? Let's check for that fix it, it is "just one small fix: one if and a division". Is that MPEG encoded with swapped croma? Let's detect it and fix it, it is "just ome small fix: one if and a swap".
Over the time FOSS projects accumulate all these fixes and one day you realize that they can read practically everything as if a single person sat down and wrote that super-robust code in one go. Proprietary software cannot benefit from this kind of drive-by contributions.