MLT  7.28.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_producer.h"
27 
36 struct mlt_link_s
37 {
39  struct mlt_producer_s parent;
40 
51 
58 
60  void (*close)(mlt_link);
61 
65  void *child;
66 };
67 
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))
71 
73 extern int mlt_link_connect_next(mlt_link self, mlt_producer next, mlt_profile chain_profile);
74 extern void mlt_link_close(mlt_link self);
75 
76 // Link filter wrapper functions
78  mlt_service_type type,
79  const char *id,
80  char *arg);
81 extern mlt_properties mlt_link_filter_metadata(mlt_service_type type, const char *id, void *data);
82 
83 #endif
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
Producer abstract service class.
Definition: mlt_producer.h:70
Profile class.
Definition: mlt_profile.h:35
Properties class.
Definition: mlt_properties.h:40