MLT  7.34.0
mlt_link.h
Go to the documentation of this file.
1 
23 #ifndef MLT_LINK_H
24 #define MLT_LINK_H
25 
26 #include "mlt_export.h"
27 #include "mlt_producer.h"
28 
37 struct mlt_link_s
38 {
40  struct mlt_producer_s parent;
41 
52 
59 
61  void (*close)(mlt_link);
62 
66  void *child;
67 };
68 
69 #define MLT_LINK_PRODUCER(link) (&(link)->parent)
70 #define MLT_LINK_SERVICE(link) MLT_PRODUCER_SERVICE(MLT_LINK_PRODUCER(link))
71 #define MLT_LINK_PROPERTIES(link) MLT_SERVICE_PROPERTIES(MLT_LINK_SERVICE(link))
72 
73 MLT_EXPORT mlt_link mlt_link_init();
74 MLT_EXPORT int mlt_link_connect_next(mlt_link self, mlt_producer next, mlt_profile chain_profile);
75 MLT_EXPORT void mlt_link_close(mlt_link self);
76 
77 // Link filter wrapper functions
79  mlt_service_type type,
80  const char *id,
81  char *arg);
83  const char *id,
84  void *data);
85 
86 #endif
abstraction for all producer services
struct mlt_profile_s * mlt_profile
pointer to Profile object
Definition: mlt_types.h:298
struct mlt_frame_s ** mlt_frame_ptr
pointer to Frame object
Definition: mlt_types.h:281
mlt_service_type
The recognized subclasses of mlt_service.
Definition: mlt_types.h:232
struct mlt_link_s * mlt_link
pointer to Link object
Definition: mlt_types.h:304
Producer abstract service class.
Definition: mlt_producer.h:71
Profile class.
Definition: mlt_profile.h:36
Properties class.
Definition: mlt_properties.h:41