MLT 7.8.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_link.h"
27#include "mlt_producer.h"
28
37{
39 void* local;
40};
41
42#define MLT_CHAIN_PRODUCER( chain ) ( &( chain )->parent )
43#define MLT_CHAIN_SERVICE( chain ) MLT_PRODUCER_SERVICE( MLT_CHAIN_PRODUCER( chain ) )
44#define MLT_CHAIN_PROPERTIES( chain ) MLT_SERVICE_PROPERTIES( MLT_CHAIN_SERVICE( chain ) )
45
47extern void mlt_chain_set_source( mlt_chain self, mlt_producer source );
49extern int mlt_chain_attach( mlt_chain self, mlt_link link );
50extern int mlt_chain_detach( mlt_chain self, mlt_link link );
52extern int mlt_chain_move_link( mlt_chain self, int from, int to );
53extern mlt_link mlt_chain_link( mlt_chain self, int index );
54extern void mlt_chain_close( mlt_chain self );
55
56#endif
abstraction for all producer services
Chain class.
Definition: mlt_chain.h:37
mlt_producer mlt_chain_get_source(mlt_chain self)
Get the source producer.
Definition: mlt_chain.c:201
int mlt_chain_attach(mlt_chain self, mlt_link link)
Attach a link.
Definition: mlt_chain.c:220
int mlt_chain_detach(mlt_chain self, mlt_link link)
Detach a link.
Definition: mlt_chain.c:265
void * local
instance object
Definition: mlt_chain.h:39
mlt_link mlt_chain_link(mlt_chain self, int index)
Retrieve an attached link.
Definition: mlt_chain.c:359
int mlt_chain_move_link(mlt_chain self, int from, int to)
Reorder the attached links.
Definition: mlt_chain.c:318
void mlt_chain_set_source(mlt_chain self, mlt_producer source)
Set the source producer.
Definition: mlt_chain.c:107
int mlt_chain_link_count(mlt_chain self)
Get the number of links attached.
Definition: mlt_chain.c:298
struct mlt_producer_s parent
Definition: mlt_chain.h:38
void mlt_chain_close(mlt_chain self)
Close the chain and free its resources.
Definition: mlt_chain.c:377
mlt_chain mlt_chain_init(mlt_profile profile)
Construct a chain.
Definition: mlt_chain.c:60
Producer abstract service class.
Definition: mlt_producer.h:70
Profile class.
Definition: mlt_profile.h:35