5 ms·
For one, ffmpeg is 9 years older than Go. Plus, when dealing with video files a garbage collected language probably isn't going to cut it. C++ and Obj-C also fe
by programmarchy 2y ago
For one, ffmpeg is 9 years older than Go. Plus, when dealing with video files a garbage collected language probably isn't going to cut it. C++ and Obj-C also feel overkill for ffmpeg.
- pjmlp 2y agoApparently someone has not read the article, otherwise you would have had understood my point about Go. Secondly, Apple and Microsoft, do just fine with Objective-C and C++ for their video codecs, without having to manually implement OOP in C.
- programmarchy 2y agoCoreVideo and CoreAudio are both implemented in C on Apple systems. There are higher level APIs like AVFoundation implemented in Obj-C/Swift, but the codecs themselves are written in C. Even the mid-level frameworks like AudioToolbox and VideoToolbox are written in C. I’m not as familiar with Microsoft but imagine it’s similar. Also the article doesn’t actually mention OOP. You can use polymorphism without fully buying into OOP (like Go does). The great thing about C is its interoperability, which is why it’s the go to language for things like codecs, device drivers, kernel modules, etc.
- pjmlp 2y agoI bet they are actually C++ with extern "C" public APIs. Additionally Metal is implemented in Objective-C, with Swift and C++ bindings.