MLT  7.28.0
mlt_factory.h
Go to the documentation of this file.
1 
22 #ifndef MLT_FACTORY_H
23 #define MLT_FACTORY_H
24 
25 #include "mlt_profile.h"
26 #include "mlt_repository.h"
27 #include "mlt_types.h"
28 
62 extern mlt_repository mlt_factory_init(const char *directory);
64 extern const char *mlt_factory_directory();
65 extern char *mlt_environment(const char *name);
66 extern int mlt_environment_set(const char *name, const char *value);
69  const char *service,
70  const void *resource);
71 extern mlt_filter mlt_factory_filter(mlt_profile profile, const char *service, const void *input);
72 extern mlt_link mlt_factory_link(const char *service, const void *input);
74  const char *service,
75  const void *input);
77  const char *service,
78  const void *input);
79 extern void mlt_factory_register_for_clean_up(void *ptr, mlt_destructor destructor);
80 extern void mlt_factory_close();
82 
85 typedef struct
86 {
87  const char *name;
88  const void *input;
89  void *service;
91 
92 #endif
const char * mlt_factory_directory()
Fetch the module directory used in this instance.
Definition: mlt_factory.c:257
mlt_producer mlt_factory_producer(mlt_profile profile, const char *service, const void *resource)
Fetch a producer from the repository.
Definition: mlt_factory.c:326
char * mlt_environment(const char *name)
Get a value from the environment.
Definition: mlt_factory.c:268
mlt_link mlt_factory_link(const char *service, const void *input)
Fetch a link from the repository.
Definition: mlt_factory.c:394
mlt_properties mlt_global_properties()
Definition: mlt_factory.c:530
mlt_repository mlt_factory_repository()
Fetch the repository.
Definition: mlt_factory.c:237
mlt_transition mlt_factory_transition(mlt_profile profile, const char *service, const void *input)
Fetch a transition from the repository.
Definition: mlt_factory.c:422
int mlt_environment_set(const char *name, const char *value)
Set a value in the environment.
Definition: mlt_factory.c:283
mlt_repository mlt_factory_init(const char *directory)
Construct the repository and factories.
Definition: mlt_factory.c:110
mlt_filter mlt_factory_filter(mlt_profile profile, const char *service, const void *input)
Fetch a filter from the repository.
Definition: mlt_factory.c:367
mlt_consumer mlt_factory_consumer(mlt_profile profile, const char *service, const void *input)
Fetch a consumer from the repository.
Definition: mlt_factory.c:450
mlt_properties mlt_factory_event_object()
Fetch the events object.
Definition: mlt_factory.c:247
void mlt_factory_close()
Close the factory.
Definition: mlt_factory.c:509
void mlt_factory_register_for_clean_up(void *ptr, mlt_destructor destructor)
Register an object for clean up.
Definition: mlt_factory.c:497
video output definition
provides a map between service and shared objects
Provides forward definitions of all public types.
void(* mlt_destructor)(void *)
pointer to destructor function
Definition: mlt_types.h:269
Consumer abstract service class.
Definition: mlt_consumer.h:94
The event data for all factory-related events.
Definition: mlt_factory.h:86
const void * input
an argument supplied to initialize the service, typically a string
Definition: mlt_factory.h:88
void * service
the service being created
Definition: mlt_factory.h:89
const char * name
the name of the service requested
Definition: mlt_factory.h:87
Filter abstract service class.
Definition: mlt_filter.h:40
Producer abstract service class.
Definition: mlt_producer.h:70
Profile class.
Definition: mlt_profile.h:35
Properties class.
Definition: mlt_properties.h:40
Repository class.
Definition: mlt_repository.c:46
Transition abstract service class.
Definition: mlt_transition.h:43