summaryrefslogtreecommitdiffstats
path: root/sub/sub.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-08-07 02:12:15 +0200
committerwm4 <wm4@nowhere>2012-08-07 02:15:27 +0200
commit7484ae8e2ee5327400358e7c7cb974d84543aef6 (patch)
treee93ae04b40b0bf7e686ed61e25b6a056b8ba57f6 /sub/sub.c
parent0268b1a44562ea5310491fbcbb987d5462f42ca5 (diff)
downloadmpv-7484ae8e2ee5327400358e7c7cb974d84543aef6.tar.bz2
mpv-7484ae8e2ee5327400358e7c7cb974d84543aef6.tar.xz
osd_libass: allocate separate ASS_Library for OSD
osd_libass.c used the same ASS_Library object as the player core. This caused a problem: when playing a new file, all fonts loaded by the ASS_Library object were unloaded, including the OSD font. Parts of the OSD would stop being rendered correctly. Solve this by creating a separate ASS_Library, with its own set of fonts.
Diffstat (limited to 'sub/sub.c')
-rw-r--r--sub/sub.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sub/sub.c b/sub/sub.c
index f88e9869ee..056d03d1e5 100644
--- a/sub/sub.c
+++ b/sub/sub.c
@@ -36,6 +36,7 @@
#include "mp_msg.h"
#include "libvo/video_out.h"
#include "sub.h"
+#include "sub/ass_mp.h"
#include "spudec.h"
@@ -303,12 +304,11 @@ int osd_update(struct osd_state *osd, int dxs, int dys)
return osd_update_ext(osd, dxs, dys, 0, 0, 0, 0, dxs, dys);
}
-struct osd_state *osd_create(struct MPOpts *opts, struct ass_library *asslib)
+struct osd_state *osd_create(struct MPOpts *opts)
{
struct osd_state *osd = talloc_zero(NULL, struct osd_state);
*osd = (struct osd_state){
.opts = opts,
- .ass_library = asslib,
};
if(!draw_alpha_init_flag){
draw_alpha_init_flag=1;