switch( p_dec->fmt_in.i_codec )
{
- case VLC_FOURCC('c','c','1',' '):
+ case VLC_CODEC_EIA608_1:
i_field = 0; i_channel = 1;
break;
- case VLC_FOURCC('c','c','2',' '):
+ case VLC_CODEC_EIA608_2:
i_field = 0; i_channel = 2;
break;
- case VLC_FOURCC('c','c','3',' '):
+ case VLC_CODEC_EIA608_3:
i_field = 1; i_channel = 1;
break;
- case VLC_FOURCC('c','c','4',' '):
+ case VLC_CODEC_EIA608_4:
i_field = 1; i_channel = 2;
break;
if( i_pts <= VLC_TS_INVALID )
{
msg_Warn( p_dec, "subtitle without a date" );
+ free( psz_subtitle );
+ free( psz_html );
return NULL;
}
p_spu_sys->text = psz_subtitle;
p_spu_sys->html = psz_html;
p_spu_sys->i_font_height_percent = 5;
+ p_spu_sys->renderbg = true;
return p_spu;
}
/* Search the start */
i_start = 0;
+ /* Ensure we get a monospaced font (required for accurate positioning */
+ if( b_html )
+ CAT( "<tt>" );
+
/* Convert leading spaces to non-breaking so that they don't get
stripped by the RenderHtml routine as regular whitespace */
while( i_start < EIA608_SCREEN_COLUMNS && p_char[i_start] == ' ' ) {
- Eia608TextUtf8( utf8, 0x89 );
- CAT( utf8 );
- i_start++;
+ Eia608TextUtf8( utf8, 0x89 );
+ CAT( utf8 );
+ i_start++;
}
/* Search the end */
CAT( "</i>" );
if( last_color != EIA608_COLOR_DEFAULT )
CAT( "</font>" );
+ CAT( "</tt>" );
}
#undef CAT
}