]> git.sesse.net Git - mlt/blobdiff - src/modules/motion_est/factory.c
framework: remove global profile, rather share one mlt_profile across a service netwo...
[mlt] / src / modules / motion_est / factory.c
index bd00ccba118dcf7eab74f2049aadf23f8f5e433b..493d37f446c8384038e917daf106d731b733abcb 100644 (file)
  */
 
 #include <string.h>
+#include <framework/mlt.h>
 
-#include "filter_motion_est.h"
+extern mlt_filter filter_motion_est_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
+extern mlt_filter filter_vismv_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
+extern mlt_filter filter_crop_detect_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
+extern mlt_filter filter_autotrack_rectangle_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
+extern mlt_producer producer_slowmotion_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
 
-extern mlt_filter filter_motion_est_init(char *);
-extern mlt_filter filter_vismv_init(char *);
-extern mlt_filter filter_crop_detect_init(char *);
-extern mlt_filter filter_autotrack_rectangle_init(char *);
-extern mlt_producer producer_slowmotion_init(char *);
-
-void *mlt_create_filter( char *id, void *arg )
+void *mlt_create_filter( mlt_profile profile, mlt_service_type type, const char *id, char *arg )
 {
        if ( !strcmp( id, "motion_est" ) )
-               return filter_motion_est_init( arg );
+               return filter_motion_est_init( profile, type, id, arg );
        if ( !strcmp( id, "vismv" ) )
-               return filter_vismv_init( arg );
+               return filter_vismv_init( profile, type, id, arg );
        if ( !strcmp( id, "crop_detect" ) )
-               return filter_crop_detect_init( arg );
+               return filter_crop_detect_init( profile, type, id, arg );
        if ( !strcmp( id, "autotrack_rectangle" ) )
-               return filter_autotrack_rectangle_init( arg );
+               return filter_autotrack_rectangle_init( profile, type, id, arg );
        return NULL;
 }
 
-void *mlt_create_producer( char *id, void *arg )
+void *mlt_create_producer( mlt_profile profile, mlt_service_type type, const char *id, char *arg )
 {
        if ( !strcmp( id, "slowmotion" ) )
-               return producer_slowmotion_init( arg );
+               return producer_slowmotion_init( profile, type, id, arg );
        return NULL;
 }