if ( mlt_properties_get_int( properties, "progressive" ) == 0 &&
mlt_properties_get_int( properties, "deinterlace" ) == 0 )
{
- if ( mlt_properties_get_int( properties, "ildct" ) )
+ if ( ! mlt_properties_get( properties, "ildct" ) || mlt_properties_get_int( properties, "ildct" ) )
c->flags |= CODEC_FLAG_INTERLACED_DCT;
- if ( mlt_properties_get_int( properties, "ilme" ) )
+ if ( ! mlt_properties_get( properties, "ilme" ) || mlt_properties_get_int( properties, "ilme" ) )
c->flags |= CODEC_FLAG_INTERLACED_ME;
}
// Determine the format
AVOutputFormat *fmt = NULL;
- char *filename = mlt_properties_get( properties, "target" );
+ const char *filename = mlt_properties_get( properties, "target" );
char *format = mlt_properties_get( properties, "f" );
char *vcodec = mlt_properties_get( properties, "vcodec" );
char *acodec = mlt_properties_get( properties, "acodec" );
// Remove the x264 dual pass logs
char *cwd = getcwd( NULL, 0 );
- char *file = "x264_2pass.log";
+ const char *file = "x264_2pass.log";
char *full = malloc( strlen( cwd ) + strlen( file ) + 2 );
sprintf( full, "%s/%s", cwd, file );
remove( full );
#define STACK_SIZE 1000
#define BRANCH_SIG_LEN 4000
- #define _x (xmlChar*)
- #define _s (char*)
+ #define _x (const xmlChar*)
+ #define _s (const char*)
#undef DEBUG
#ifdef DEBUG
// Prepend the property value with the document root
- static inline void qualify_property( deserialise_context context, mlt_properties properties, char *name )
+ static inline void qualify_property( deserialise_context context, mlt_properties properties, const char *name )
{
char *resource = mlt_properties_get( properties, name );
- if ( resource != NULL )
+ if ( resource != NULL && resource[0] )
{
// Qualify file name properties
char *root = mlt_properties_get( context->producer_map, "root" );
track_service( context->destructors, service, (mlt_destructor) mlt_tractor_close );
for ( ; atts != NULL && *atts != NULL; atts += 2 )
- mlt_properties_set( MLT_SERVICE_PROPERTIES( service ), (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
+ mlt_properties_set( MLT_SERVICE_PROPERTIES( service ), (const char*) atts[0], atts[1] == NULL ? "" : (const char*) atts[1] );
mlt_properties_set_int( MLT_TRACTOR_PROPERTIES( tractor ), "global_feed", 1 );
mlt_service service = MLT_SERVICE( mlt_tractor_multitrack( MLT_TRACTOR( parent ) ) );
mlt_properties properties = MLT_SERVICE_PROPERTIES( service );
for ( ; atts != NULL && *atts != NULL; atts += 2 )
- mlt_properties_set( properties, (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
+ mlt_properties_set( properties, (const char*) atts[0], atts[1] == NULL ? "" : (const char*) atts[1] );
if ( mlt_properties_get( properties, "id" ) != NULL )
mlt_properties_set_data( context->producer_map, mlt_properties_get( properties,"id" ), service, 0, NULL, NULL );
for ( ; atts != NULL && *atts != NULL; atts += 2 )
{
- mlt_properties_set( properties, (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
+ mlt_properties_set( properties, (const char*) atts[0], atts[1] == NULL ? "" : (const char*) atts[1] );
// Out will be overwritten later as we append, so we need to save it
if ( xmlStrcmp( atts[ 0 ], _x("out") ) == 0 )
- mlt_properties_set( properties, "_westley.out", ( char* )atts[ 1 ] );
+ mlt_properties_set( properties, "_westley.out", ( const char* )atts[ 1 ] );
}
if ( mlt_properties_get( properties, "id" ) != NULL )
context_push_service( context, service, mlt_dummy_producer_type );
for ( ; atts != NULL && *atts != NULL; atts += 2 )
- mlt_properties_set( properties, (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
+ mlt_properties_set( properties, (const char*) atts[0], atts[1] == NULL ? "" : (const char*) atts[1] );
}
// Parse a SMIL clock value (as produced by Kino 0.9.1) and return position in frames
for ( ; atts != NULL && *atts != NULL; atts += 2 )
{
- mlt_properties_set( temp, (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
+ mlt_properties_set( temp, (const char*) atts[0], atts[1] == NULL ? "" : (const char*) atts[1] );
// Look for the producer attribute
if ( xmlStrcmp( atts[ 0 ], _x("producer") ) == 0 )
{
- mlt_producer producer = mlt_properties_get_data( context->producer_map, (char*) atts[1], NULL );
+ mlt_producer producer = mlt_properties_get_data( context->producer_map, (const char*) atts[1], NULL );
if ( producer != NULL )
mlt_properties_set_data( temp, "producer", producer, 0, NULL, NULL );
}
for ( ; atts != NULL && *atts != NULL; atts += 2 )
{
- mlt_properties_set( MLT_SERVICE_PROPERTIES( service ), (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
+ mlt_properties_set( MLT_SERVICE_PROPERTIES( service ), (const char*) atts[0], atts[1] == NULL ? "" : (const char*) atts[1] );
// Look for the producer attribute
if ( xmlStrcmp( atts[ 0 ], _x("producer") ) == 0 )
{
- mlt_producer producer = mlt_properties_get_data( context->producer_map, (char*) atts[1], NULL );
+ mlt_producer producer = mlt_properties_get_data( context->producer_map, (const char*) atts[1], NULL );
if ( producer != NULL )
mlt_properties_set_data( MLT_SERVICE_PROPERTIES( service ), "producer", producer, 0, NULL, NULL );
}
// Set the properties
for ( ; atts != NULL && *atts != NULL; atts += 2 )
- mlt_properties_set( properties, (char*) atts[0], (char*) atts[1] );
+ mlt_properties_set( properties, (const char*) atts[0], (const char*) atts[1] );
}
static void on_end_filter( deserialise_context context, const xmlChar *name )
// Set the properties
for ( ; atts != NULL && *atts != NULL; atts += 2 )
- mlt_properties_set( properties, (char*) atts[0], (char*) atts[1] );
+ mlt_properties_set( properties, (const char*) atts[0], (const char*) atts[1] );
}
static void on_end_transition( deserialise_context context, const xmlChar *name )
enum service_type type;
mlt_service service = context_pop_service( context, &type );
mlt_properties properties = MLT_SERVICE_PROPERTIES( service );
- char *value = NULL;
+ const char *value = NULL;
if ( service != NULL )
{
}
else
{
- fprintf( stderr, "Property without a service '%s'?\n", ( char * )name );
+ fprintf( stderr, "Property without a service '%s'?\n", ( const char * )name );
}
}
}
else
{
- fprintf( stderr, "Property without a service '%s'??\n", (char *)name );
+ fprintf( stderr, "Property without a service '%s'??\n", (const char *)name );
}
}
on_start_property( context, name, atts );
else if ( xmlStrcmp( name, _x("westley") ) == 0 )
for ( ; atts != NULL && *atts != NULL; atts += 2 )
- mlt_properties_set( context->producer_map, ( char * )atts[ 0 ], ( char * )atts[ 1 ] );
+ mlt_properties_set( context->producer_map, ( const char * )atts[ 0 ], ( const char * )atts[ 1 ] );
}
static void on_end_element( void *ctx, const xmlChar *name )