There is mpv player which is a fork of old MPlayer. It can be built as library and has API to render video frames to many video outputs such as OpenGL surface, Direct3D, SDL and others. I am trying to use this library in my current project to decode flv stream from cloud.
But i can't find a way to render decoded video frames direct to user-space allocated memory buffer. I need this option for specific reasons, and interfaces listed above aren't suitable for my task. I also need a callback which will be called after every frame is decoded and written in memory.
Is there any way to reach this functionality using standard mpv API from libmpv/client.h? If no, how to write simple video out driver and pass a pointer to custom memory to it?
I had used libVLC for my task already and it has clear interface to set up few callbacks for my needs, but unfortunately libVLC 2.x contains bug with gray frames artifacts appearing during play video stream from cloud.