X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fgtk2%2Fproducer_pango.c;h=84082dbef78916ae07377c2d45b48f5142b103e4;hb=f72aa424b78f26cd3b88f1c8c079bf13b6773e99;hp=b6f733cb79d83634af81f76302a2297d23124555;hpb=382bc6b99503a08abbfc9b32331e1cd35fd0205e;p=melted diff --git a/src/modules/gtk2/producer_pango.c b/src/modules/gtk2/producer_pango.c index b6f733c..84082db 100644 --- a/src/modules/gtk2/producer_pango.c +++ b/src/modules/gtk2/producer_pango.c @@ -88,6 +88,8 @@ static int alignment_parse( char* align ) return ret; } +static PangoFT2FontMap *fontmap = NULL; + mlt_producer producer_pango_init( const char *filename ) { producer_pango this = calloc( sizeof( struct producer_pango_s ), 1 ); @@ -95,6 +97,10 @@ mlt_producer producer_pango_init( const char *filename ) { mlt_producer producer = &this->parent; + // THIS SHOULD BE MUTEXED... + if ( fontmap == NULL ) + fontmap = (PangoFT2FontMap*) pango_ft2_font_map_new(); + producer->get_frame = producer_get_frame; producer->close = ( mlt_destructor )producer_close; @@ -487,7 +493,7 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i // Set producer-specific frame properties mlt_properties_set_int( properties, "progressive", 1 ); - mlt_properties_set_double( properties, "aspect_ratio", 1 ); + mlt_properties_set_double( properties, "aspect_ratio", 0 ); // Set alpha call back ( *frame )->get_alpha_mask = producer_get_alpha_mask; @@ -538,13 +544,8 @@ static void pango_draw_background( GdkPixbuf *pixbuf, rgba_color bg ) } } -static PangoFT2FontMap *fontmap = NULL; - static GdkPixbuf *pango_get_pixbuf( const char *markup, const char *text, const char *font, rgba_color fg, rgba_color bg, int pad, int align, int weight, int size ) { - if ( fontmap == NULL ) - fontmap = (PangoFT2FontMap*) pango_ft2_font_map_new(); - PangoContext *context = pango_ft2_font_map_create_context( fontmap ); PangoLayout *layout = pango_layout_new( context ); int w, h, x;