mlt 0.7.6

mlt_filter.h

Go to the documentation of this file.
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
TWiki Appliance - Powered by TurnKey Linux