pthread_t cmd_parse_info;
connection_t *tmp = NULL;
pthread_attr_t thread_attributes;
- int socksize;
+ socklen_t socksize;
socksize = sizeof( struct sockaddr );
else if ( clip >= mlt_playlist_count( playlist ) )
{
clip = mlt_playlist_count( playlist ) - 1;
- position = LONG_MAX;
+ position = INT_MAX;
}
if ( mlt_playlist_get_clip_info( playlist, &info, clip ) == 0 )
void avformat_destroy( void *ignore )
{
// Clean up
- av_free_static( );
+ // av_free_static( ); -XXX this is deprecated
// Destroy the mutex
pthread_mutex_destroy( &avformat_mutex );
double scale_y,
PixopsInterpType interp_type )
{
- PixopsFilter filter;
+ PixopsFilter filter = { { 0, 0, 0}, { 0, 0, 0 }, 0 };
PixopsLineFunc line_func;
#ifdef USE_MMX
#include <freetype/freetype.h>
#include <iconv.h>
#include <pthread.h>
+#include <ctype.h>
static pthread_mutex_t pango_mutex = PTHREAD_MUTEX_INITIALIZER;
#ifndef _
#define _(x) x
#endif
+#define _x (xmlChar*)
+#define _s (char*)
jack_rack_t *
jack_rack_new (const char * client_name, unsigned long channels)
for (node = plugin->children; node; node = node->next)
{
- if (strcmp (node->name, "id") == 0)
+ if (xmlStrcmp (node->name, _x("id")) == 0)
{
content = xmlNodeGetContent (node);
- num = strtoul (content, NULL, 10);
+ num = strtoul (_s(content), NULL, 10);
xmlFree (content);
desc = plugin_mgr_get_any_desc (jack_rack->plugin_mgr, num);
settings = settings_new (desc, saved_rack->channels, saved_rack->sample_rate);
}
- else if (strcmp (node->name, "enabled") == 0)
+ else if (xmlStrcmp (node->name, _x("enabled")) == 0)
{
content = xmlNodeGetContent (node);
- settings_set_enabled (settings, strcmp (content, "true") == 0 ? TRUE : FALSE);
+ settings_set_enabled (settings, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
xmlFree (content);
}
- else if (strcmp (node->name, "wet_dry_enabled") == 0)
+ else if (xmlStrcmp (node->name, _x("wet_dry_enabled")) == 0)
{
content = xmlNodeGetContent (node);
- settings_set_wet_dry_enabled (settings, strcmp (content, "true") == 0 ? TRUE : FALSE);
+ settings_set_wet_dry_enabled (settings, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
xmlFree (content);
}
- else if (strcmp (node->name, "wet_dry_locked") == 0)
+ else if (xmlStrcmp (node->name, _x("wet_dry_locked")) == 0)
{
content = xmlNodeGetContent (node);
- settings_set_wet_dry_locked (settings, strcmp (content, "true") == 0 ? TRUE : FALSE);
+ settings_set_wet_dry_locked (settings, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
xmlFree (content);
}
- else if (strcmp (node->name, "wet_dry_values") == 0)
+ else if (xmlStrcmp (node->name, _x("wet_dry_values")) == 0)
{
unsigned long channel = 0;
for (sub_node = node->children; sub_node; sub_node = sub_node->next)
{
- if (strcmp (sub_node->name, "value") == 0)
+ if (xmlStrcmp (sub_node->name, _x("value")) == 0)
{
content = xmlNodeGetContent (sub_node);
- settings_set_wet_dry_value (settings, channel, strtod (content, NULL));
+ settings_set_wet_dry_value (settings, channel, strtod (_s(content), NULL));
xmlFree (content);
channel++;
}
}
}
- else if (strcmp (node->name, "lockall") == 0)
+ else if (xmlStrcmp (node->name, _x("lockall")) == 0)
{
content = xmlNodeGetContent (node);
- settings_set_lock_all (settings, strcmp (content, "true") == 0 ? TRUE : FALSE);
+ settings_set_lock_all (settings, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
xmlFree (content);
}
- else if (strcmp (node->name, "controlrow") == 0)
+ else if (xmlStrcmp (node->name, _x("controlrow")) == 0)
{
gint copy = 0;
for (sub_node = node->children; sub_node; sub_node = sub_node->next)
{
- if (strcmp (sub_node->name, "lock") == 0)
+ if (xmlStrcmp (sub_node->name, _x("lock")) == 0)
{
content = xmlNodeGetContent (sub_node);
- settings_set_lock (settings, control, strcmp (content, "true") == 0 ? TRUE : FALSE);
+ settings_set_lock (settings, control, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
xmlFree (content);
}
- else if (strcmp (sub_node->name, "value") == 0)
+ else if (xmlStrcmp (sub_node->name, _x("value")) == 0)
{
content = xmlNodeGetContent (sub_node);
- settings_set_control_value (settings, copy, control, strtod (content, NULL));
+ settings_set_control_value (settings, copy, control, strtod (_s(content), NULL));
xmlFree (content);
copy++;
}
for (node = jackrack->children; node; node = node->next)
{
- if (strcmp (node->name, "channels") == 0)
+ if (xmlStrcmp (node->name, _x("channels")) == 0)
{
content = xmlNodeGetContent (node);
- saved_rack->channels = strtoul (content, NULL, 10);
+ saved_rack->channels = strtoul (_s(content), NULL, 10);
xmlFree (content);
}
- else if (strcmp (node->name, "samplerate") == 0)
+ else if (xmlStrcmp (node->name, _x("samplerate")) == 0)
{
content = xmlNodeGetContent (node);
- saved_rack->sample_rate = strtoul (content, NULL, 10);
+ saved_rack->sample_rate = strtoul (_s(content), NULL, 10);
xmlFree (content);
}
- else if (strcmp (node->name, "plugin") == 0)
+ else if (xmlStrcmp (node->name, _x("plugin")) == 0)
{
saved_plugin = g_malloc0 (sizeof (saved_plugin_t));
saved_rack->plugins = g_slist_append (saved_rack->plugins, saved_plugin);
for (node = doc->children; node; node = node->next)
{
- if (strcmp (node->name, "jackrack") == 0)
+ if (xmlStrcmp (node->name, _x("jackrack")) == 0)
saved_rack_parse_jackrack (jack_rack, saved_rack, filename, node);
}
return 1;
}
- if (strcmp ( ((xmlDtdPtr)doc->children)->name, "jackrack") != 0)
+ if (xmlStrcmp ( ((xmlDtdPtr)doc->children)->name, _x("jackrack")) != 0)
{
fprintf (stderr, _("The file '%s' is not a JACK Rack settings file\n"), filename);
return 1;
gboolean
settings_get_lock (const settings_t * settings, unsigned long control_index)
{
- g_return_if_fail (settings != NULL);
+ g_return_val_if_fail (settings != NULL, FALSE);
return settings->locks[control_index];
}
gboolean
settings_get_lock_all (const settings_t * settings)
{
- g_return_if_fail (settings != NULL);
+ g_return_val_if_fail (settings != NULL, FALSE);
return settings->lock_all;
}
gboolean
settings_get_enabled (const settings_t * settings)
{
- g_return_if_fail (settings != NULL);
+ g_return_val_if_fail (settings != NULL, FALSE);
return settings->enabled;
}
guint
settings_get_copies (const settings_t * settings)
{
- g_return_if_fail (settings != NULL);
+ g_return_val_if_fail (settings != NULL, 0);
return settings->copies;
}
unsigned long
settings_get_channels (const settings_t * settings)
{
- g_return_if_fail (settings != NULL);
+ g_return_val_if_fail (settings != NULL, 0);
return settings->channels;
}
gboolean
settings_get_wet_dry_enabled (const settings_t * settings)
{
- g_return_if_fail (settings != NULL);
+ g_return_val_if_fail (settings != NULL, FALSE);
return settings->wet_dry_enabled;
}
gboolean
settings_get_wet_dry_locked (const settings_t * settings)
{
- g_return_if_fail (settings != NULL);
+ g_return_val_if_fail (settings != NULL, FALSE);
return settings->wet_dry_locked;
}
LADSPA_Data
settings_get_wet_dry_value (settings_t * settings, unsigned long channel)
{
- g_return_if_fail (settings != NULL);
+ g_return_val_if_fail (settings != NULL, NAN);
if (channel >= settings->channels)
settings_set_channels (settings, channel + 1);
int deformY = mlt_properties_get_int( MLT_FRAME_PROPERTIES( this ), "deformY" );
if (factor != 0) {
int image_size = *width * (*height + 1) * 2;
- int8_t *dest = mlt_pool_alloc (image_size);
+ uint8_t *dest = mlt_pool_alloc (image_size);
DoWave(*image, *width, (*height + 1), dest, position, speed, factor, deformX, deformY);
memcpy(*image, dest, image_size);
mlt_pool_release(dest);
if ( dx >= 0 && dx < b_width && dy >=0 && dy < b_height )
{
- *pmask ++;
+ pmask ++;
dx -= dx & 1;
*p ++ = *( b_image + dy * b_stride + ( dx << 1 ) );
*p ++ = *( b_image + dy * b_stride + ( dx << 1 ) + ( ( x & 1 ) << 1 ) + 1 );
while ( size -- )
{
*alpha = alpha_value( *alpha, p, u, v, variance, 0 );
- *alpha ++;
+ alpha ++;
*alpha = alpha_value( *alpha, p, u, v, variance, 1 );
alpha ++;
p += 4;
// System header files
#include <stdlib.h>
#include <string.h>
+#include <ctype.h>
// Forward references.
static int producer_open( mlt_producer this, char *file );
#define ID_SIZE 128
+#define _x (xmlChar*)
+#define _s (char*)
+
// This maintains counters for adding ids to elements
struct serialise_context_s
{
char *value = mlt_properties_get_value( properties, i );
if ( strcmp( context->root, "" ) && !strncmp( value, context->root, strlen( context->root ) ) )
value += strlen( context->root ) + 1;
- p = xmlNewTextChild( node, NULL, "property", value );
- xmlNewProp( p, "name", name );
+ p = xmlNewTextChild( node, NULL, _x("property"), _x(value) );
+ xmlNewProp( p, _x("name"), _x(name) );
}
}
}
{
if ( strcmp( context->root, "" ) && !strncmp( value, context->root, strlen( context->root ) ) )
value += strlen( context->root ) + 1;
- p = xmlNewTextChild( node, NULL, "property", value );
- xmlNewProp( p, "name", name );
+ p = xmlNewTextChild( node, NULL, _x("property"), _x(value) );
+ xmlNewProp( p, _x("name"), _x(name) );
}
}
}
{
int in = mlt_properties_get_position( properties, "in" );
int out = mlt_properties_get_position( properties, "out" );
- p = xmlNewChild( node, NULL, "filter", NULL );
- xmlNewProp( p, "id", id );
+ p = xmlNewChild( node, NULL, _x("filter"), NULL );
+ xmlNewProp( p, _x("id"), _x(id) );
if ( mlt_properties_get( properties, "title" ) )
- xmlNewProp( p, "title", mlt_properties_get( properties, "title" ) );
+ xmlNewProp( p, _x("title"), _x(mlt_properties_get( properties, "title" )) );
if ( in != 0 || out != 0 )
{
char temp[ 20 ];
sprintf( temp, "%d", in );
- xmlNewProp( p, "in", temp );
+ xmlNewProp( p, _x("in"), _x(temp) );
sprintf( temp, "%d", out );
- xmlNewProp( p, "out", temp );
+ xmlNewProp( p, _x("out"), _x(temp) );
}
serialise_properties( context, properties, p );
serialise_service_filters( context, MLT_FILTER_SERVICE( filter ), p );
if ( id == NULL )
return;
- child = xmlNewChild( node, NULL, "producer", NULL );
+ child = xmlNewChild( node, NULL, _x("producer"), NULL );
// Set the id
- xmlNewProp( child, "id", id );
+ xmlNewProp( child, _x("id"), _x(id) );
if ( mlt_properties_get( properties, "title" ) )
- xmlNewProp( child, "title", mlt_properties_get( properties, "title" ) );
- xmlNewProp( child, "in", mlt_properties_get( properties, "in" ) );
- xmlNewProp( child, "out", mlt_properties_get( properties, "out" ) );
+ xmlNewProp( child, _x("title"), _x(mlt_properties_get( properties, "title" )) );
+ xmlNewProp( child, _x("in"), _x(mlt_properties_get( properties, "in" )) );
+ xmlNewProp( child, _x("out"), _x(mlt_properties_get( properties, "out" )) );
serialise_properties( context, properties, child );
serialise_service_filters( context, service, child );
{
char *id = westley_get_id( context, parent, westley_existing );
mlt_properties properties = MLT_SERVICE_PROPERTIES( service );
- xmlNewProp( node, "parent", id );
- xmlNewProp( node, "in", mlt_properties_get( properties, "in" ) );
- xmlNewProp( node, "out", mlt_properties_get( properties, "out" ) );
+ xmlNewProp( node, _x("parent"), _x(id) );
+ xmlNewProp( node, _x("in"), _x(mlt_properties_get( properties, "in" )) );
+ xmlNewProp( node, _x("out"), _x(mlt_properties_get( properties, "out" )) );
}
}
// Serialise the tracks
for ( i = 0; i < mlt_multitrack_count( MLT_MULTITRACK( service ) ); i++ )
{
- xmlNode *track = xmlNewChild( node, NULL, "track", NULL );
+ xmlNode *track = xmlNewChild( node, NULL, _x("track"), NULL );
int hide = 0;
mlt_producer producer = mlt_multitrack_track( MLT_MULTITRACK( service ), i );
mlt_properties properties = MLT_PRODUCER_PROPERTIES( producer );
mlt_service parent = MLT_SERVICE( mlt_producer_cut_parent( producer ) );
char *id = westley_get_id( context, MLT_SERVICE( parent ), westley_existing );
- xmlNewProp( track, "producer", id );
+ xmlNewProp( track, _x("producer"), _x(id) );
if ( mlt_producer_is_cut( producer ) )
{
- xmlNewProp( track, "in", mlt_properties_get( properties, "in" ) );
- xmlNewProp( track, "out", mlt_properties_get( properties, "out" ) );
+ xmlNewProp( track, _x("in"), _x(mlt_properties_get( properties, "in" )) );
+ xmlNewProp( track, _x("out"), _x(mlt_properties_get( properties, "out" )) );
serialise_store_properties( context, MLT_PRODUCER_PROPERTIES( producer ), track, context->store );
serialise_store_properties( context, MLT_PRODUCER_PROPERTIES( producer ), track, "meta." );
serialise_service_filters( context, MLT_PRODUCER_SERVICE( producer ), track );
hide = mlt_properties_get_int( context->hide_map, id );
if ( hide )
- xmlNewProp( track, "hide", hide == 1 ? "video" : ( hide == 2 ? "audio" : "both" ) );
+ xmlNewProp( track, _x("hide"), _x( hide == 1 ? "video" : ( hide == 2 ? "audio" : "both" ) ) );
}
serialise_service_filters( context, service, node );
}
}
}
- child = xmlNewChild( node, NULL, "playlist", NULL );
+ child = xmlNewChild( node, NULL, _x("playlist"), NULL );
// Set the id
- xmlNewProp( child, "id", id );
+ xmlNewProp( child, _x("id"), _x(id) );
if ( mlt_properties_get( properties, "title" ) )
- xmlNewProp( child, "title", mlt_properties_get( properties, "title" ) );
+ xmlNewProp( child, _x("title"), _x(mlt_properties_get( properties, "title" )) );
// Store application specific properties
serialise_store_properties( context, properties, child, context->store );
{
char length[ 20 ];
length[ 19 ] = '\0';
- xmlNode *entry = xmlNewChild( child, NULL, "blank", NULL );
+ xmlNode *entry = xmlNewChild( child, NULL, _x("blank"), NULL );
snprintf( length, 19, "%d", (int)info.frame_count );
- xmlNewProp( entry, "length", length );
+ xmlNewProp( entry, _x("length"), _x(length) );
}
else
{
char temp[ 20 ];
- xmlNode *entry = xmlNewChild( child, NULL, "entry", NULL );
+ xmlNode *entry = xmlNewChild( child, NULL, _x("entry"), NULL );
id = westley_get_id( context, MLT_SERVICE( producer ), westley_existing );
- xmlNewProp( entry, "producer", id );
+ xmlNewProp( entry, _x("producer"), _x(id) );
sprintf( temp, "%d", (int)info.frame_in );
- xmlNewProp( entry, "in", temp );
+ xmlNewProp( entry, _x("in"), _x(temp) );
sprintf( temp, "%d", (int)info.frame_out );
- xmlNewProp( entry, "out", temp );
+ xmlNewProp( entry, _x("out"), _x(temp) );
if ( info.repeat > 1 )
{
sprintf( temp, "%d", info.repeat );
- xmlNewProp( entry, "repeat", temp );
+ xmlNewProp( entry, _x("repeat"), _x(temp) );
}
if ( mlt_producer_is_cut( info.cut ) )
{
serialise_service_filters( context, service, child );
}
- else if ( strcmp( (const char*) node->name, "tractor" ) != 0 )
+ else if ( xmlStrcmp( node->name, _x("tractor") ) != 0 )
{
char *id = westley_get_id( context, service, westley_existing );
- xmlNewProp( node, "producer", id );
+ xmlNewProp( node, _x("producer"), _x(id) );
}
}
if ( id == NULL )
return;
- child = xmlNewChild( node, NULL, "tractor", NULL );
+ child = xmlNewChild( node, NULL, _x("tractor"), NULL );
// Set the id
- xmlNewProp( child, "id", id );
+ xmlNewProp( child, _x("id"), _x(id) );
if ( mlt_properties_get( properties, "title" ) )
- xmlNewProp( child, "title", mlt_properties_get( properties, "title" ) );
+ xmlNewProp( child, _x("title"), _x(mlt_properties_get( properties, "title" )) );
if ( mlt_properties_get( properties, "global_feed" ) )
- xmlNewProp( child, "global_feed", mlt_properties_get( properties, "global_feed" ) );
- xmlNewProp( child, "in", mlt_properties_get( properties, "in" ) );
- xmlNewProp( child, "out", mlt_properties_get( properties, "out" ) );
+ xmlNewProp( child, _x("global_feed"), _x(mlt_properties_get( properties, "global_feed" )) );
+ xmlNewProp( child, _x("in"), _x(mlt_properties_get( properties, "in" )) );
+ xmlNewProp( child, _x("out"), _x(mlt_properties_get( properties, "out" )) );
// Store application specific properties
serialise_store_properties( context, MLT_SERVICE_PROPERTIES( service ), child, context->store );
if ( id == NULL )
return;
- child = xmlNewChild( node, NULL, "filter", NULL );
+ child = xmlNewChild( node, NULL, _x("filter"), NULL );
// Set the id
- xmlNewProp( child, "id", id );
+ xmlNewProp( child, _x("id"), _x(id) );
if ( mlt_properties_get( properties, "title" ) )
- xmlNewProp( child, "title", mlt_properties_get( properties, "title" ) );
- xmlNewProp( child, "in", mlt_properties_get( properties, "in" ) );
- xmlNewProp( child, "out", mlt_properties_get( properties, "out" ) );
+ xmlNewProp( child, _x("title"), _x(mlt_properties_get( properties, "title" )) );
+ xmlNewProp( child, _x("in"), _x(mlt_properties_get( properties, "in" )) );
+ xmlNewProp( child, _x("out"), _x(mlt_properties_get( properties, "out" )) );
serialise_properties( context, properties, child );
serialise_service_filters( context, service, child );
if ( id == NULL )
return;
- child = xmlNewChild( node, NULL, "transition", NULL );
+ child = xmlNewChild( node, NULL, _x("transition"), NULL );
// Set the id
- xmlNewProp( child, "id", id );
+ xmlNewProp( child, _x("id"), _x(id) );
if ( mlt_properties_get( properties, "title" ) )
- xmlNewProp( child, "title", mlt_properties_get( properties, "title" ) );
- xmlNewProp( child, "in", mlt_properties_get( properties, "in" ) );
- xmlNewProp( child, "out", mlt_properties_get( properties, "out" ) );
+ xmlNewProp( child, _x("title"), _x(mlt_properties_get( properties, "title" )) );
+ xmlNewProp( child, _x("in"), _x(mlt_properties_get( properties, "in" )) );
+ xmlNewProp( child, _x("out"), _x(mlt_properties_get( properties, "out" )) );
serialise_properties( context, properties, child );
serialise_service_filters( context, service, child );
xmlDocPtr westley_make_doc( mlt_consumer consumer, mlt_service service )
{
mlt_properties properties = MLT_SERVICE_PROPERTIES( service );
- xmlDocPtr doc = xmlNewDoc( "1.0" );
- xmlNodePtr root = xmlNewNode( NULL, "westley" );
+ xmlDocPtr doc = xmlNewDoc( _x("1.0") );
+ xmlNodePtr root = xmlNewNode( NULL, _x("westley") );
struct serialise_context_s *context = calloc( 1, sizeof( struct serialise_context_s ) );
xmlDocSetRootElement( doc, root );
// If we have root, then deal with it now
if ( mlt_properties_get( properties, "root" ) != NULL )
{
- xmlNewProp( root, "root", mlt_properties_get( properties, "root" ) );
+ xmlNewProp( root, _x("root"), _x(mlt_properties_get( properties, "root" )) );
context->root = strdup( mlt_properties_get( properties, "root" ) );
}
else
// Assign a title property
if ( mlt_properties_get( properties, "title" ) != NULL )
- xmlNewProp( root, "title", mlt_properties_get( properties, "title" ) );
+ xmlNewProp( root, _x("title"), _x(mlt_properties_get( properties, "title" )) );
mlt_properties_set_int( properties, "global_feed", 1 );
// Construct the context maps
xmlChar *buffer = NULL;
int length = 0;
xmlDocDumpMemoryEnc( doc, &buffer, &length, "utf-8" );
- mlt_properties_set( properties, resource, buffer );
+ mlt_properties_set( properties, resource, _s(buffer) );
xmlFree( buffer );
}
else
#define STACK_SIZE 1000
#define BRANCH_SIG_LEN 4000
+#define _x (xmlChar*)
+#define _s (char*)
+
#undef DEBUG
#ifdef DEBUG
extern xmlDocPtr westley_make_doc( mlt_service service );
mlt_properties_set( properties, (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
// Out will be overwritten later as we append, so we need to save it
- if ( strcmp( atts[ 0 ], "out" ) == 0 )
+ if ( xmlStrcmp( atts[ 0 ], _x("out") ) == 0 )
mlt_properties_set( properties, "_westley.out", ( char* )atts[ 1 ] );
}
// Look for the length attribute
for ( ; atts != NULL && *atts != NULL; atts += 2 )
{
- if ( strcmp( atts[0], "length" ) == 0 )
+ if ( xmlStrcmp( atts[0], _x("length") ) == 0 )
{
- length = atoll( atts[1] );
+ length = atoll( _s(atts[1]) );
break;
}
}
mlt_properties_set( temp, (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
// Look for the producer attribute
- if ( strcmp( atts[ 0 ], "producer" ) == 0 )
+ if ( xmlStrcmp( atts[ 0 ], _x("producer") ) == 0 )
{
mlt_producer producer = mlt_properties_get_data( context->producer_map, (char*) atts[1], NULL );
if ( producer != NULL )
if ( mlt_properties_get_data( temp, "producer", NULL ) != NULL )
{
mlt_playlist_clip_info info;
- enum service_type parent_type;
+ enum service_type parent_type = invalid_type;
mlt_service parent = context_pop_service( context, &parent_type );
mlt_producer producer = mlt_properties_get_data( temp, "producer", NULL );
static void on_end_entry( deserialise_context context, const xmlChar *name )
{
// Get the entry from the stack
- enum service_type entry_type;
+ enum service_type entry_type = invalid_type;
mlt_service entry = context_pop_service( context, &entry_type );
if ( entry == NULL && entry_type != mlt_entry_type )
mlt_properties_set( MLT_SERVICE_PROPERTIES( service ), (char*) atts[0], atts[1] == NULL ? "" : (char*) atts[1] );
// Look for the producer attribute
- if ( strcmp( atts[ 0 ], "producer" ) == 0 )
+ if ( xmlStrcmp( atts[ 0 ], _x("producer") ) == 0 )
{
mlt_producer producer = mlt_properties_get_data( context->producer_map, (char*) atts[1], NULL );
if ( producer != NULL )
if ( track != NULL && track_type == mlt_entry_type )
{
mlt_properties track_props = MLT_SERVICE_PROPERTIES( track );
- enum service_type parent_type;
+ enum service_type parent_type = invalid_type;
mlt_service parent = context_pop_service( context, &parent_type );
mlt_multitrack multitrack = NULL;
mlt_service service = context_pop_service( context, &type );
mlt_properties properties = MLT_SERVICE_PROPERTIES( service );
- enum service_type parent_type;
+ enum service_type parent_type = invalid_type;
mlt_service parent = context_pop_service( context, &parent_type );
if ( service != NULL && type == mlt_dummy_filter_type )
mlt_service service = context_pop_service( context, &type );
mlt_properties properties = MLT_SERVICE_PROPERTIES( service );
- enum service_type parent_type;
+ enum service_type parent_type = invalid_type;
mlt_service parent = context_pop_service( context, &parent_type );
if ( service != NULL && type == mlt_dummy_transition_type )
// Set the properties
for ( ; atts != NULL && *atts != NULL; atts += 2 )
{
- if ( strcmp( atts[ 0 ], "name" ) == 0 )
- context->property = strdup( atts[ 1 ] );
- else if ( strcmp( atts[ 0 ], "value" ) == 0 )
- value = (char*) atts[ 1 ];
+ if ( xmlStrcmp( atts[ 0 ], _x("name") ) == 0 )
+ context->property = strdup( _s(atts[ 1 ]) );
+ else if ( xmlStrcmp( atts[ 0 ], _x("value") ) == 0 )
+ value = _s(atts[ 1 ]);
}
if ( context->property != NULL )
// Serialise the tree to get value
xmlDocDumpMemory( context->value_doc, &value, &size );
- mlt_properties_set( properties, context->property, value );
+ mlt_properties_set( properties, context->property, _s(value) );
xmlFree( value );
xmlFreeDoc( context->value_doc );
context->value_doc = NULL;
if ( context->value_doc == NULL )
{
// Start a new tree
- context->value_doc = xmlNewDoc( "1.0" );
+ context->value_doc = xmlNewDoc( _x("1.0") );
xmlDocSetRootElement( context->value_doc, node );
}
else
for ( ; atts != NULL && *atts != NULL; atts += 2 )
xmlSetProp( node, atts[ 0 ], atts[ 1 ] );
}
- else if ( strcmp( name, "tractor" ) == 0 )
+ else if ( xmlStrcmp( name, _x("tractor") ) == 0 )
on_start_tractor( context, name, atts );
- else if ( strcmp( name, "multitrack" ) == 0 )
+ else if ( xmlStrcmp( name, _x("multitrack") ) == 0 )
on_start_multitrack( context, name, atts );
- else if ( strcmp( name, "playlist" ) == 0 || strcmp( name, "seq" ) == 0 || strcmp( name, "smil" ) == 0 )
+ else if ( xmlStrcmp( name, _x("playlist") ) == 0 || xmlStrcmp( name, _x("seq") ) == 0 || xmlStrcmp( name, _x("smil") ) == 0 )
on_start_playlist( context, name, atts );
- else if ( strcmp( name, "producer" ) == 0 || strcmp( name, "video" ) == 0 )
+ else if ( xmlStrcmp( name, _x("producer") ) == 0 || xmlStrcmp( name, _x("video") ) == 0 )
on_start_producer( context, name, atts );
- else if ( strcmp( name, "blank" ) == 0 )
+ else if ( xmlStrcmp( name, _x("blank") ) == 0 )
on_start_blank( context, name, atts );
- else if ( strcmp( name, "entry" ) == 0 )
+ else if ( xmlStrcmp( name, _x("entry") ) == 0 )
on_start_entry( context, name, atts );
- else if ( strcmp( name, "track" ) == 0 )
+ else if ( xmlStrcmp( name, _x("track") ) == 0 )
on_start_track( context, name, atts );
- else if ( strcmp( name, "filter" ) == 0 )
+ else if ( xmlStrcmp( name, _x("filter") ) == 0 )
on_start_filter( context, name, atts );
- else if ( strcmp( name, "transition" ) == 0 )
+ else if ( xmlStrcmp( name, _x("transition") ) == 0 )
on_start_transition( context, name, atts );
- else if ( strcmp( name, "property" ) == 0 )
+ else if ( xmlStrcmp( name, _x("property") ) == 0 )
on_start_property( context, name, atts );
- else if ( strcmp( name, "westley" ) == 0 )
+ 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 ] );
}
deserialise_context context = ( deserialise_context )( xmlcontext->_private );
//printf("on_end_element: %s\n", name );
- if ( context->is_value == 1 && strcmp( name, "property" ) != 0 )
+ if ( context->is_value == 1 && xmlStrcmp( name, _x("property") ) != 0 )
context_pop_node( context );
- else if ( strcmp( name, "multitrack" ) == 0 )
+ else if ( xmlStrcmp( name, _x("multitrack") ) == 0 )
on_end_multitrack( context, name );
- else if ( strcmp( name, "playlist" ) == 0 || strcmp( name, "seq" ) == 0 || strcmp( name, "smil" ) == 0 )
+ else if ( xmlStrcmp( name, _x("playlist") ) == 0 || xmlStrcmp( name, _x("seq") ) == 0 || xmlStrcmp( name, _x("smil") ) == 0 )
on_end_playlist( context, name );
- else if ( strcmp( name, "track" ) == 0 )
+ else if ( xmlStrcmp( name, _x("track") ) == 0 )
on_end_track( context, name );
- else if ( strcmp( name, "entry" ) == 0 )
+ else if ( xmlStrcmp( name, _x("entry") ) == 0 )
on_end_entry( context, name );
- else if ( strcmp( name, "tractor" ) == 0 )
+ else if ( xmlStrcmp( name, _x("tractor") ) == 0 )
on_end_tractor( context, name );
- else if ( strcmp( name, "property" ) == 0 )
+ else if ( xmlStrcmp( name, _x("property") ) == 0 )
on_end_property( context, name );
- else if ( strcmp( name, "producer" ) == 0 || strcmp( name, "video" ) == 0 )
+ else if ( xmlStrcmp( name, _x("producer") ) == 0 || xmlStrcmp( name, _x("video") ) == 0 )
on_end_producer( context, name );
- else if ( strcmp( name, "filter" ) == 0 )
+ else if ( xmlStrcmp( name, _x("filter") ) == 0 )
on_end_filter( context, name );
- else if ( strcmp( name, "transition" ) == 0 )
+ else if ( xmlStrcmp( name, _x("transition") ) == 0 )
on_end_transition( context, name );
context->branch[ context->depth ] = 0;
{
xmlChar *name = ( xmlChar* )mlt_properties_get_name( context->params, i );
xmlAddDocEntity( context->entity_doc, name, XML_INTERNAL_GENERAL_ENTITY,
- context->publicId, context->systemId, ( xmlChar* )mlt_properties_get( context->params, name ) );
+ context->publicId, context->systemId, ( xmlChar* )mlt_properties_get( context->params, _s(name) ) );
}
// Flag completion
// Setup for entity declarations if not ready
if ( xmlGetIntSubset( context->entity_doc ) == NULL )
{
- xmlCreateIntSubset( context->entity_doc, "westley", "", "" );
- context->publicId = "";
- context->systemId = "";
+ xmlCreateIntSubset( context->entity_doc, _x("westley"), _x(""), _x("") );
+ context->publicId = _x("");
+ context->systemId = _x("");
}
// Add our parameters if not already
xmlInitParser();
xmlSubstituteEntitiesDefault( 1 );
// This is used to facilitate entity substitution in the SAX parser
- context->entity_doc = xmlNewDoc( "1.0" );
+ context->entity_doc = xmlNewDoc( _x("1.0") );
if ( info == 0 )
xmlcontext = xmlCreateFileParserCtxt( filename );
else