blob: 39b41fef03f86cd9110b516e463f7db5740138ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#ifndef IMV_SOURCE_PRIVATE_H
#define IMV_SOURCE_PRIVATE_H
struct imv_image;
struct imv_source;
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 */
void (*free)(void *private);
};
/* Build a source given its vtable and a pointer to the private data */
struct imv_source *imv_source_create(const struct imv_source_vtable *vt, void *private);
#endif
|