[MPlayer-dev-eng] Some libass bugs

Evgeniy Stepanov eugeni.stepanov at gmail.com
Wed May 2 12:23:39 CEST 2007


On Wednesday 02 May 2007 08:17, Uoti Urpala wrote:
> After the recent changes FT_Done_Glyph() is only called in
> get_bitmap_glyph() if the bitmap is not in cache. However
> get_outline_glyph() calls FT_Glyph_Copy() for every letter. Thus the
> copy is leaked whenever a bitmap is found in cache. The memory leak is
> pretty bad (I saw tens of MiB per minute before moving the call out of
> the "if" clause).

Twice in two weeks :(

> The string allocated in update_font(),
> desc.family = strdup(render_context.family);
> is not freed anywhere.
>
> ass_font_cache_add() makes a copy of the font data structure. Thus the
> first ass_font_new() call returns one object, subsequent calls another
> from the cache. The first object is leaked. Because bitmap rendering
> compares fonts by memory address the cached bitmaps created with the
> first font object become useless when the code moves to the second.

I'll fix them later.



More information about the MPlayer-dev-eng mailing list