]> git.sesse.net Git - mlt/commitdiff
avformat/factory.c, jackrack/jack_rack.c, jackrack/plugin_settings.c, vmfx/filter_chr...
authorddennedy <ddennedy@d19143bc-622f-0410-bfdd-b5b2a6649095>
Fri, 19 Oct 2007 06:15:41 +0000 (06:15 +0000)
committerddennedy <ddennedy@d19143bc-622f-0410-bfdd-b5b2a6649095>
Fri, 19 Oct 2007 06:15:41 +0000 (06:15 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@1035 d19143bc-622f-0410-bfdd-b5b2a6649095

13 files changed:
src/miracle/miracle_server.c
src/miracle/miracle_unit.c
src/modules/avformat/factory.c
src/modules/gtk2/pixops.c
src/modules/gtk2/producer_pango.c
src/modules/jackrack/jack_rack.c
src/modules/jackrack/plugin_settings.c
src/modules/kdenlive/filter_wave.c
src/modules/plus/transition_affine.c
src/modules/vmfx/filter_chroma.c
src/modules/vorbis/producer_vorbis.c
src/modules/westley/consumer_westley.c
src/modules/westley/producer_westley.c

index a746c8bd033dcba0453ddad13c67c7106733521d..30182af7135a4f960cd3362d4d3cdc132183b6ae 100644 (file)
@@ -148,7 +148,7 @@ static void *miracle_server_run( void *arg )
        pthread_t cmd_parse_info;
        connection_t *tmp = NULL;
        pthread_attr_t thread_attributes;
-       int socksize;
+       socklen_t socksize;
 
        socksize = sizeof( struct sockaddr );
 
index 5f606e23e56e4b00eb0d37fc0f31254b9173e67f..c9471d34191361bf3a8ec39c01c8767bac266056 100644 (file)
@@ -593,7 +593,7 @@ void miracle_unit_change_position( miracle_unit unit, int clip, int32_t position
        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 )
index b2a836be17e68a84271a56899d92c2f6da120566..5ccb204f4518167d83f104860a46e4ea54f44f4c 100644 (file)
@@ -60,7 +60,7 @@ void av_free( void *ptr )
 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 );
index c25e56b3abf0f647ec6519e713702de6ac0ee315..c4079c4215327391e224290ea3321e3655d15fad 100644 (file)
@@ -715,7 +715,7 @@ yuv422_scale ( guchar *dest_buf,
                double scale_y,
                PixopsInterpType interp_type )
 {
-       PixopsFilter filter;
+       PixopsFilter filter = { { 0, 0, 0}, { 0, 0, 0 }, 0 };
        PixopsLineFunc line_func;
 
 #ifdef USE_MMX
index 5aebe96d9fa788fda712912b9169752a137c322e..52bf2ff20bb12454769a6ffd752b64c900429b61 100644 (file)
@@ -28,6 +28,7 @@
 #include <freetype/freetype.h>
 #include <iconv.h>
 #include <pthread.h>
+#include <ctype.h>
 
 static pthread_mutex_t pango_mutex = PTHREAD_MUTEX_INITIALIZER;
 
index 96e7f9dededcbedbd0a1e7b27612382cb01d7080..2d66f951d38edf4dda129d9a73b651d08db6d74c 100644 (file)
@@ -39,6 +39,8 @@
 #ifndef _
 #define _(x) x
 #endif
+#define _x (xmlChar*)
+#define _s (char*)
 
 jack_rack_t *
 jack_rack_new (const char * client_name, unsigned long channels)
@@ -165,10 +167,10 @@ saved_rack_parse_plugin (jack_rack_t * jack_rack, saved_rack_t * saved_rack, sav
 
   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);
@@ -180,62 +182,62 @@ saved_rack_parse_plugin (jack_rack_t * jack_rack, saved_rack_t * saved_rack, sav
           
           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++;
                 }
@@ -258,19 +260,19 @@ saved_rack_parse_jackrack (jack_rack_t * jack_rack, saved_rack_t * saved_rack, c
 
   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);
@@ -293,7 +295,7 @@ saved_rack_new (jack_rack_t * jack_rack, const char * filename, xmlDocPtr doc)
   
   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);
     }
   
@@ -327,7 +329,7 @@ jack_rack_open_file (jack_rack_t * jack_rack, const char * filename)
       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;
index 01839bf9e4c5da66ec7aeb0337750388c5e0b7f9..7284b803bcd84343f022fb4b48c7253b62fb5195 100644 (file)
@@ -325,7 +325,7 @@ settings_get_control_value (settings_t * settings, guint copy, unsigned long con
 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]; 
 }
@@ -333,7 +333,7 @@ settings_get_lock          (const settings_t * settings, unsigned long control_i
 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;
 }
@@ -341,7 +341,7 @@ settings_get_lock_all      (const settings_t * settings)
 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;
 }
@@ -349,7 +349,7 @@ settings_get_enabled      (const settings_t * settings)
 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;
 }
@@ -358,7 +358,7 @@ settings_get_copies        (const settings_t * settings)
 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;
 }
@@ -366,7 +366,7 @@ settings_get_channels        (const settings_t * settings)
 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;
 }
@@ -374,7 +374,7 @@ settings_get_wet_dry_enabled (const settings_t * settings)
 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;
 }
@@ -382,7 +382,7 @@ settings_get_wet_dry_locked  (const settings_t * settings)
 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);
index 06300e3812259d5ea827c3c2ae19d64c61264cb0..ac7a9829c40d8be69b256cffdc674e5b2a3ead31 100644 (file)
@@ -75,7 +75,7 @@ static int filter_get_image( mlt_frame this, uint8_t **image, mlt_image_format *
                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);
index aaca0973aee90dc463ad38319d52d50816b8cee4..0da43552b4c405e55c6762c7bce922fb17a9f669 100644 (file)
@@ -510,7 +510,7 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f
 
                                        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 );
index d9ab009c0f7f24b34e3e1275f8d86d1d06574c0e..f857f00585be5f4382156dee24cfd7515a0a1e3b 100644 (file)
@@ -63,7 +63,7 @@ static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format
                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;
index 0094822022482e7d5fbda4aaf192672266ae26fb..328e91e5fd33652d43d769e6c982fa72df719d07 100644 (file)
@@ -31,6 +31,7 @@
 // System header files
 #include <stdlib.h>
 #include <string.h>
+#include <ctype.h>
 
 // Forward references.
 static int producer_open( mlt_producer this, char *file );
index 35d4223843fc0c1c5759c55bfd4773ecc8be97d1..29e787cff78cfc393ee942804cceea32ac6c2e89 100644 (file)
@@ -29,6 +29,9 @@
 
 #define ID_SIZE 128
 
+#define _x (xmlChar*)
+#define _s (char*)
+
 // This maintains counters for adding ids to elements
 struct serialise_context_s
 {
@@ -192,8 +195,8 @@ static void serialise_properties( serialise_context context, mlt_properties prop
                        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) );
                }
        }
 }
@@ -214,8 +217,8 @@ static void serialise_store_properties( serialise_context context, mlt_propertie
                        {
                                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) );
                        }
                }
        }
@@ -239,17 +242,17 @@ static inline void serialise_service_filters( serialise_context context, mlt_ser
                        {
                                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 );
@@ -271,14 +274,14 @@ static void serialise_producer( serialise_context context, mlt_service service,
                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 );
 
@@ -289,9 +292,9 @@ static void serialise_producer( serialise_context context, mlt_service service,
        {
                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" )) );
        }
 }
 
@@ -320,7 +323,7 @@ static void serialise_multitrack( serialise_context context, mlt_service service
                // 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 );
@@ -328,11 +331,11 @@ static void serialise_multitrack( serialise_context context, mlt_service service
                        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 );
@@ -340,7 +343,7 @@ static void serialise_multitrack( serialise_context context, mlt_service service
                        
                        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 );
        }
@@ -378,12 +381,12 @@ static void serialise_playlist( serialise_context context, mlt_service service,
                        }
                }
                
-               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 );
@@ -403,24 +406,24 @@ static void serialise_playlist( serialise_context context, mlt_service service,
                                {
                                        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 ) )
                                        {
@@ -434,10 +437,10 @@ static void serialise_playlist( serialise_context context, mlt_service service,
 
                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) );
        }
 }
 
@@ -458,16 +461,16 @@ static void serialise_tractor( serialise_context context, mlt_service service, x
                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 );
@@ -494,14 +497,14 @@ static void serialise_filter( serialise_context context, mlt_service service, xm
                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 );
@@ -523,14 +526,14 @@ static void serialise_transition( serialise_context context, mlt_service service
                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 );
@@ -624,8 +627,8 @@ static void serialise_service( serialise_context context, mlt_service service, x
 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 );
@@ -633,7 +636,7 @@ xmlDocPtr westley_make_doc( mlt_consumer consumer, mlt_service service )
        // 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
@@ -646,7 +649,7 @@ xmlDocPtr westley_make_doc( mlt_consumer consumer, mlt_service service )
 
        // 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
@@ -717,7 +720,7 @@ static int consumer_start( mlt_consumer this )
                        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
index 75fd54184b6a24ca9203c24c61cd15ef6266d461..9e276302445a28cb342c1695efa18f686c2352eb 100644 (file)
@@ -36,6 +36,9 @@
 #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 );
@@ -387,7 +390,7 @@ static void on_start_playlist( deserialise_context context, const xmlChar *name,
                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 ] );
        }
 
@@ -628,9 +631,9 @@ static void on_start_blank( deserialise_context context, const xmlChar *name, co
                // 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;
                        }
                }
@@ -657,7 +660,7 @@ static void on_start_entry( deserialise_context context, const xmlChar *name, co
                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 )
@@ -669,7 +672,7 @@ static void on_start_entry( deserialise_context context, const xmlChar *name, co
        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 );
 
@@ -715,7 +718,7 @@ static void on_start_entry( deserialise_context context, const xmlChar *name, co
 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 )
@@ -740,7 +743,7 @@ static void on_start_track( deserialise_context context, const xmlChar *name, co
                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 )
@@ -758,7 +761,7 @@ static void on_end_track( deserialise_context context, const xmlChar *name )
        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;
 
@@ -836,7 +839,7 @@ static void on_end_filter( deserialise_context context, const xmlChar *name )
        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 )
@@ -911,7 +914,7 @@ static void on_end_transition( deserialise_context context, const xmlChar *name
        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 )
@@ -981,10 +984,10 @@ static void on_start_property( deserialise_context context, const xmlChar *name,
                // 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 )
@@ -1020,7 +1023,7 @@ static void on_end_property( deserialise_context context, const xmlChar *name )
                
                        // 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;
@@ -1055,7 +1058,7 @@ static void on_start_element( void *ctx, const xmlChar *name, const xmlChar **at
                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
@@ -1069,27 +1072,27 @@ static void on_start_element( void *ctx, const xmlChar *name, const xmlChar **at
                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 ] );
 }
@@ -1100,25 +1103,25 @@ static void on_end_element( void *ctx, const xmlChar *name )
        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;
@@ -1179,7 +1182,7 @@ static void params_to_entities( deserialise_context context )
                {
                        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
@@ -1224,9 +1227,9 @@ static xmlEntityPtr on_get_entity( void *ctx, const xmlChar* name )
        // 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
@@ -1394,7 +1397,7 @@ mlt_producer producer_westley_init( int info, char *data )
        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