3 ms·
The Haiku MediaKit API was available 5 years before Fabrice Bellard published ffmpeg, and back in the early 90’s BeInc’s goal was to attract the next successor
by smallstepforman 5y ago
The Haiku MediaKit API was available 5 years before Fabrice Bellard published ffmpeg, and back in the early 90’s BeInc’s goal was to attract the next successor to the NewTek toaster, and to be the next real time audio mixer. This is why they emphasised chaining of media nodes and sorting our “performance time” synchronisation issues with their API. The famous BeOS marketing video demos such a device.
BeOS kernel allows unique app access to a shared memory area, eliminating memory copies when sharing data. When creating the shared area, media apps can set several media access flags to engage the “fast path” if the devices have that buffer. These days modern graphics API’s (eg. Vulkan) offer the same buffer creation hints to help the driver figure out where to best allocate memory (device local, host accessible etc). Because not all memory is equal.
I’ve used both ffmpeg API and BMediaKit (I’m the author of a Haiku native video editor, https://github.com/smallstepforman/Medo https://github.com/smallstepforman/Medo). The BMediaKit API is trivially easy to use. ffmpeg is notoriously convoluted. Likewise, the native GUI API is also a pleasure to use. This is why my open source media editor is Haiku native (and not cross platform).
- grepfru_it 5y agoHey! Thanks for your contributions to the BeOS Ecosystem. The OS wouldn't be the same without it!