From 7dcb1a534249fc4f3ea37f6197228754fb831dd8 Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Mon, 2 Sep 2019 22:47:40 +0100 Subject: source/backend: Improve comments --- src/source_private.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/source_private.h') diff --git a/src/source_private.h b/src/source_private.h index 39b41fe..ed77534 100644 --- a/src/source_private.h +++ b/src/source_private.h @@ -4,17 +4,26 @@ struct imv_image; struct imv_source; +/* This is the interface a source needs to implement to function correctly. + * Backends act as a "factory" for sources by calling imv_source_create + * with a pointer to a static vtable, and a pointer to that implementation's + * private data, pre-initialised. + */ + struct imv_source_vtable { + /* Loads the first frame, if successful puts output in image and duration * (in milliseconds) in frametime. If unsuccessful, image shall be NULL. A * still image should use a frametime of 0. */ void (*load_first_frame)(void *private, struct imv_image **image, int *frametime); + /* Loads the next frame, if successful puts output in image and duration * (in milliseconds) in frametime. If unsuccessful, image shall be NULL. */ void (*load_next_frame)(void *private, struct imv_image **image, int *frametime); - /* Cleans up the private section of a source */ + + /* Cleans up the private data of a source */ void (*free)(void *private); }; -- cgit v1.2.3