MLT 7.20.0
mlt_repository.h
Go to the documentation of this file.
1
23#ifndef MLT_REPOSITORY_H
24#define MLT_REPOSITORY_H
25
26#include "mlt_profile.h"
27#include "mlt_types.h"
28
36
40typedef void *(*mlt_register_callback)(mlt_profile,
42 const char * /* service name */,
43 const void * /* arg */);
44
49 const char * /* service name */,
50 void * /* callback_data */);
51
53#define MLT_REPOSITORY void mlt_register(mlt_repository repository)
54
56#define MLT_REGISTER(type, service, symbol) \
57 (mlt_repository_register(repository, (type), (service), (mlt_register_callback) (symbol)))
58
60#define MLT_REGISTER_METADATA(type, service, callback, data) \
61 (mlt_repository_register_metadata(repository, \
62 (type), \
63 (service), \
64 (mlt_metadata_callback) (callback), \
65 (data)))
66
67extern mlt_repository mlt_repository_init(const char *directory);
69 mlt_service_type service_type,
70 const char *service,
73 mlt_profile profile,
75 const char *service,
76 const void *arg);
85 const char *service,
87 void *callback_data);
90 const char *service);
93
94#endif
video output definition
void(* mlt_repository_callback)(mlt_repository)
This callback is the main entry point into a module, which must be exported with the symbol "mlt_regi...
Definition mlt_repository.h:35
mlt_repository mlt_repository_init(const char *directory)
void mlt_repository_register_metadata(mlt_repository self, mlt_service_type type, const char *service, mlt_metadata_callback, void *callback_data)
void *(* mlt_register_callback)(mlt_profile, mlt_service_type, const char *, const void *)
The callback function that modules implement to construct a service.
Definition mlt_repository.h:40
mlt_properties mlt_repository_producers(mlt_repository self)
mlt_properties mlt_repository_links(mlt_repository self)
mlt_properties mlt_repository_languages(mlt_repository self)
mlt_properties(* mlt_metadata_callback)(mlt_service_type, const char *, void *)
The callback function that modules implement to supply metadata as a properties list.
Definition mlt_repository.h:48
mlt_properties mlt_repository_transitions(mlt_repository self)
mlt_properties mlt_repository_presets()
void mlt_repository_register(mlt_repository self, mlt_service_type service_type, const char *service, mlt_register_callback)
void * mlt_repository_create(mlt_repository self, mlt_profile profile, mlt_service_type type, const char *service, const void *arg)
mlt_properties mlt_repository_metadata(mlt_repository self, mlt_service_type type, const char *service)
void mlt_repository_close(mlt_repository self)
mlt_properties mlt_repository_filters(mlt_repository self)
mlt_properties mlt_repository_consumers(mlt_repository self)
Provides forward definitions of all public types.
struct mlt_profile_s * mlt_profile
pointer to Profile object
Definition mlt_types.h:226
mlt_service_type
The recognized subclasses of mlt_service.
Definition mlt_types.h:160
struct mlt_repository_s * mlt_repository
pointer to Repository object
Definition mlt_types.h:227
struct mlt_properties_s * mlt_properties
pointer to Properties object
Definition mlt_types.h:211
Profile class.
Definition mlt_profile.h:35
Properties class.
Definition mlt_properties.h:40
Repository class.
Definition mlt_repository.c:46