MLT  7.28.0
mlt_filter.h
Go to the documentation of this file.
1 
23 #ifndef MLT_FILTER_H
24 #define MLT_FILTER_H
25 
26 #include "mlt_service.h"
27 
40 {
42  struct mlt_service_s parent;
43 
45  void (*close)(mlt_filter);
46 
49 
51  void *child;
52 };
53 
54 #define MLT_FILTER_SERVICE(filter) (&(filter)->parent)
55 #define MLT_FILTER_PROPERTIES(filter) MLT_SERVICE_PROPERTIES(MLT_FILTER_SERVICE(filter))
56 
57 extern int mlt_filter_init(mlt_filter self, void *child);
62 extern int mlt_filter_connect(mlt_filter self, mlt_service producer, int index);
70 extern double mlt_filter_get_progress(mlt_filter self, mlt_frame frame);
72 
73 #endif
interface declaration for all service classes
int32_t mlt_position
Definition: mlt_types.h:217
struct mlt_filter_s * mlt_filter
pointer to Filter object
Definition: mlt_types.h:251
struct mlt_frame_s * mlt_frame
Definition: mlt_types.h:243
Filter abstract service class.
Definition: mlt_filter.h:40
double mlt_filter_get_progress(mlt_filter self, mlt_frame frame)
Get the percent complete.
Definition: mlt_filter.c:264
mlt_position mlt_filter_get_position(mlt_filter self, mlt_frame frame)
Get the position within the filter.
Definition: mlt_filter.c:241
mlt_properties mlt_filter_properties(mlt_filter self)
Get the filter properties.
Definition: mlt_filter.c:103
mlt_position mlt_filter_get_out(mlt_filter self)
Get the out point.
Definition: mlt_filter.c:180
void mlt_filter_close(mlt_filter self)
Close and destroy the filter.
Definition: mlt_filter.c:362
mlt_service mlt_filter_service(mlt_filter self)
Get the service class interface.
Definition: mlt_filter.c:90
void * child
Protected.
Definition: mlt_filter.h:51
int mlt_filter_connect(mlt_filter self, mlt_service producer, int index)
Connect this filter to a producers track.
Definition: mlt_filter.c:117
mlt_position mlt_filter_get_in(mlt_filter self)
Get the in point.
Definition: mlt_filter.c:167
int mlt_filter_init(mlt_filter self, void *child)
Initialize a new filter.
Definition: mlt_filter.c:41
struct mlt_service_s parent
We're implementing service here.
Definition: mlt_filter.h:42
mlt_frame mlt_filter_process(mlt_filter self, mlt_frame frame)
Process the frame.
Definition: mlt_filter.c:286
mlt_position mlt_filter_get_length(mlt_filter self)
Get the duration.
Definition: mlt_filter.c:193
void mlt_filter_set_in_and_out(mlt_filter self, mlt_position in, mlt_position out)
Set the starting and ending time.
Definition: mlt_filter.c:140
mlt_filter mlt_filter_new()
Create a new filter and initialize it.
Definition: mlt_filter.c:71
mlt_position mlt_filter_get_length2(mlt_filter self, mlt_frame frame)
Get the duration.
Definition: mlt_filter.c:212
void(* close)(mlt_filter)
public virtual
Definition: mlt_filter.h:45
int mlt_filter_get_track(mlt_filter self)
Return the track that this filter is operating on.
Definition: mlt_filter.c:154
mlt_frame(* process)(mlt_filter, mlt_frame)
protected filter method
Definition: mlt_filter.h:48
Frame class.
Definition: mlt_frame.h:90
Properties class.
Definition: mlt_properties.h:40
Service abstract base class.
Definition: mlt_service.h:58
void * child
the object of a subclass
Definition: mlt_service.h:75