vlc | branch: master | Jean-Baptiste Kempf <[email protected]> | Mon Apr 6 18:44:40 2015 +0200| [6b45f45e3038bfa16691244b2908de0ba76b007c] | committer: Jean-Baptiste Kempf
subpicture: replace plain text by text_segment list Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6b45f45e3038bfa16691244b2908de0ba76b007c --- include/vlc_subpicture.h | 1 + src/misc/subpicture.c | 4 ++-- src/video_output/video_epg.c | 2 +- src/video_output/video_text.c | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/vlc_subpicture.h b/include/vlc_subpicture.h index 3f130c9..eb61ada 100644 --- a/include/vlc_subpicture.h +++ b/include/vlc_subpicture.h @@ -64,6 +64,7 @@ struct subpicture_region_t int i_align; /**< alignment within a region */ int i_alpha; /**< transparency */ + text_segment_t *p_text; /**< subtitle text, made of a list of segments */ char *psz_text; /**< text string comprising this region */ char *psz_html; /**< HTML version of subtitle (NULL = use psz_text) */ text_style_t *p_style; /**< a description of the text style formatting */ diff --git a/src/misc/subpicture.c b/src/misc/subpicture.c index bae12f8..6e74b0d 100644 --- a/src/misc/subpicture.c +++ b/src/misc/subpicture.c @@ -248,7 +248,7 @@ void subpicture_region_Delete( subpicture_region_t *p_region ) free( p_region->fmt.p_palette ); - free( p_region->psz_text ); + text_segment_ChainDelete( p_region->p_text ); free( p_region->psz_html ); if( p_region->p_style ) text_style_Delete( p_region->p_style ); @@ -304,7 +304,7 @@ subpicture_region_t* subpicture_region_Copy( subpicture_region_t *p_region_src ) p_region_dst->i_align = p_region_src->i_align; p_region_dst->i_alpha = p_region_src->i_alpha; - p_region_dst->psz_text = p_region_src->psz_text ? strdup(p_region_src->psz_text) : NULL; + p_region_dst->p_text = text_segment_Copy( p_region_src->p_text ); p_region_dst->psz_html = p_region_src->psz_html ? strdup(p_region_src->psz_html) : NULL; if (p_region_src->p_style != NULL) { p_region_dst->p_style = text_style_New(); diff --git a/src/video_output/video_epg.c b/src/video_output/video_epg.c index a0b5c6f..d580d5d 100644 --- a/src/video_output/video_epg.c +++ b/src/video_output/video_epg.c @@ -113,7 +113,7 @@ static subpicture_region_t * vout_OSDEpgText(const char *text, return NULL; /* Set subpicture parameters */ - region->psz_text = strdup(text); + region->p_text = text_segment_New(text); region->i_align = 0; region->i_x = x; region->i_y = y; diff --git a/src/video_output/video_text.c b/src/video_output/video_text.c index 4ef8865..eb20c9a 100644 --- a/src/video_output/video_text.c +++ b/src/video_output/video_text.c @@ -74,7 +74,7 @@ static void OSDTextUpdate(subpicture_t *subpic, if (!r) return; - r->psz_text = strdup(sys->text); + r->p_text = text_segment_New( sys->text ); const float margin_ratio = 0.04; const int margin_h = margin_ratio * fmt_dst->i_visible_width; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
