vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Jul 11 10:21:22 2019 +0200| [c8ada7fb48a25101f8e8ae3f8dfee3325c7a51e4] | committer: Francois Cartegnie
vlc_es: disambiguate teletext page/values > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c8ada7fb48a25101f8e8ae3f8dfee3325c7a51e4 --- include/vlc_es.h | 4 ++-- modules/codec/telx.c | 2 +- modules/codec/zvbi.c | 2 +- modules/demux/mpeg/ts_psi.c | 2 +- src/input/player.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/vlc_es.h b/include/vlc_es.h index e80733eca3..6f604d6800 100644 --- a/include/vlc_es.h +++ b/include/vlc_es.h @@ -573,8 +573,8 @@ struct subs_format_t } dvb; struct { - int i_magazine; - int i_page; + uint8_t i_magazine; /* magazine value (3 bits), > 8 for any */ + uint8_t i_page; /* BCD packet address value (4+4 bits) */ } teletext; struct { diff --git a/modules/codec/telx.c b/modules/codec/telx.c index 317f23c659..b0fe5f84fa 100644 --- a/modules/codec/telx.c +++ b/modules/codec/telx.c @@ -189,7 +189,7 @@ static int Open( vlc_object_t *p_this ) p_sys->pi_active_national_set[i] = ppi_national_subsets[1]; i_val = var_CreateGetInteger( p_dec, "telx-override-page" ); - if( i_val == -1 && p_dec->fmt_in.subs.teletext.i_magazine != -1 && + if( i_val == -1 && p_dec->fmt_in.subs.teletext.i_magazine < 9 && ( 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) */ { diff --git a/modules/codec/zvbi.c b/modules/codec/zvbi.c index 56e486439f..9b2ca44297 100644 --- a/modules/codec/zvbi.c +++ b/modules/codec/zvbi.c @@ -253,7 +253,7 @@ static int Open( vlc_object_t *p_this ) var_AddCallback( p_dec, "vbi-page", RequestPage, p_sys ); /* Check if the Teletext track has a known "initial page". */ - if( p_sys->i_wanted_page == 100 && p_dec->fmt_in.subs.teletext.i_magazine != -1 ) + if( p_sys->i_wanted_page == 100 && p_dec->fmt_in.subs.teletext.i_magazine < 9 ) { p_sys->i_wanted_page = 100 * p_dec->fmt_in.subs.teletext.i_magazine + vbi_bcd2dec( p_dec->fmt_in.subs.teletext.i_page ); diff --git a/modules/demux/mpeg/ts_psi.c b/modules/demux/mpeg/ts_psi.c index e9fb6659d1..4cda520d17 100644 --- a/modules/demux/mpeg/ts_psi.c +++ b/modules/demux/mpeg/ts_psi.c @@ -856,7 +856,7 @@ static void PMTSetupEsTeletext( demux_t *p_demux, ts_stream_t *p_pes, if( !p_sys->b_split_es || i_page <= 0 ) { - p_fmt->subs.teletext.i_magazine = -1; + p_fmt->subs.teletext.i_magazine = 255; p_fmt->subs.teletext.i_page = 0; p_fmt->psz_description = strdup( vlc_gettext(ppsz_teletext_type[1]) ); diff --git a/src/input/player.c b/src/input/player.c index 3d51666b5b..4d0e13c668 100644 --- a/src/input/player.c +++ b/src/input/player.c @@ -1802,7 +1802,7 @@ vlc_player_input_HandleEsEvent(struct vlc_player_input *input, if (ev->fmt->i_cat == SPU_ES && ev->fmt->i_codec == VLC_CODEC_TELETEXT && (ev->fmt->subs.teletext.i_magazine == 1 - || ev->fmt->subs.teletext.i_magazine == -1)) + || ev->fmt->subs.teletext.i_magazine > 8)) { vlc_player_input_HandleTeletextMenu(input, ev); return; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
