MLT  7.34.0
mlt_chain.h
Go to the documentation of this file.
1 
23 #ifndef MLT_CHAIN_H
24 #define MLT_CHAIN_H
25 
26 #include "mlt_export.h"
27 #include "mlt_link.h"
28 #include "mlt_producer.h"
29 
38 {
39  struct mlt_producer_s parent;
40  void *local;
41 };
42 
43 #define MLT_CHAIN_PRODUCER(chain) (&(chain)->parent)
44 #define MLT_CHAIN_SERVICE(chain) MLT_PRODUCER_SERVICE(MLT_CHAIN_PRODUCER(chain))
45 #define MLT_CHAIN_PROPERTIES(chain) MLT_SERVICE_PROPERTIES(MLT_CHAIN_SERVICE(chain))
46 
48 MLT_EXPORT void mlt_chain_set_source(mlt_chain self, mlt_producer source);
50 MLT_EXPORT int mlt_chain_attach(mlt_chain self, mlt_link link);
51 MLT_EXPORT int mlt_chain_detach(mlt_chain self, mlt_link link);
52 MLT_EXPORT int mlt_chain_link_count(mlt_chain self);
53 MLT_EXPORT int mlt_chain_move_link(mlt_chain self, int from, int to);
54 MLT_EXPORT mlt_link mlt_chain_link(mlt_chain self, int index);
55 MLT_EXPORT void mlt_chain_close(mlt_chain self);
57 
58 #endif
abstraction for all producer services
Chain class.
Definition: mlt_chain.h:38
mlt_producer mlt_chain_get_source(mlt_chain self)
Get the source producer.
Definition: mlt_chain.c:227
int mlt_chain_attach(mlt_chain self, mlt_link link)
Attach a link.
Definition: mlt_chain.c:245
int mlt_chain_detach(mlt_chain self, mlt_link link)
Detach a link.
Definition: mlt_chain.c:284
void * local
instance object
Definition: mlt_chain.h:40
mlt_link mlt_chain_link(mlt_chain self, int index)
Retrieve an attached link.
Definition: mlt_chain.c:374
int mlt_chain_move_link(mlt_chain self, int from, int to)
Reorder the attached links.
Definition: mlt_chain.c:334
void mlt_chain_set_source(mlt_chain self, mlt_producer source)
Set the source producer.
Definition: mlt_chain.c:112
int mlt_chain_link_count(mlt_chain self)
Get the number of links attached.
Definition: mlt_chain.c:315
struct mlt_producer_s parent
Definition: mlt_chain.h:39
void mlt_chain_close(mlt_chain self)
Close the chain and free its resources.
Definition: mlt_chain.c:391
mlt_chain mlt_chain_init(mlt_profile profile)
Construct a chain.
Definition: mlt_chain.c:64
void mlt_chain_attach_normalizers(mlt_chain self)
Attach normalizer links.
Definition: mlt_chain.c:417
Producer abstract service class.
Definition: mlt_producer.h:71
Profile class.
Definition: mlt_profile.h:36