// Increment the count
count ++;
+ // All non normal playback frames should be shown
+ if ( mlt_properties_get_int( mlt_frame_properties( frame ), "_speed" ) != 1 )
+ {
+ skipped = 0;
+ time_frame = 0;
+ time_image = 0;
+ time_wait = 0;
+ count = 1;
+ }
+
// Get the image
if ( ( time_frame + time_image ) / count < ( 40000 - ( time_wait / count ) ) )
{
void ( *close )( mlt_consumer );
// Private data
- void *private;
+ void *local;
void *child;
int real_time;
/** Public final methods
*/
-extern int mlt_consumer_init( mlt_consumer this, void *child );
+extern int mlt_consumer_init( mlt_consumer self, void *child );
extern mlt_consumer mlt_consumer_new( );
-extern mlt_service mlt_consumer_service( mlt_consumer this );
-extern mlt_properties mlt_consumer_properties( mlt_consumer this );
-extern int mlt_consumer_connect( mlt_consumer this, mlt_service producer );
-extern int mlt_consumer_start( mlt_consumer this );
-extern mlt_frame mlt_consumer_get_frame( mlt_consumer this );
-extern mlt_frame mlt_consumer_rt_frame( mlt_consumer this );
-extern int mlt_consumer_stop( mlt_consumer this );
-extern int mlt_consumer_is_stopped( mlt_consumer this );
+extern mlt_service mlt_consumer_service( mlt_consumer self );
+extern mlt_properties mlt_consumer_properties( mlt_consumer self );
+extern int mlt_consumer_connect( mlt_consumer self, mlt_service producer );
+extern int mlt_consumer_start( mlt_consumer self );
+extern mlt_frame mlt_consumer_get_frame( mlt_consumer self );
+extern mlt_frame mlt_consumer_rt_frame( mlt_consumer self );
+extern int mlt_consumer_stop( mlt_consumer self );
+extern int mlt_consumer_is_stopped( mlt_consumer self );
extern void mlt_consumer_close( mlt_consumer );
#endif
#include "mlt_types.h"
extern mlt_deque mlt_deque_init( );
-extern int mlt_deque_count( mlt_deque this );
-extern int mlt_deque_push_back( mlt_deque this, void *item );
-extern void *mlt_deque_pop_back( mlt_deque this );
-extern int mlt_deque_push_front( mlt_deque this, void *item );
-extern void *mlt_deque_pop_front( mlt_deque this );
-extern void *mlt_deque_peek_back( mlt_deque this );
-extern void *mlt_deque_peek_front( mlt_deque this );
-extern void mlt_deque_close( mlt_deque this );
+extern int mlt_deque_count( mlt_deque self );
+extern int mlt_deque_push_back( mlt_deque self, void *item );
+extern void *mlt_deque_pop_back( mlt_deque self );
+extern int mlt_deque_push_front( mlt_deque self, void *item );
+extern void *mlt_deque_pop_front( mlt_deque self );
+extern void *mlt_deque_peek_back( mlt_deque self );
+extern void *mlt_deque_peek_front( mlt_deque self );
+extern void mlt_deque_close( mlt_deque self );
#endif
#include "mlt_types.h"
extern mlt_field mlt_field_init( );
-extern mlt_service mlt_field_service( mlt_field this );
-extern mlt_tractor mlt_field_tractor( mlt_field this );
-extern mlt_multitrack mlt_field_multitrack( mlt_field this );
-extern mlt_properties mlt_field_properties( mlt_field this );
-extern int mlt_field_plant_filter( mlt_field this, mlt_filter that, int track );
-extern int mlt_field_plant_transition( mlt_field this, mlt_transition that, int a_track, int b_track );
-extern void mlt_field_close( mlt_field this );
+extern mlt_service mlt_field_service( mlt_field self );
+extern mlt_tractor mlt_field_tractor( mlt_field self );
+extern mlt_multitrack mlt_field_multitrack( mlt_field self );
+extern mlt_properties mlt_field_properties( mlt_field self );
+extern int mlt_field_plant_filter( mlt_field self, mlt_filter that, int track );
+extern int mlt_field_plant_transition( mlt_field self, mlt_transition that, int a_track, int b_track );
+extern void mlt_field_close( mlt_field self );
#endif
/** Public final methods
*/
-extern int mlt_filter_init( mlt_filter this, void *child );
+extern int mlt_filter_init( mlt_filter self, void *child );
extern mlt_filter mlt_filter_new( );
-extern mlt_service mlt_filter_service( mlt_filter this );
-extern mlt_properties mlt_filter_properties( mlt_filter this );
-extern mlt_frame mlt_filter_process( mlt_filter this, mlt_frame that );
-extern int mlt_filter_connect( mlt_filter this, mlt_service producer, int index );
-extern void mlt_filter_set_in_and_out( mlt_filter this, mlt_position in, mlt_position out );
-extern int mlt_filter_get_track( mlt_filter this );
-extern mlt_position mlt_filter_get_in( mlt_filter this );
-extern mlt_position mlt_filter_get_out( mlt_filter this );
+extern mlt_service mlt_filter_service( mlt_filter self );
+extern mlt_properties mlt_filter_properties( mlt_filter self );
+extern mlt_frame mlt_filter_process( mlt_filter self, mlt_frame that );
+extern int mlt_filter_connect( mlt_filter self, mlt_service producer, int index );
+extern void mlt_filter_set_in_and_out( mlt_filter self, mlt_position in, mlt_position out );
+extern int mlt_filter_get_track( mlt_filter self );
+extern mlt_position mlt_filter_get_in( mlt_filter self );
+extern mlt_position mlt_filter_get_out( mlt_filter self );
extern void mlt_filter_close( mlt_filter );
#endif
#include "mlt_properties.h"
#include "mlt_deque.h"
-typedef int ( *mlt_get_image )( mlt_frame this, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable );
+typedef int ( *mlt_get_image )( mlt_frame self, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable );
struct mlt_frame_s
{
struct mlt_properties_s parent;
// Virtual methods
- int ( *get_audio )( mlt_frame this, int16_t **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples );
- uint8_t * ( *get_alpha_mask )( mlt_frame this );
+ int ( *get_audio )( mlt_frame self, int16_t **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples );
+ uint8_t * ( *get_alpha_mask )( mlt_frame self );
// Private properties
mlt_deque stack_image;
};
extern mlt_frame mlt_frame_init( );
-extern mlt_properties mlt_frame_properties( mlt_frame this );
-extern int mlt_frame_is_test_card( mlt_frame this );
-extern int mlt_frame_is_test_audio( mlt_frame this );
-extern double mlt_frame_get_aspect_ratio( mlt_frame this );
-extern int mlt_frame_set_aspect_ratio( mlt_frame this, double value );
-extern mlt_position mlt_frame_get_position( mlt_frame this );
-extern int mlt_frame_set_position( mlt_frame this, mlt_position value );
-extern int mlt_frame_get_image( mlt_frame this, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable );
-extern uint8_t *mlt_frame_get_alpha_mask( mlt_frame this );
-extern int mlt_frame_get_audio( mlt_frame this, int16_t **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples );
-extern int mlt_frame_push_get_image( mlt_frame this, mlt_get_image get_image );
-extern mlt_get_image mlt_frame_pop_get_image( mlt_frame this );
-extern int mlt_frame_push_frame( mlt_frame this, mlt_frame that );
-extern mlt_frame mlt_frame_pop_frame( mlt_frame this );
-extern int mlt_frame_push_service( mlt_frame this, void *that );
-extern void *mlt_frame_pop_service( mlt_frame this );
-extern int mlt_frame_push_audio( mlt_frame this, void *that );
-extern void *mlt_frame_pop_audio( mlt_frame this );
-extern void mlt_frame_close( mlt_frame this );
+extern mlt_properties mlt_frame_properties( mlt_frame self );
+extern int mlt_frame_is_test_card( mlt_frame self );
+extern int mlt_frame_is_test_audio( mlt_frame self );
+extern double mlt_frame_get_aspect_ratio( mlt_frame self );
+extern int mlt_frame_set_aspect_ratio( mlt_frame self, double value );
+extern mlt_position mlt_frame_get_position( mlt_frame self );
+extern int mlt_frame_set_position( mlt_frame self, mlt_position value );
+extern int mlt_frame_get_image( mlt_frame self, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable );
+extern uint8_t *mlt_frame_get_alpha_mask( mlt_frame self );
+extern int mlt_frame_get_audio( mlt_frame self, int16_t **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples );
+extern int mlt_frame_push_get_image( mlt_frame self, mlt_get_image get_image );
+extern mlt_get_image mlt_frame_pop_get_image( mlt_frame self );
+extern int mlt_frame_push_frame( mlt_frame self, mlt_frame that );
+extern mlt_frame mlt_frame_pop_frame( mlt_frame self );
+extern int mlt_frame_push_service( mlt_frame self, void *that );
+extern void *mlt_frame_pop_service( mlt_frame self );
+extern int mlt_frame_push_audio( mlt_frame self, void *that );
+extern void *mlt_frame_pop_audio( mlt_frame self );
+extern void mlt_frame_close( mlt_frame self );
/* convenience functions */
extern int mlt_convert_rgb24a_to_yuv422( uint8_t *rgba, int width, int height, int stride, uint8_t *yuv, uint8_t *alpha );
extern int mlt_convert_rgb24_to_yuv422( uint8_t *rgb, int width, int height, int stride, uint8_t *yuv );
extern int mlt_convert_yuv420p_to_yuv422( uint8_t *yuv420p, int width, int height, int stride, uint8_t *yuv );
-extern uint8_t *mlt_frame_resize_yuv422( mlt_frame this, int owidth, int oheight );
-extern uint8_t *mlt_frame_rescale_yuv422( mlt_frame this, int owidth, int oheight );
+extern uint8_t *mlt_frame_resize_yuv422( mlt_frame self, int owidth, int oheight );
+extern uint8_t *mlt_frame_rescale_yuv422( mlt_frame self, int owidth, int oheight );
extern void mlt_resize_yuv422( uint8_t *output, int owidth, int oheight, uint8_t *input, int iwidth, int iheight );
-extern int mlt_frame_mix_audio( mlt_frame this, mlt_frame that, float weight_start, float weight_end, int16_t **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples );
+extern int mlt_frame_mix_audio( mlt_frame self, mlt_frame that, float weight_start, float weight_end, int16_t **buffer, mlt_audio_format *format, int *frequency, int *channels, int *samples );
extern int mlt_sample_calculator( float fps, int frequency, int64_t position );
/* this macro scales rgb into the yuv gamut, y is scaled by 219/255 and uv by 224/255 */
#define _MLT_MANAGER_H_
extern mlt_manager mlt_manager_init( );
-extern mlt_producer mlt_manager_producer( mlt_manager this );
-extern mlt_producer mlt_manager_properties( mlt_manager this );
-extern int mlt_manager_track_count( mlt_manager this );
-extern int mlt_manager_clip_count( mlt_manager this, int track );
-extern int mlt_manager_append_clip( mlt_manager this, int track, mlt_producer clip );
-extern int mlt_manager_append_clip_io( mlt_manager this, int track, mlt_producer clip, mlt_position in, mlt_position out );
-extern int mlt_manager_append_blank( mlt_manager this, int track, int length );
-extern int mlt_manager_insert_clip( mlt_manager this, int track, mlt_producer clip, mlt_position position );
-extern int mlt_manager_insert_clip_io( mlt_manager this, int track, mlt_position position, mlt_producer clip, mlt_position in, mlt_position out );
-extern int mlt_manager_insert_blank( mlt_manager this, int track, mlt_position position, int length );
-extern int mlt_manager_remove_clip( mlt_manager this, int track, int index );
-extern mlt_producer mlt_manager_get_clip( mlt_manager this, int track, int index, char *type, mlt_position *in, mlt_position *out );
-extern int mlt_manager_service_count( mlt_manager this );
-extern int mlt_manager_append_filter( mlt_manager this, mlt_filter that );
-extern int mlt_manager_append_transition( mlt_manager this, int index, mlt_transition that );
-extern int mlt_manager_insert_filter( mlt_manager this, int index, mlt_filter that );
-extern int mlt_manager_insert_transition( mlt_manager this, int index, mlt_transition that );
-extern int mlt_manager_remove_service( mlt_manager this, int index );
-extern mlt_service mlt_manager_get_service( mlt_manager this, int index, char *type );
-extern int mlt_manager_set_resource( mlt_manager this, char *resource );
-extern int mlt_manager_set_type( mlt_manager this, char *type );
+extern mlt_producer mlt_manager_producer( mlt_manager self );
+extern mlt_producer mlt_manager_properties( mlt_manager self );
+extern int mlt_manager_track_count( mlt_manager self );
+extern int mlt_manager_clip_count( mlt_manager self, int track );
+extern int mlt_manager_append_clip( mlt_manager self, int track, mlt_producer clip );
+extern int mlt_manager_append_clip_io( mlt_manager self, int track, mlt_producer clip, mlt_position in, mlt_position out );
+extern int mlt_manager_append_blank( mlt_manager self, int track, int length );
+extern int mlt_manager_insert_clip( mlt_manager self, int track, mlt_producer clip, mlt_position position );
+extern int mlt_manager_insert_clip_io( mlt_manager self, int track, mlt_position position, mlt_producer clip, mlt_position in, mlt_position out );
+extern int mlt_manager_insert_blank( mlt_manager self, int track, mlt_position position, int length );
+extern int mlt_manager_remove_clip( mlt_manager self, int track, int index );
+extern mlt_producer mlt_manager_get_clip( mlt_manager self, int track, int index, char *type, mlt_position *in, mlt_position *out );
+extern int mlt_manager_service_count( mlt_manager self );
+extern int mlt_manager_append_filter( mlt_manager self, mlt_filter that );
+extern int mlt_manager_append_transition( mlt_manager self, int index, mlt_transition that );
+extern int mlt_manager_insert_filter( mlt_manager self, int index, mlt_filter that );
+extern int mlt_manager_insert_transition( mlt_manager self, int index, mlt_transition that );
+extern int mlt_manager_remove_service( mlt_manager self, int index );
+extern mlt_service mlt_manager_get_service( mlt_manager self, int index, char *type );
+extern int mlt_manager_set_resource( mlt_manager self, char *resource );
+extern int mlt_manager_set_type( mlt_manager self, char *type );
#endif
*/
extern mlt_multitrack mlt_multitrack_init( );
-extern mlt_producer mlt_multitrack_producer( mlt_multitrack this );
-extern mlt_service mlt_multitrack_service( mlt_multitrack this );
-extern mlt_properties mlt_multitrack_properties( mlt_multitrack this );
-extern int mlt_multitrack_connect( mlt_multitrack this, mlt_producer producer, int track );
-extern mlt_position mlt_multitrack_clip( mlt_multitrack this, mlt_whence whence, int index );
-extern void mlt_multitrack_close( mlt_multitrack this );
-extern int mlt_multitrack_count( mlt_multitrack this );
-extern mlt_producer mlt_multitrack_track( mlt_multitrack this, int track );
+extern mlt_producer mlt_multitrack_producer( mlt_multitrack self );
+extern mlt_service mlt_multitrack_service( mlt_multitrack self );
+extern mlt_properties mlt_multitrack_properties( mlt_multitrack self );
+extern int mlt_multitrack_connect( mlt_multitrack self, mlt_producer producer, int track );
+extern mlt_position mlt_multitrack_clip( mlt_multitrack self, mlt_whence whence, int index );
+extern void mlt_multitrack_close( mlt_multitrack self );
+extern int mlt_multitrack_count( mlt_multitrack self );
+extern mlt_producer mlt_multitrack_track( mlt_multitrack self, int track );
#endif
*/
extern mlt_playlist mlt_playlist_init( );
-extern mlt_producer mlt_playlist_producer( mlt_playlist this );
-extern mlt_service mlt_playlist_service( mlt_playlist this );
-extern mlt_properties mlt_playlist_properties( mlt_playlist this );
-extern int mlt_playlist_count( mlt_playlist this );
-extern int mlt_playlist_clear( mlt_playlist this );
-extern int mlt_playlist_append( mlt_playlist this, mlt_producer producer );
-extern int mlt_playlist_append_io( mlt_playlist this, mlt_producer producer, mlt_position in, mlt_position out );
-extern int mlt_playlist_blank( mlt_playlist this, mlt_position length );
-extern mlt_position mlt_playlist_clip( mlt_playlist this, mlt_whence whence, int index );
-extern int mlt_playlist_current_clip( mlt_playlist this );
-extern mlt_producer mlt_playlist_current( mlt_playlist this );
-extern int mlt_playlist_get_clip_info( mlt_playlist this, mlt_playlist_clip_info *info, int index );
-extern int mlt_playlist_insert( mlt_playlist this, mlt_producer producer, int where, mlt_position in, mlt_position out );
-extern int mlt_playlist_remove( mlt_playlist this, int where );
-extern int mlt_playlist_move( mlt_playlist this, int from, int to );
-extern int mlt_playlist_resize_clip( mlt_playlist this, int clip, mlt_position in, mlt_position out );
-extern void mlt_playlist_close( mlt_playlist this );
+extern mlt_producer mlt_playlist_producer( mlt_playlist self );
+extern mlt_service mlt_playlist_service( mlt_playlist self );
+extern mlt_properties mlt_playlist_properties( mlt_playlist self );
+extern int mlt_playlist_count( mlt_playlist self );
+extern int mlt_playlist_clear( mlt_playlist self );
+extern int mlt_playlist_append( mlt_playlist self, mlt_producer producer );
+extern int mlt_playlist_append_io( mlt_playlist self, mlt_producer producer, mlt_position in, mlt_position out );
+extern int mlt_playlist_blank( mlt_playlist self, mlt_position length );
+extern mlt_position mlt_playlist_clip( mlt_playlist self, mlt_whence whence, int index );
+extern int mlt_playlist_current_clip( mlt_playlist self );
+extern mlt_producer mlt_playlist_current( mlt_playlist self );
+extern int mlt_playlist_get_clip_info( mlt_playlist self, mlt_playlist_clip_info *info, int index );
+extern int mlt_playlist_insert( mlt_playlist self, mlt_producer producer, int where, mlt_position in, mlt_position out );
+extern int mlt_playlist_remove( mlt_playlist self, int where );
+extern int mlt_playlist_move( mlt_playlist self, int from, int to );
+extern int mlt_playlist_resize_clip( mlt_playlist self, int clip, mlt_position in, mlt_position out );
+extern void mlt_playlist_close( mlt_playlist self );
#endif
void ( *close )( mlt_producer );
// Private data
- void *private;
+ void *local;
void *child;
};
/** Public final methods
*/
-extern int mlt_producer_init( mlt_producer this, void *child );
+extern int mlt_producer_init( mlt_producer self, void *child );
extern mlt_producer mlt_producer_new( );
-extern mlt_service mlt_producer_service( mlt_producer this );
-extern mlt_properties mlt_producer_properties( mlt_producer this );
-extern int mlt_producer_seek( mlt_producer this, mlt_position position );
-extern mlt_position mlt_producer_position( mlt_producer this );
-extern mlt_position mlt_producer_frame( mlt_producer this );
-extern int mlt_producer_set_speed( mlt_producer this, double speed );
-extern double mlt_producer_get_speed( mlt_producer this );
-extern double mlt_producer_get_fps( mlt_producer this );
-extern int mlt_producer_set_in_and_out( mlt_producer this, mlt_position in, mlt_position out );
-extern mlt_position mlt_producer_get_in( mlt_producer this );
-extern mlt_position mlt_producer_get_out( mlt_producer this );
-extern mlt_position mlt_producer_get_playtime( mlt_producer this );
-extern mlt_position mlt_producer_get_length( mlt_producer this );
-extern void mlt_producer_prepare_next( mlt_producer this );
-extern void mlt_producer_close( mlt_producer this );
+extern mlt_service mlt_producer_service( mlt_producer self );
+extern mlt_properties mlt_producer_properties( mlt_producer self );
+extern int mlt_producer_seek( mlt_producer self, mlt_position position );
+extern mlt_position mlt_producer_position( mlt_producer self );
+extern mlt_position mlt_producer_frame( mlt_producer self );
+extern int mlt_producer_set_speed( mlt_producer self, double speed );
+extern double mlt_producer_get_speed( mlt_producer self );
+extern double mlt_producer_get_fps( mlt_producer self );
+extern int mlt_producer_set_in_and_out( mlt_producer self, mlt_position in, mlt_position out );
+extern mlt_position mlt_producer_get_in( mlt_producer self );
+extern mlt_position mlt_producer_get_out( mlt_producer self );
+extern mlt_position mlt_producer_get_playtime( mlt_producer self );
+extern mlt_position mlt_producer_get_length( mlt_producer self );
+extern void mlt_producer_prepare_next( mlt_producer self );
+extern void mlt_producer_close( mlt_producer self );
#endif
// Assign the child of the object
this->child = child;
- // Allocate the private structure
- this->private = calloc( sizeof( property_list ), 1 );
+ // Allocate the local structure
+ this->local = calloc( sizeof( property_list ), 1 );
}
// Check that initialisation was successful
- return this != NULL && this->private == NULL;
+ return this != NULL && this->local == NULL;
}
/** Constructor for stand alone object.
static inline void mlt_properties_do_mirror( mlt_properties this, char *name )
{
- property_list *list = this->private;
+ property_list *list = this->local;
if ( list->mirror != NULL )
{
char *value = mlt_properties_get( this, name );
void mlt_properties_mirror( mlt_properties this, mlt_properties that )
{
- property_list *list = this->private;
+ property_list *list = this->local;
list->mirror = that;
}
static inline mlt_property mlt_properties_find( mlt_properties this, char *name )
{
- property_list *list = this->private;
+ property_list *list = this->local;
mlt_property value = NULL;
int key = generate_hash( name );
int i = list->hash[ key ] - 1;
static mlt_property mlt_properties_add( mlt_properties this, char *name )
{
- property_list *list = this->private;
+ property_list *list = this->local;
int key = generate_hash( name );
// Check that we have space and resize if necessary
char *mlt_properties_get_name( mlt_properties this, int index )
{
- property_list *list = this->private;
+ property_list *list = this->local;
if ( index >= 0 && index < list->count )
return list->name[ index ];
return NULL;
char *mlt_properties_get_value( mlt_properties this, int index )
{
- property_list *list = this->private;
+ property_list *list = this->local;
if ( index >= 0 && index < list->count )
return mlt_property_get_string( list->value[ index ] );
return NULL;
void *mlt_properties_get_data_at( mlt_properties this, int index, int *size )
{
- property_list *list = this->private;
+ property_list *list = this->local;
if ( index >= 0 && index < list->count )
return mlt_property_get_data( list->value[ index ], size );
return NULL;
int mlt_properties_count( mlt_properties this )
{
- property_list *list = this->private;
+ property_list *list = this->local;
return list->count;
}
if ( value == NULL )
{
- property_list *list = this->private;
+ property_list *list = this->local;
int i = 0;
// Locate the item
void mlt_properties_dump( mlt_properties this, FILE *output )
{
- property_list *list = this->private;
+ property_list *list = this->local;
int i = 0;
for ( i = 0; i < list->count; i ++ )
if ( mlt_properties_get( this, list->name[ i ] ) != NULL )
{
if ( this != NULL )
{
- property_list *list = this->private;
+ property_list *list = this->local;
int index = 0;
// Clean up names and values
struct mlt_properties_s
{
void *child;
- void *private;
+ void *local;
};
/** Public interface.
extern int mlt_properties_init( mlt_properties, void *child );
extern mlt_properties mlt_properties_new( );
extern mlt_properties mlt_properties_load( char *file );
-extern void mlt_properties_mirror( mlt_properties this, mlt_properties that );
-extern int mlt_properties_inherit( mlt_properties this, mlt_properties that );
-extern int mlt_properties_pass( mlt_properties this, mlt_properties that, char *prefix );
-extern int mlt_properties_set( mlt_properties this, char *name, char *value );
-extern int mlt_properties_set_or_default( mlt_properties this, char *name, char *value, char *def );
-extern int mlt_properties_parse( mlt_properties this, char *namevalue );
-extern char *mlt_properties_get( mlt_properties this, char *name );
-extern char *mlt_properties_get_name( mlt_properties this, int index );
-extern char *mlt_properties_get_value( mlt_properties this, int index );
-extern void *mlt_properties_get_data_at( mlt_properties this, int index, int *size );
-extern int mlt_properties_get_int( mlt_properties this, char *name );
-extern int mlt_properties_set_int( mlt_properties this, char *name, int value );
-extern double mlt_properties_get_double( mlt_properties this, char *name );
-extern int mlt_properties_set_double( mlt_properties this, char *name, double value );
-extern mlt_position mlt_properties_get_position( mlt_properties this, char *name );
-extern int mlt_properties_set_position( mlt_properties this, char *name, mlt_position value );
-extern int mlt_properties_set_data( mlt_properties this, char *name, void *value, int length, mlt_destructor, mlt_serialiser );
-extern void *mlt_properties_get_data( mlt_properties this, char *name, int *length );
-extern int mlt_properties_rename( mlt_properties this, char *source, char *dest );
-extern int mlt_properties_count( mlt_properties this );
-extern void mlt_properties_dump( mlt_properties this, FILE *output );
-extern void mlt_properties_close( mlt_properties this );
+extern void mlt_properties_mirror( mlt_properties self, mlt_properties that );
+extern int mlt_properties_inherit( mlt_properties self, mlt_properties that );
+extern int mlt_properties_pass( mlt_properties self, mlt_properties that, char *prefix );
+extern int mlt_properties_set( mlt_properties self, char *name, char *value );
+extern int mlt_properties_set_or_default( mlt_properties self, char *name, char *value, char *def );
+extern int mlt_properties_parse( mlt_properties self, char *namevalue );
+extern char *mlt_properties_get( mlt_properties self, char *name );
+extern char *mlt_properties_get_name( mlt_properties self, int index );
+extern char *mlt_properties_get_value( mlt_properties self, int index );
+extern void *mlt_properties_get_data_at( mlt_properties self, int index, int *size );
+extern int mlt_properties_get_int( mlt_properties self, char *name );
+extern int mlt_properties_set_int( mlt_properties self, char *name, int value );
+extern double mlt_properties_get_double( mlt_properties self, char *name );
+extern int mlt_properties_set_double( mlt_properties self, char *name, double value );
+extern mlt_position mlt_properties_get_position( mlt_properties self, char *name );
+extern int mlt_properties_set_position( mlt_properties self, char *name, mlt_position value );
+extern int mlt_properties_set_data( mlt_properties self, char *name, void *value, int length, mlt_destructor, mlt_serialiser );
+extern void *mlt_properties_get_data( mlt_properties self, char *name, int *length );
+extern int mlt_properties_rename( mlt_properties self, char *source, char *dest );
+extern int mlt_properties_count( mlt_properties self );
+extern void mlt_properties_dump( mlt_properties self, FILE *output );
+extern void mlt_properties_close( mlt_properties self );
#endif
*/
extern mlt_property mlt_property_init( );
-extern int mlt_property_set_int( mlt_property this, int value );
-extern int mlt_property_set_double( mlt_property this, double value );
-extern int mlt_property_set_position( mlt_property this, mlt_position value );
-extern int mlt_property_set_uint64( mlt_property this, uint64_t value );
-extern int mlt_property_set_string( mlt_property this, char *value );
-extern int mlt_property_set_data( mlt_property this, void *value, int length, mlt_destructor destructor, mlt_serialiser serialiser );
-extern int mlt_property_get_int( mlt_property this );
-extern double mlt_property_get_double( mlt_property this );
-extern mlt_position mlt_property_get_position( mlt_property this );
-extern int64_t mlt_property_get_int64( mlt_property this );
-extern char *mlt_property_get_string( mlt_property this );
-extern void *mlt_property_get_data( mlt_property this, int *length );
-extern void mlt_property_close( mlt_property this );
+extern int mlt_property_set_int( mlt_property self, int value );
+extern int mlt_property_set_double( mlt_property self, double value );
+extern int mlt_property_set_position( mlt_property self, mlt_position value );
+extern int mlt_property_set_uint64( mlt_property self, uint64_t value );
+extern int mlt_property_set_string( mlt_property self, char *value );
+extern int mlt_property_set_data( mlt_property self, void *value, int length, mlt_destructor destructor, mlt_serialiser serialiser );
+extern int mlt_property_get_int( mlt_property self );
+extern double mlt_property_get_double( mlt_property self );
+extern mlt_position mlt_property_get_position( mlt_property self );
+extern int64_t mlt_property_get_int64( mlt_property self );
+extern char *mlt_property_get_string( mlt_property self );
+extern void *mlt_property_get_data( mlt_property self, int *length );
+extern void mlt_property_close( mlt_property self );
#endif
*/
extern mlt_repository mlt_repository_init( mlt_properties object_list, char *prefix, char *file, char *symbol );
-extern void *mlt_repository_fetch( mlt_repository this, char *service, void *input );
-extern void mlt_repository_close( mlt_repository this );
+extern void *mlt_repository_fetch( mlt_repository self, char *service, void *input );
+extern void mlt_repository_close( mlt_repository self );
#endif
// Assign the child
this->child = child;
- // Generate private space
- this->private = calloc( sizeof( mlt_service_base ), 1 );
+ // Generate local space
+ this->local = calloc( sizeof( mlt_service_base ), 1 );
// Associate the methods
this->get_frame = service_get_frame;
int i = 0;
// Get the service base
- mlt_service_base *base = this->private;
+ mlt_service_base *base = this->local;
// Check if the producer is already registered with this service
for ( i = 0; i < base->count; i ++ )
static void mlt_service_disconnect( mlt_service this )
{
// Get the service base
- mlt_service_base *base = this->private;
+ mlt_service_base *base = this->local;
// There's a bit more required here...
base->out = NULL;
static void mlt_service_connect( mlt_service this, mlt_service that )
{
// Get the service base
- mlt_service_base *base = this->private;
+ mlt_service_base *base = this->local;
// There's a bit more required here...
base->out = that;
mlt_service producer = NULL;
// Get the service base
- mlt_service_base *base = this->private;
+ mlt_service_base *base = this->local;
if ( base->in != NULL )
producer = base->in[ 0 ];
static int service_get_frame( mlt_service this, mlt_frame_ptr frame, int index )
{
- mlt_service_base *base = this->private;
+ mlt_service_base *base = this->local;
if ( index < base->count )
{
mlt_service producer = base->in[ index ];
void mlt_service_close( mlt_service this )
{
- mlt_service_base *base = this->private;
+ mlt_service_base *base = this->local;
free( base->in );
free( base );
mlt_properties_close( &this->parent );
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
+ * along with self program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
struct mlt_properties_s parent;
// Protected virtual
- int ( *get_frame )( mlt_service this, mlt_frame_ptr frame, int index );
+ int ( *get_frame )( mlt_service self, mlt_frame_ptr frame, int index );
// Private data
- void *private;
+ void *local;
void *child;
};
/** The public API.
*/
-extern int mlt_service_init( mlt_service this, void *child );
-extern int mlt_service_connect_producer( mlt_service this, mlt_service producer, int index );
-extern int mlt_service_get_frame( mlt_service this, mlt_frame_ptr frame, int index );
-extern void mlt_service_close( mlt_service this );
+extern int mlt_service_init( mlt_service self, void *child );
+extern int mlt_service_connect_producer( mlt_service self, mlt_service producer, int index );
+extern int mlt_service_get_frame( mlt_service self, mlt_frame_ptr frame, int index );
+extern void mlt_service_close( mlt_service self );
-// I'm not sure about this one - leaving it out of docs for now (only used in consumer_westley)
-extern mlt_service mlt_service_get_producer( mlt_service this );
+// I'm not sure about self one - leaving it out of docs for now (only used in consumer_westley)
+extern mlt_service mlt_service_get_producer( mlt_service self );
/** Return the properties object.
*/
-static inline mlt_properties mlt_service_properties( mlt_service this )
+static inline mlt_properties mlt_service_properties( mlt_service self )
{
- return &this->parent;
+ return &self->parent;
}
#endif
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#ifndef _VALERIE_TOKENISER_H_
-#define _VALERIE_TOKENISER_H_
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
+#ifndef _MLT_TOKENISER_H_
+#define _MLT_TOKENISER_H_
/** Structure for tokeniser.
*/
*/
extern mlt_tokeniser mlt_tokeniser_init( );
-extern int mlt_tokeniser_parse_new( mlt_tokeniser, char *, char * );
-extern char *mlt_tokeniser_get_input( mlt_tokeniser );
-extern int mlt_tokeniser_count( mlt_tokeniser );
-extern char *mlt_tokeniser_get_string( mlt_tokeniser, int );
-extern void mlt_tokeniser_close( mlt_tokeniser );
-
-#ifdef __cplusplus
-}
-#endif
+extern int mlt_tokeniser_parse_new( mlt_tokeniser self, char *text, char *delimiter );
+extern char *mlt_tokeniser_get_input( mlt_tokeniser self );
+extern int mlt_tokeniser_count( mlt_tokeniser self );
+extern char *mlt_tokeniser_get_string( mlt_tokeniser self, int index );
+extern void mlt_tokeniser_close( mlt_tokeniser self );
#endif
#include "mlt_producer.h"
extern mlt_tractor mlt_tractor_init( );
-extern mlt_service mlt_tractor_service( mlt_tractor this );
-extern mlt_producer mlt_tractor_producer( mlt_tractor this );
-extern mlt_properties mlt_tractor_properties( mlt_tractor this );
-extern int mlt_tractor_connect( mlt_tractor this, mlt_service service );
-extern void mlt_tractor_close( mlt_tractor this );
+extern mlt_service mlt_tractor_service( mlt_tractor self );
+extern mlt_producer mlt_tractor_producer( mlt_tractor self );
+extern mlt_properties mlt_tractor_properties( mlt_tractor self );
+extern int mlt_tractor_connect( mlt_tractor self, mlt_service service );
+extern void mlt_tractor_close( mlt_tractor self );
#endif
/** Public final methods
*/
-extern int mlt_transition_init( mlt_transition this, void *child );
+extern int mlt_transition_init( mlt_transition self, void *child );
extern mlt_transition mlt_transition_new( );
-extern mlt_service mlt_transition_service( mlt_transition this );
-extern mlt_properties mlt_transition_properties( mlt_transition this );
-extern int mlt_transition_connect( mlt_transition this, mlt_service producer, int a_track, int b_track );
-extern void mlt_transition_set_in_and_out( mlt_transition this, mlt_position in, mlt_position out );
-extern int mlt_transition_get_a_track( mlt_transition this );
-extern int mlt_transition_get_b_track( mlt_transition this );
-extern mlt_position mlt_transition_get_in( mlt_transition this );
-extern mlt_position mlt_transition_get_out( mlt_transition this );
-extern mlt_frame mlt_transition_process( mlt_transition this, mlt_frame a_frame, mlt_frame b_frame );
-extern void mlt_transition_close( mlt_transition this );
+extern mlt_service mlt_transition_service( mlt_transition self );
+extern mlt_properties mlt_transition_properties( mlt_transition self );
+extern int mlt_transition_connect( mlt_transition self, mlt_service producer, int a_track, int b_track );
+extern void mlt_transition_set_in_and_out( mlt_transition self, mlt_position in, mlt_position out );
+extern int mlt_transition_get_a_track( mlt_transition self );
+extern int mlt_transition_get_b_track( mlt_transition self );
+extern mlt_position mlt_transition_get_in( mlt_transition self );
+extern mlt_position mlt_transition_get_out( mlt_transition self );
+extern mlt_frame mlt_transition_process( mlt_transition self, mlt_frame a_frame, mlt_frame b_frame );
+extern void mlt_transition_close( mlt_transition self );
#endif