X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Ftelx.c;h=ed57116e1ae2340ac5f1db10845a0cd2339f9848;hb=c60652e38ac6afd74bd8225e9dae5406f13aaa4f;hp=9f2c2630080f6335c6f3744f6812b200f62cd147;hpb=89b6530d8abd99b96b9f33af022022241fe97ee2;p=vlc diff --git a/modules/codec/telx.c b/modules/codec/telx.c index 9f2c263008..ed57116e1a 100644 --- a/modules/codec/telx.c +++ b/modules/codec/telx.c @@ -34,9 +34,8 @@ #include #include -#include "vlc_vout.h" -#include "vlc_bits.h" -#include "vlc_codec.h" +#include +#include /* #define TELX_DEBUG */ #ifdef TELX_DEBUG @@ -78,9 +77,9 @@ vlc_module_begin () add_integer( "telx-override-page", -1, NULL, OVERRIDE_PAGE_TEXT, OVERRIDE_PAGE_LONGTEXT, true ) - add_bool( "telx-ignore-subtitle-flag", 0, NULL, + add_bool( "telx-ignore-subtitle-flag", false, NULL, IGNORE_SUB_FLAG_TEXT, IGNORE_SUB_FLAG_LONGTEXT, true ) - add_bool( "telx-french-workaround", 0, NULL, + add_bool( "telx-french-workaround", false, NULL, FRENCH_WORKAROUND_TEXT, FRENCH_WORKAROUND_LONGTEXT, true ) vlc_module_end () @@ -172,8 +171,8 @@ static int Open( vlc_object_t *p_this ) { decoder_t *p_dec = (decoder_t *) p_this; decoder_sys_t *p_sys = NULL; - vlc_value_t val; - int i; + int i_val; + if( p_dec->fmt_in.i_codec != VLC_CODEC_TELETEXT) { @@ -188,25 +187,21 @@ static int Open( vlc_object_t *p_this ) p_dec->fmt_out.i_codec = 0; p_sys->i_align = 0; - for ( i = 0; i < 9; i++ ) + for ( int i = 0; i < 9; i++ ) p_sys->pi_active_national_set[i] = ppi_national_subsets[1]; - var_Create( p_dec, "telx-override-page", - VLC_VAR_INTEGER | VLC_VAR_DOINHERIT ); - var_Get( p_dec, "telx-override-page", &val ); - if( val.i_int == -1 && - p_dec->fmt_in.subs.teletext.i_magazine != -1 && + i_val = var_CreateGetInteger( p_dec, "telx-override-page" ); + if( i_val == -1 && p_dec->fmt_in.subs.teletext.i_magazine != -1 && ( p_dec->fmt_in.subs.teletext.i_magazine != 1 || p_dec->fmt_in.subs.teletext.i_page != 0 ) ) /* ignore if TS demux wants page 100 (unlikely to be sub) */ { + bool b_val; p_sys->i_wanted_magazine = p_dec->fmt_in.subs.teletext.i_magazine; p_sys->i_wanted_page = p_dec->fmt_in.subs.teletext.i_page; - var_Create( p_dec, "telx-french-workaround", - VLC_VAR_BOOL | VLC_VAR_DOINHERIT ); - var_Get( p_dec, "telx-french-workaround", &val ); + b_val = var_CreateGetBool( p_dec, "telx-french-workaround" ); if( p_sys->i_wanted_page < 100 && - (val.b_bool || (p_sys->i_wanted_page % 16) >= 10)) + (b_val || (p_sys->i_wanted_page % 16) >= 10)) { /* See http://www.nada.kth.se/~ragge/vdr/ttxtsubs/TROUBLESHOOTING.txt * paragraph about French channels - they mix up decimal and @@ -215,21 +210,19 @@ static int Open( vlc_object_t *p_this ) (p_sys->i_wanted_page % 10); } } - else if( val.i_int <= 0 ) + else if( i_val <= 0 ) { p_sys->i_wanted_magazine = -1; p_sys->i_wanted_page = -1; } else { - p_sys->i_wanted_magazine = val.i_int / 100; - p_sys->i_wanted_page = (((val.i_int % 100) / 10) << 4) - | ((val.i_int % 100) % 10); + p_sys->i_wanted_magazine = i_val / 100; + p_sys->i_wanted_page = (((i_val % 100) / 10) << 4) + |((i_val % 100) % 10); } - var_Create( p_dec, "telx-ignore-subtitle-flag", - VLC_VAR_BOOL | VLC_VAR_DOINHERIT ); - var_Get( p_dec, "telx-ignore-subtitle-flag", &val ); - p_sys->b_ignore_sub_flag = val.b_bool; + p_sys->b_ignore_sub_flag = var_CreateGetBool( p_dec, + "telx-ignore-subtitle-flag" ); msg_Dbg( p_dec, "starting telx on magazine %d page %02x flag %d", p_sys->i_wanted_magazine, p_sys->i_wanted_page, @@ -692,7 +685,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block ) strcpy( p_sys->psz_prev_text, psz_text ); /* Create the subpicture unit */ - p_spu = decoder_NewSubpicture( p_dec ); + p_spu = decoder_NewSubpicture( p_dec, NULL ); if( !p_spu ) { msg_Warn( p_dec, "can't get spu buffer" ); @@ -702,7 +695,6 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block ) /* Create a new subpicture region */ memset( &fmt, 0, sizeof(video_format_t) ); fmt.i_chroma = VLC_CODEC_TEXT; - fmt.i_aspect = 0; fmt.i_width = fmt.i_height = 0; fmt.i_x_offset = fmt.i_y_offset = 0; p_spu->p_region = subpicture_region_New( &fmt );