summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-08-08 20:08:02 +0000
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-08-08 20:08:02 +0000
commite1ce107366596dbfbbe103fdce0cd93b90a08707 (patch)
treedee74b86f03b92e1da23864f646d1bbc44249419 /libass
parent6c857af5c06f8b68e36a8a1606db8b996cb6419b (diff)
downloadmpv-e1ce107366596dbfbbe103fdce0cd93b90a08707.tar.bz2
mpv-e1ce107366596dbfbbe103fdce0cd93b90a08707.tar.xz
Don't print drawing commands on screen.
Drawing mode is not implemented in libass. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27442 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass')
-rw-r--r--libass/ass_render.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 0ed4054ffa..3806907249 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -161,6 +161,7 @@ typedef struct render_context_s {
uint32_t fade; // alpha from \fad
char be; // blur edges
int shadow;
+ int drawing_mode; // not implemented; when != 0 text is discarded, except for style override tags
effect_t effect_type;
int effect_timing;
@@ -1028,6 +1029,13 @@ static char* parse_tag(char* p, double pwr) {
render_context.shadow = val;
else
render_context.shadow = render_context.style->Shadow;
+ } else if (mystrcmp(&p, "pbo")) {
+ (void)strtol(p, &p, 10); // ignored
+ } else if (mystrcmp(&p, "p")) {
+ int val;
+ if (!mystrtoi(&p, 10, &val))
+ val = 0;
+ render_context.drawing_mode = !!val;
}
return p;
@@ -1203,6 +1211,7 @@ static void init_render_context(ass_event_t* event)
render_context.clip_y1 = frame_context.track->PlayResY;
render_context.detect_collisions = 1;
render_context.fade = 0;
+ render_context.drawing_mode = 0;
render_context.effect_type = EF_NONE;
render_context.effect_timing = 0;
render_context.effect_skip_timing = 0;
@@ -1750,7 +1759,9 @@ static int ass_render_event(ass_event_t* event, event_images_t* event_images)
while (1) {
// get next char, executing style override
// this affects render_context
- code = get_next_char(&p);
+ do {
+ code = get_next_char(&p);
+ } while (code && render_context.drawing_mode); // skip everything in drawing mode
// face could have been changed in get_next_char
if (!render_context.font) {