MLT 7.14.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_types.h"
26#include "mlt_profile.h"
27#include "mlt_repository.h"
28
62extern mlt_repository mlt_factory_init( const char *directory );
64extern const char *mlt_factory_directory( );
65extern char *mlt_environment( const char *name );
66extern int mlt_environment_set( const char *name, const char *value );
68extern mlt_producer mlt_factory_producer( mlt_profile profile, const char *service, const void *resource );
69extern mlt_filter mlt_factory_filter( mlt_profile profile, const char *service, const void *input );
70extern mlt_link mlt_factory_link( const char *service, const void *input );
71extern mlt_transition mlt_factory_transition( mlt_profile profile, const char *service, const void *input );
72extern mlt_consumer mlt_factory_consumer( mlt_profile profile, const char *service, const void *input );
73extern void mlt_factory_register_for_clean_up( void *ptr, mlt_destructor destructor );
74extern void mlt_factory_close( );
76
79typedef struct {
80 const char *name;
81 const void *input;
82 void *service;
84
85#endif
mlt_producer mlt_factory_producer(mlt_profile profile, const char *service, const void *resource)
Fetch a producer from the repository.
Definition mlt_factory.c:317
mlt_link mlt_factory_link(const char *service, const void *input)
Fetch a link from the repository.
Definition mlt_factory.c:396
mlt_properties mlt_global_properties()
Definition mlt_factory.c:548
mlt_repository mlt_factory_repository()
Fetch the repository.
Definition mlt_factory.c:231
mlt_transition mlt_factory_transition(mlt_profile profile, const char *service, const void *input)
Fetch a transition from the repository.
Definition mlt_factory.c:430
int mlt_environment_set(const char *name, const char *value)
Set a value in the environment.
Definition mlt_factory.c:277
mlt_repository mlt_factory_init(const char *directory)
Construct the repository and factories.
Definition mlt_factory.c:112
const char * mlt_factory_directory()
Fetch the module directory used in this instance.
Definition mlt_factory.c:251
mlt_filter mlt_factory_filter(mlt_profile profile, const char *service, const void *input)
Fetch a filter from the repository.
Definition mlt_factory.c:363
char * mlt_environment(const char *name)
Get a value from the environment.
Definition mlt_factory.c:262
mlt_consumer mlt_factory_consumer(mlt_profile profile, const char *service, const void *input)
Fetch a consumer from the repository.
Definition mlt_factory.c:464
mlt_properties mlt_factory_event_object()
Fetch the events object.
Definition mlt_factory.c:241
void mlt_factory_close()
Close the factory.
Definition mlt_factory.c:525
void mlt_factory_register_for_clean_up(void *ptr, mlt_destructor destructor)
Register an object for clean up.
Definition mlt_factory.c:513
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:233
Consumer abstract service class.
Definition mlt_consumer.h:94
The event data for all factory-related events.
Definition mlt_factory.h:79
const void * input
an argument supplied to initialize the service, typically a string
Definition mlt_factory.h:81
void * service
the service being created
Definition mlt_factory.h:82
const char * name
the name of the service requested
Definition mlt_factory.h:80
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