From b93f142011381a9ad753a246ea112115f262e7a1 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 8 Jul 2020 21:55:24 +0200 Subject: client API: add software rendering API This can be used to make vo_libmpv render video to a memory buffer. It only adds a new backend API that takes memory surfaces. All the render API (such as frame rendering control and so on) is reused. I'm not quite convinced of the usefulness of this, and until now I always resisted providing something like this. It only seems to facilitate inefficient implementation. But whatever. Unfortunately, this duplicates the software rendering glue code yet again (like it exists in vo_x11, vo_wlshm, vo_drm, and probably more). But in theory, these could reuse this backend in the future, just like vo_gpu could reuse the render_gl API. Fixes: #7852 --- video/out/gpu/libmpv_gpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'video/out/gpu') diff --git a/video/out/gpu/libmpv_gpu.c b/video/out/gpu/libmpv_gpu.c index b8edc694db..8b93dcadfd 100644 --- a/video/out/gpu/libmpv_gpu.c +++ b/video/out/gpu/libmpv_gpu.c @@ -65,7 +65,7 @@ static int init(struct render_backend *ctx, mpv_render_param *params) } if (!p->context) - return MPV_ERROR_INVALID_PARAMETER; + return MPV_ERROR_NOT_IMPLEMENTED; int err = p->context->fns->init(p->context, params); if (err < 0) -- cgit v1.2.3