3 ms·
> The main issue is that the video decoder MUST be in the same process than the video output, for performance reasons (buffer sharing: memcpy is murder) and for
by alexlarsson 12y ago
> The main issue is that the video decoder MUST be in the same process than the video output, for performance reasons (buffer sharing: memcpy is murder) and for hardware decoders. And video output are usually with very high access in the kernels. Moreover video outputs are almost necessarily in the process with the UI thread.
Did you look into the new memfd support in the kernels? Seems like this is a pretty cool way to do process splitting while sharing memory in a "safe" way. (i.e. the recieving side can guarantee that the sending side is not playing silly-buggers with the buffers while you read them).
For hardware decoders, maybe using dmabuff buffers shared between multiple processes would work?
- jbk 12y ago> For hardware decoders, maybe using dmabuff buffers shared between multiple processes would work? This is not portable, but this is a possible solution for Linux. But this is far from being ready, which is one of my main point :)
- alexlarsson 12y agoWell, the sandboxing stuff is not ready either. We need work on all levels of the stack to make this stuff work.