68 #define MLT_LINK_PRODUCER(link) (&(link)->parent)
69 #define MLT_LINK_SERVICE(link) MLT_PRODUCER_SERVICE(MLT_LINK_PRODUCER(link))
70 #define MLT_LINK_PROPERTIES(link) MLT_SERVICE_PROPERTIES(MLT_LINK_SERVICE(link))
abstraction for all producer services
struct mlt_profile_s * mlt_profile
pointer to Profile object
Definition: mlt_types.h:260
struct mlt_frame_s ** mlt_frame_ptr
pointer to Frame object
Definition: mlt_types.h:243
mlt_service_type
The recognized subclasses of mlt_service.
Definition: mlt_types.h:194
struct mlt_link_s * mlt_link
pointer to Link object
Definition: mlt_types.h:266
Link class.
Definition: mlt_link.h:37
void(* close)(mlt_link)
Virtual close function.
Definition: mlt_link.h:60
mlt_producer next
Definition: mlt_link.h:63
void(* configure)(mlt_link, mlt_profile)
Configure the link (virtual function).
Definition: mlt_link.h:57
mlt_properties mlt_link_filter_metadata(mlt_service_type type, const char *id, void *data)
Get the metadata about a link that is wrapping a filter.
Definition: mlt_link.c:232
void mlt_link_close(mlt_link self)
Close the link and free its resources.
Definition: mlt_link.c:98
int(* get_frame)(mlt_link, mlt_frame_ptr, int)
Get a frame of data (virtual function).
Definition: mlt_link.h:50
void * child
the object of a subclass
Definition: mlt_link.h:65
mlt_link mlt_link_init()
Construct a link.
Definition: mlt_link.c:46
int mlt_link_connect_next(mlt_link self, mlt_producer next, mlt_profile chain_profile)
Connect this link to the next producer.
Definition: mlt_link.c:83
mlt_link mlt_link_filter_init(mlt_profile profile, mlt_service_type type, const char *id, char *arg)
Construct a link as a wrapper for the specified filter.
Definition: mlt_link.c:204
struct mlt_producer_s parent
Definition: mlt_link.h:39
Producer abstract service class.
Definition: mlt_producer.h:70
Profile class.
Definition: mlt_profile.h:35
Properties class.
Definition: mlt_properties.h:40