diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-10-28 15:07:18 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-10-28 15:07:18 +0000 |
commit | efea99c2c9e8ea1f5a96a1cb86aa30ef05b6b828 (patch) | |
tree | d51dab1b5c89a9d2b15e52cdcc987c2d71f7ae44 /libass/ass_mp.c | |
parent | a383ad29ea73bb4383d088d04265ec53d931f257 (diff) | |
download | mpv-efea99c2c9e8ea1f5a96a1cb86aa30ef05b6b828.tar.bz2 mpv-efea99c2c9e8ea1f5a96a1cb86aa30ef05b6b828.tar.xz |
Libass interface reworked:
- ass_instance_t renamed to ass_renderer_t
- ass_library_t introduced
- use of mplayer-specific global variables limited to ass_mp.c
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20493 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass/ass_mp.c')
-rw-r--r-- | libass/ass_mp.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/libass/ass_mp.c b/libass/ass_mp.c index 331d2f78a8..8fbffb4629 100644 --- a/libass/ass_mp.c +++ b/libass/ass_mp.c @@ -27,8 +27,10 @@ #include "ass.h" #include "ass_utils.h" #include "ass_mp.h" +#include "ass_library.h" // libass-related command line options +ass_library_t* ass_library; int ass_enabled = 0; float ass_font_scale = 1.; float ass_line_spacing = 0.; @@ -50,11 +52,17 @@ extern char* font_name; extern float text_font_scale_factor; extern int subtitle_autoscale; +#ifdef USE_ICONV +extern char* sub_cp; +#else +static char* sub_cp = 0; +#endif + extern double ass_internal_font_size_coeff; extern void process_force_style(ass_track_t* track); -ass_track_t* ass_default_track() { - ass_track_t* track = ass_new_track(); +ass_track_t* ass_default_track(ass_library_t* library) { + ass_track_t* track = ass_new_track(library); track->track_type = TRACK_TYPE_ASS; track->Timer = 100.; @@ -63,7 +71,7 @@ ass_track_t* ass_default_track() { track->WrapStyle = 0; if (ass_styles_file) - ass_read_styles(track, ass_styles_file); + ass_read_styles(track, ass_styles_file, sub_cp); if (track->n_styles == 0) { ass_style_t* style; @@ -182,11 +190,11 @@ int ass_process_subtitle(ass_track_t* track, subtitle* sub) * \param fps video framerate * \return newly allocated ass_track, filled with subtitles from subdata */ -ass_track_t* ass_read_subdata(sub_data* subdata, double fps) { +ass_track_t* ass_read_subdata(ass_library_t* library, sub_data* subdata, double fps) { ass_track_t* track; int i; - track = ass_default_track(); + track = ass_default_track(library); track->name = subdata->filename ? strdup(subdata->filename) : 0; for (i = 0; i < subdata->sub_num; ++i) { @@ -203,9 +211,7 @@ ass_track_t* ass_read_subdata(sub_data* subdata, double fps) { char *get_path(char *); -extern char *font_name; - -void ass_configure(ass_instance_t* priv, int w, int h) { +void ass_configure(ass_renderer_t* priv, int w, int h) { char *dir, *path, *family; ass_set_frame_size(priv, w, h); ass_set_margins(priv, ass_top_margin, ass_bottom_margin, 0, 0); @@ -218,7 +224,7 @@ void ass_configure(ass_instance_t* priv, int w, int h) { if (font_fontconfig && font_name) family = strdup(font_name); else family = 0; - ass_set_fonts(priv, dir, path, family); + ass_set_fonts(priv, path, family); free(dir); free(path); |