mlt 0.7.6

mlt_service.h

Go to the documentation of this file.
00001 
00024 #ifndef _MLT_SERVICE_H_
00025 #define _MLT_SERVICE_H_
00026 
00027 #include "mlt_properties.h"
00028 #include "mlt_types.h"
00029 
00059 struct mlt_service_s
00060 {
00061     struct mlt_properties_s parent; 
00070     int ( *get_frame )( mlt_service self, mlt_frame_ptr frame, int index );
00071 
00073     mlt_destructor close;
00074     void *close_object; 
00076     void *local; 
00077     void *child; 
00078 };
00079 
00080 #define MLT_SERVICE_PROPERTIES( service )   ( &( service )->parent )
00081 
00082 extern int mlt_service_init( mlt_service self, void *child );
00083 extern void mlt_service_lock( mlt_service self );
00084 extern void mlt_service_unlock( mlt_service self );
00085 extern mlt_service_type mlt_service_identify( mlt_service self );
00086 extern int mlt_service_connect_producer( mlt_service self, mlt_service producer, int index );
00087 extern mlt_service mlt_service_get_producer( mlt_service self );
00088 extern int mlt_service_get_frame( mlt_service self, mlt_frame_ptr frame, int index );
00089 extern mlt_properties mlt_service_properties( mlt_service self );
00090 extern mlt_service mlt_service_consumer( mlt_service self );
00091 extern mlt_service mlt_service_producer( mlt_service self );
00092 extern int mlt_service_attach( mlt_service self, mlt_filter filter );
00093 extern int mlt_service_detach( mlt_service self, mlt_filter filter );
00094 extern void mlt_service_apply_filters( mlt_service self, mlt_frame frame, int index );
00095 extern mlt_filter mlt_service_filter( mlt_service self, int index );
00096 extern mlt_profile mlt_service_profile( mlt_service self );
00097 extern void mlt_service_close( mlt_service self );
00098 
00099 extern void mlt_service_cache_put( mlt_service self, const char *name, void* data, int size, mlt_destructor destructor );
00100 extern mlt_cache_item mlt_service_cache_get( mlt_service self, const char *name );
00101 extern void mlt_service_cache_set_size( mlt_service self, const char *name, int size );
00102 extern int mlt_service_cache_get_size( mlt_service self, const char *name );
00103 extern void mlt_service_cache_purge( mlt_service self );
00104 
00105 #endif
00106 
TWiki Appliance - Powered by TurnKey Linux