mlt 0.7.6
Functions

mlt_factory.h File Reference

the factory method interfaces More...

#include "mlt_types.h"
#include "mlt_profile.h"
#include "mlt_repository.h"

Go to the source code of this file.

Functions

char * mlt_environment (const char *name)
 Get a value from the environment.
int mlt_environment_set (const char *name, const char *value)
 Set a value in the environment.
void mlt_factory_close ()
 Close the factory.
mlt_consumer mlt_factory_consumer (mlt_profile profile, const char *name, const void *input)
 Fetch a consumer from the repository.
const char * mlt_factory_directory ()
 Fetch the module directory used in this instance.
mlt_properties mlt_factory_event_object ()
 Fetch the events object.
mlt_filter mlt_factory_filter (mlt_profile profile, const char *name, const void *input)
 Fetch a filter from the repository.
mlt_repository mlt_factory_init (const char *directory)
 Construct the repository and factories.
mlt_producer mlt_factory_producer (mlt_profile profile, const char *name, const void *input)
 Fetch a producer from the repository.
void mlt_factory_register_for_clean_up (void *ptr, mlt_destructor destructor)
 Register an object for clean up.
mlt_transition mlt_factory_transition (mlt_profile profile, const char *name, const void *input)
 Fetch a transition from the repository.
mlt_properties mlt_global_properties ()

Detailed Description

the factory method interfaces

Copyright (C) 2003-2009 Ushodaya Enterprises Limited

Author:
Charles Yates <charles.yates@pandora.be>

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


Function Documentation

char* mlt_environment ( const char *  name)

Get a value from the environment.

Parameters:
namethe name of a MLT (runtime configuration) environment variable
Returns:
the value of the variable
int mlt_environment_set ( const char *  name,
const char *  value 
)

Set a value in the environment.

Parameters:
namethe name of a MLT environment variable
valuethe value of the variable
Returns:
true on error
void mlt_factory_close ( )

Close the factory.

Cleanup all resources for the session.

mlt_consumer mlt_factory_consumer ( mlt_profile  profile,
const char *  service,
const void *  input 
)

Fetch a consumer from the repository.

Parameters:
profilethe mlt_profile to use
servicethe name of the consumer (optional, defaults to MLT_CONSUMER)
inputan optional argument to the consumer constructor, typically a string
Returns:
a new consumer
const char* mlt_factory_directory ( )

Fetch the module directory used in this instance.

Returns:
the full path to the module directory that this session is using
mlt_properties mlt_factory_event_object ( )

Fetch the events object.

Returns:
the global factory event object
mlt_filter mlt_factory_filter ( mlt_profile  profile,
const char *  service,
const void *  input 
)

Fetch a filter from the repository.

Parameters:
profilethe mlt_profile to use
servicethe name of the filter
inputan optional argument to the filter constructor, typically a string
Returns:
a new filter
mlt_repository mlt_factory_init ( const char *  directory)

Construct the repository and factories.

Event:

producer-create-request fired when mlt_factory_producer is called

producer-create-done fired when a producer registers itself

filter-create-request fired when mlt_factory_filter is called

filter-create-done fired when a filter registers itself

transition-create-request fired when mlt_factory_transition is called

transition-create-done fired when a transition registers itself

consumer-create-request fired when mlt_factory_consumer is called

consumer-create-done fired when a consumer registers itself

The environment variable MLT_PRODUCER is the name of a default producer often used by other services, defaults to "loader".

The environment variable MLT_CONSUMER is the name of a default consumer, defaults to "sdl".

The environment variable MLT_TEST_CARD is the name of a producer or file to be played when nothing is available (all tracks blank).

The environment variable MLT_DATA overrides the default full path to the MLT and module supplemental data files, defaults to PREFIX_DATA.

The environment variable MLT_PROFILE defaults to "dv_pal."

The environment variable MLT_REPOSITORY overrides the default location of the plugin modules, defaults to PREFIX_LIB.

Parameters:
directoryan optional full path to a directory containing the modules that overrides the default and the MLT_REPOSITORY environment variable
Returns:
the repository
mlt_producer mlt_factory_producer ( mlt_profile  profile,
const char *  service,
const void *  input 
)

Fetch a producer from the repository.

Parameters:
profilethe mlt_profile to use
servicethe name of the producer (optional, defaults to MLT_PRODUCER)
inputan optional argument to the producer constructor, typically a string
Returns:
a new producer
void mlt_factory_register_for_clean_up ( void *  ptr,
mlt_destructor  destructor 
)

Register an object for clean up.

Parameters:
ptran opaque pointer to anything allocated on the heap
destructorthe function pointer of the deallocation subroutine (e.g., free or mlt_pool_release)
mlt_transition mlt_factory_transition ( mlt_profile  profile,
const char *  service,
const void *  input 
)

Fetch a transition from the repository.

Parameters:
profilethe mlt_profile to use
servicethe name of the transition
inputan optional argument to the transition constructor, typically a string
Returns:
a new transition
mlt_properties mlt_global_properties ( )
TWiki Appliance - Powered by TurnKey Linux