MLT 7.24.0
mlt_service.h
Go to the documentation of this file.
1
23#ifndef MLT_SERVICE_H
24#define MLT_SERVICE_H
25
26#include "mlt_properties.h"
27#include "mlt_types.h"
28
58{
68 int (*get_frame)(mlt_service self, mlt_frame_ptr frame, int index);
69
74 void *local;
75 void *child;
76};
77
78#define MLT_SERVICE_PROPERTIES(service) (&(service)->parent)
79
80extern int mlt_service_init(mlt_service self, void *child);
81extern void mlt_service_lock(mlt_service self);
84extern int mlt_service_connect_producer(mlt_service self, mlt_service producer, int index);
85extern int mlt_service_insert_producer(mlt_service self, mlt_service producer, int index);
86extern int mlt_service_disconnect_producer(mlt_service self, int index);
89extern int mlt_service_get_frame(mlt_service self, mlt_frame_ptr frame, int index);
93extern int mlt_service_attach(mlt_service self, mlt_filter filter);
94extern int mlt_service_detach(mlt_service self, mlt_filter filter);
95extern void mlt_service_apply_filters(mlt_service self, mlt_frame frame, int index);
97extern int mlt_service_move_filter(mlt_service self, int from, int to);
102
104 mlt_service self, const char *name, void *data, int size, mlt_destructor destructor);
105extern mlt_cache_item mlt_service_cache_get(mlt_service self, const char *name);
106extern void mlt_service_cache_set_size(mlt_service self, const char *name, int size);
107extern int mlt_service_cache_get_size(mlt_service self, const char *name);
109
110#endif
Properties class declaration.
mlt_filter mlt_service_filter(mlt_service self, int index)
int mlt_service_get_frame(mlt_service self, mlt_frame_ptr frame, int index)
int mlt_service_cache_get_size(mlt_service self, const char *name)
int mlt_service_insert_producer(mlt_service self, mlt_service producer, int index)
void mlt_service_unlock(mlt_service self)
mlt_service mlt_service_get_producer(mlt_service self)
mlt_properties mlt_service_properties(mlt_service self)
int mlt_service_attach(mlt_service self, mlt_filter filter)
void mlt_service_cache_purge(mlt_service self)
void mlt_service_set_profile(mlt_service self, mlt_profile profile)
mlt_service mlt_service_consumer(mlt_service self)
int mlt_service_detach(mlt_service self, mlt_filter filter)
void mlt_service_cache_put(mlt_service self, const char *name, void *data, int size, mlt_destructor destructor)
void mlt_service_cache_set_size(mlt_service self, const char *name, int size)
void mlt_service_close(mlt_service self)
int mlt_service_move_filter(mlt_service self, int from, int to)
mlt_service mlt_service_producer(mlt_service self)
int mlt_service_filter_count(mlt_service self)
int mlt_service_disconnect_producer(mlt_service self, int index)
mlt_cache_item mlt_service_cache_get(mlt_service self, const char *name)
int mlt_service_connect_producer(mlt_service self, mlt_service producer, int index)
mlt_service_type mlt_service_identify(mlt_service self)
mlt_profile mlt_service_profile(mlt_service self)
void mlt_service_lock(mlt_service self)
void mlt_service_apply_filters(mlt_service self, mlt_frame frame, int index)
int mlt_service_disconnect_all_producers(mlt_service self)
int mlt_service_init(mlt_service self, void *child)
Provides forward definitions of all public types.
void(* mlt_destructor)(void *)
pointer to destructor function
Definition mlt_types.h:269
mlt_service_type
The recognized subclasses of mlt_service.
Definition mlt_types.h:194
Cache item class.
Definition mlt_cache.c:50
Filter abstract service class.
Definition mlt_filter.h:40
Frame class.
Definition mlt_frame.h:90
Profile class.
Definition mlt_profile.h:35
Properties class.
Definition mlt_properties.h:40
void * child
the object of a subclass
Definition mlt_properties.h:41
Service abstract base class.
Definition mlt_service.h:58
int(* get_frame)(mlt_service self, mlt_frame_ptr frame, int index)
Get a frame of data (virtual function).
Definition mlt_service.h:68
void * child
the object of a subclass
Definition mlt_service.h:75
void * local
instance object
Definition mlt_service.h:74
mlt_destructor close
the destructor virtual function
Definition mlt_service.h:71
void * close_object
the object supplied to the close virtual function
Definition mlt_service.h:72
struct mlt_properties_s parent
A service extends properties.
Definition mlt_service.h:59