MLT 7.4.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
60extern mlt_repository mlt_factory_init( const char *directory );
62extern const char *mlt_factory_directory( );
63extern char *mlt_environment( const char *name );
64extern int mlt_environment_set( const char *name, const char *value );
66extern mlt_producer mlt_factory_producer( mlt_profile profile, const char *service, const void *resource );
67extern mlt_filter mlt_factory_filter( mlt_profile profile, const char *name, const void *input );
68extern mlt_link mlt_factory_link( const char *name, const void *input );
69extern mlt_transition mlt_factory_transition( mlt_profile profile, const char *name, const void *input );
70extern mlt_consumer mlt_factory_consumer( mlt_profile profile, const char *name, const void *input );
71extern void mlt_factory_register_for_clean_up( void *ptr, mlt_destructor destructor );
72extern void mlt_factory_close( );
74
77typedef struct {
78 const char *name;
79 const void *input;
80 void *service;
82
83#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:326
mlt_filter mlt_factory_filter(mlt_profile profile, const char *name, const void *input)
Fetch a filter from the repository.
Definition: mlt_factory.c:372
mlt_consumer mlt_factory_consumer(mlt_profile profile, const char *name, const void *input)
Fetch a consumer from the repository.
Definition: mlt_factory.c:473
mlt_link mlt_factory_link(const char *name, const void *input)
Fetch a link from the repository.
Definition: mlt_factory.c:405
mlt_properties mlt_global_properties()
Definition: mlt_factory.c:557
mlt_repository mlt_factory_repository()
Fetch the repository.
Definition: mlt_factory.c:240
int mlt_environment_set(const char *name, const char *value)
Set a value in the environment.
Definition: mlt_factory.c:286
mlt_repository mlt_factory_init(const char *directory)
Construct the repository and factories.
Definition: mlt_factory.c:113
const char * mlt_factory_directory()
Fetch the module directory used in this instance.
Definition: mlt_factory.c:260
mlt_transition mlt_factory_transition(mlt_profile profile, const char *name, const void *input)
Fetch a transition from the repository.
Definition: mlt_factory.c:439
char * mlt_environment(const char *name)
Get a value from the environment.
Definition: mlt_factory.c:271
mlt_properties mlt_factory_event_object()
Fetch the events object.
Definition: mlt_factory.c:250
void mlt_factory_close()
Close the factory.
Definition: mlt_factory.c:534
void mlt_factory_register_for_clean_up(void *ptr, mlt_destructor destructor)
Register an object for clean up.
Definition: mlt_factory.c:522
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:91
The event data for all factory-related events.
Definition: mlt_factory.h:77
const void * input
an argument supplied to initialize the service, typically a string
Definition: mlt_factory.h:79
void * service
the service being created
Definition: mlt_factory.h:80
const char * name
the name of the service requested
Definition: mlt_factory.h:78
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