MLT 7.40.0
Multimedia Framework
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_export.h"
27#include "mlt_properties.h"
28#include "mlt_types.h"
29
59{
69 int (*get_frame)(mlt_service self, mlt_frame_ptr frame, int index);
70
75 void *local;
76 void *child;
77};
78
79#define MLT_SERVICE_PROPERTIES(service) (&(service)->parent)
80
81MLT_EXPORT int mlt_service_init(mlt_service self, void *child);
82MLT_EXPORT void mlt_service_lock(mlt_service self);
83MLT_EXPORT void mlt_service_unlock(mlt_service self);
85MLT_EXPORT int mlt_service_connect_producer(mlt_service self, mlt_service producer, int index);
86MLT_EXPORT int mlt_service_insert_producer(mlt_service self, mlt_service producer, int index);
87MLT_EXPORT int mlt_service_disconnect_producer(mlt_service self, int index);
90MLT_EXPORT int mlt_service_get_frame(mlt_service self, mlt_frame_ptr frame, int index);
92MLT_EXPORT void mlt_service_set_consumer(mlt_service self, mlt_service consumer);
95MLT_EXPORT int mlt_service_attach(mlt_service self, mlt_filter filter);
96MLT_EXPORT int mlt_service_detach(mlt_service self, mlt_filter filter);
97MLT_EXPORT void mlt_service_apply_filters(mlt_service self, mlt_frame frame, int index);
99MLT_EXPORT int mlt_service_move_filter(mlt_service self, int from, int to);
100MLT_EXPORT mlt_filter mlt_service_filter(mlt_service self, int index);
102MLT_EXPORT void mlt_service_set_profile(mlt_service self, mlt_profile profile);
103MLT_EXPORT void mlt_service_close(mlt_service self);
104
105MLT_EXPORT void mlt_service_cache_put(
106 mlt_service self, const char *name, void *data, int size, mlt_destructor destructor);
107MLT_EXPORT mlt_cache_item mlt_service_cache_get(mlt_service self, const char *name);
108MLT_EXPORT void mlt_service_cache_set_size(mlt_service self, const char *name, int size);
109MLT_EXPORT int mlt_service_cache_get_size(mlt_service self, const char *name);
111
112#endif
Properties class declaration.
MLT_EXPORT void mlt_service_unlock(mlt_service self)
MLT_EXPORT void mlt_service_cache_set_size(mlt_service self, const char *name, int size)
MLT_EXPORT int mlt_service_init(mlt_service self, void *child)
MLT_EXPORT mlt_properties mlt_service_properties(mlt_service self)
MLT_EXPORT mlt_service mlt_service_get_producer(mlt_service self)
MLT_EXPORT mlt_service mlt_service_producer(mlt_service self)
MLT_EXPORT void mlt_service_cache_purge(mlt_service self)
MLT_EXPORT void mlt_service_apply_filters(mlt_service self, mlt_frame frame, int index)
MLT_EXPORT int mlt_service_attach(mlt_service self, mlt_filter filter)
MLT_EXPORT int mlt_service_connect_producer(mlt_service self, mlt_service producer, int index)
MLT_EXPORT void mlt_service_close(mlt_service self)
MLT_EXPORT mlt_profile mlt_service_profile(mlt_service self)
MLT_EXPORT int mlt_service_detach(mlt_service self, mlt_filter filter)
MLT_EXPORT void mlt_service_lock(mlt_service self)
MLT_EXPORT int mlt_service_get_frame(mlt_service self, mlt_frame_ptr frame, int index)
MLT_EXPORT int mlt_service_filter_count(mlt_service self)
MLT_EXPORT int mlt_service_disconnect_producer(mlt_service self, int index)
MLT_EXPORT mlt_cache_item mlt_service_cache_get(mlt_service self, const char *name)
MLT_EXPORT int mlt_service_move_filter(mlt_service self, int from, int to)
MLT_EXPORT mlt_service mlt_service_consumer(mlt_service self)
MLT_EXPORT void mlt_service_set_consumer(mlt_service self, mlt_service consumer)
MLT_EXPORT int mlt_service_disconnect_all_producers(mlt_service self)
MLT_EXPORT int mlt_service_cache_get_size(mlt_service self, const char *name)
MLT_EXPORT mlt_service_type mlt_service_identify(mlt_service self)
MLT_EXPORT mlt_filter mlt_service_filter(mlt_service self, int index)
MLT_EXPORT void mlt_service_set_profile(mlt_service self, mlt_profile profile)
MLT_EXPORT int mlt_service_insert_producer(mlt_service self, mlt_service producer, int index)
MLT_EXPORT void mlt_service_cache_put(mlt_service self, const char *name, void *data, int size, mlt_destructor destructor)
Provides forward definitions of all public types.
void(* mlt_destructor)(void *)
pointer to destructor function
Definition mlt_types.h:307
mlt_service_type
The recognized subclasses of mlt_service.
Definition mlt_types.h:232
Cache item class.
Definition mlt_cache.c:50
Filter abstract service class.
Definition mlt_filter.h:41
Frame class.
Definition mlt_frame.h:91
Profile class.
Definition mlt_profile.h:36
Properties class.
Definition mlt_properties.h:41
void * child
the object of a subclass
Definition mlt_properties.h:42
Service abstract base class.
Definition mlt_service.h:59
int(* get_frame)(mlt_service self, mlt_frame_ptr frame, int index)
Get a frame of data (virtual function).
Definition mlt_service.h:69
void * child
the object of a subclass
Definition mlt_service.h:76
void * local
instance object
Definition mlt_service.h:75
mlt_destructor close
the destructor virtual function
Definition mlt_service.h:72
void * close_object
the object supplied to the close virtual function
Definition mlt_service.h:73
struct mlt_properties_s parent
A service extends properties.
Definition mlt_service.h:60