#include <vlc_common.h>
#include <vlc_plugin.h>
-#include <vlc_input.h>
#include "vlc_vout.h"
#include "vlc_bits.h"
"interpretation mistake. Try using this wrong interpretation if " \
"your subtitles don't appear.")
-vlc_module_begin();
- set_description( N_("Teletext subtitles decoder") );
- set_shortname( "Teletext" );
- set_capability( "decoder", 50 );
- set_category( CAT_INPUT );
- set_subcategory( SUBCAT_INPUT_SCODEC );
- set_callbacks( Open, Close );
+vlc_module_begin ()
+ set_description( N_("Teletext subtitles decoder") )
+ set_shortname( "Teletext" )
+ set_capability( "decoder", 50 )
+ set_category( CAT_INPUT )
+ set_subcategory( SUBCAT_INPUT_SCODEC )
+ set_callbacks( Open, Close )
add_integer( "telx-override-page", -1, NULL,
- OVERRIDE_PAGE_TEXT, OVERRIDE_PAGE_LONGTEXT, true );
+ OVERRIDE_PAGE_TEXT, OVERRIDE_PAGE_LONGTEXT, true )
add_bool( "telx-ignore-subtitle-flag", 0, NULL,
- IGNORE_SUB_FLAG_TEXT, IGNORE_SUB_FLAG_LONGTEXT, true );
+ IGNORE_SUB_FLAG_TEXT, IGNORE_SUB_FLAG_LONGTEXT, true )
add_bool( "telx-french-workaround", 0, NULL,
- FRENCH_WORKAROUND_TEXT, FRENCH_WORKAROUND_LONGTEXT, true );
+ FRENCH_WORKAROUND_TEXT, FRENCH_WORKAROUND_LONGTEXT, true )
-vlc_module_end();
+vlc_module_end ()
/****************************************************************************
* Local structures
if( pp_block == NULL || *pp_block == NULL )
return NULL;
p_block = *pp_block;
- if( p_block->i_rate != 0 )
- p_block->i_length = p_block->i_length * p_block->i_rate / INPUT_RATE_DEFAULT;
*pp_block = NULL;
dbg((p_dec, "start of telx packet with header %2x\n",
strcpy( p_sys->psz_prev_text, psz_text );
/* Create the subpicture unit */
- p_spu = p_dec->pf_spu_buffer_new( p_dec );
+ p_spu = decoder_NewSubpicture( p_dec );
if( !p_spu )
{
msg_Warn( p_dec, "can't get spu buffer" );
fmt.i_aspect = 0;
fmt.i_width = fmt.i_height = 0;
fmt.i_x_offset = fmt.i_y_offset = 0;
- p_spu->p_region = p_spu->pf_create_region( VLC_OBJECT(p_dec), &fmt );
+ p_spu->p_region = subpicture_region_New( &fmt );
if( p_spu->p_region == NULL )
{
msg_Err( p_dec, "cannot allocate SPU region" );
/* Normal text subs, easy markup */
p_spu->p_region->i_align = SUBPICTURE_ALIGN_BOTTOM | p_sys->i_align;
- p_spu->i_x = p_sys->i_align ? 20 : 0;
- p_spu->i_y = 10;
-
+ p_spu->p_region->i_x = p_sys->i_align ? 20 : 0;
+ p_spu->p_region->i_y = 10;
p_spu->p_region->psz_text = strdup(psz_text);
+
p_spu->i_start = p_block->i_pts;
p_spu->i_stop = p_block->i_pts + p_block->i_length;
p_spu->b_ephemer = (p_block->i_length == 0);
error:
if ( p_spu != NULL )
{
- p_dec->pf_spu_buffer_del( p_dec, p_spu );
+ decoder_DeleteSubpicture( p_dec, p_spu );
p_spu = NULL;
}