|
mlt 0.7.6
|
00001 00024 #ifndef _MLT_FILTER_H_ 00025 #define _MLT_FILTER_H_ 00026 00027 #include "mlt_service.h" 00028 00039 struct mlt_filter_s 00040 { 00042 struct mlt_service_s parent; 00043 00045 void ( *close )( mlt_filter ); 00046 00048 mlt_frame ( *process )( mlt_filter, mlt_frame ); 00049 00051 void *child; 00052 }; 00053 00054 #define MLT_FILTER_SERVICE( filter ) ( &( filter )->parent ) 00055 #define MLT_FILTER_PROPERTIES( filter ) MLT_SERVICE_PROPERTIES( MLT_FILTER_SERVICE( filter ) ) 00056 00057 extern int mlt_filter_init( mlt_filter self, void *child ); 00058 extern mlt_filter mlt_filter_new( ); 00059 extern mlt_service mlt_filter_service( mlt_filter self ); 00060 extern mlt_properties mlt_filter_properties( mlt_filter self ); 00061 extern mlt_frame mlt_filter_process( mlt_filter self, mlt_frame that ); 00062 extern int mlt_filter_connect( mlt_filter self, mlt_service producer, int index ); 00063 extern void mlt_filter_set_in_and_out( mlt_filter self, mlt_position in, mlt_position out ); 00064 extern int mlt_filter_get_track( mlt_filter self ); 00065 extern mlt_position mlt_filter_get_in( mlt_filter self ); 00066 extern mlt_position mlt_filter_get_out( mlt_filter self ); 00067 extern mlt_position mlt_filter_get_length( mlt_filter self ); 00068 extern mlt_position mlt_filter_get_length2( mlt_filter self, mlt_frame frame ); 00069 extern mlt_position mlt_filter_get_position( mlt_filter self, mlt_frame frame ); 00070 extern double mlt_filter_get_progress( mlt_filter self, mlt_frame frame ); 00071 extern void mlt_filter_close( mlt_filter ); 00072 00073 #endif
1.7.3