MLT 6.22.1
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{
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
57extern int mlt_filter_init( mlt_filter self, void *child );
62extern int mlt_filter_connect( mlt_filter self, mlt_service producer, int index );
70extern 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:163
struct mlt_filter_s * mlt_filter
pointer to Filter object
Definition: mlt_types.h:196
struct mlt_frame_s * mlt_frame
Definition: mlt_types.h:188
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:275
mlt_position mlt_filter_get_position(mlt_filter self, mlt_frame frame)
Get the position within the filter.
Definition: mlt_filter.c:252
mlt_properties mlt_filter_properties(mlt_filter self)
Get the filter properties.
Definition: mlt_filter.c:107
mlt_position mlt_filter_get_out(mlt_filter self)
Get the out point.
Definition: mlt_filter.c:189
void mlt_filter_close(mlt_filter self)
Close and destroy the filter.
Definition: mlt_filter.c:381
mlt_service mlt_filter_service(mlt_filter self)
Get the service class interface.
Definition: mlt_filter.c:94
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:121
mlt_position mlt_filter_get_in(mlt_filter self)
Get the in point.
Definition: mlt_filter.c:175
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:298
mlt_position mlt_filter_get_length(mlt_filter self)
Get the duration.
Definition: mlt_filter.c:202
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:146
mlt_filter mlt_filter_new()
Create a new filter and initialize it.
Definition: mlt_filter.c:72
mlt_position mlt_filter_get_length2(mlt_filter self, mlt_frame frame)
Get the duration.
Definition: mlt_filter.c:221
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:161
mlt_frame(* process)(mlt_filter, mlt_frame)
protected filter method
Definition: mlt_filter.h:48
Frame class.
Definition: mlt_frame.h:74
Properties class.
Definition: mlt_properties.h:37
Service abstract base class.
Definition: mlt_service.h:58
void * child
the object of a subclass
Definition: mlt_service.h:75