[vlc-devel] [vlc-commits] vlc_es: disambiguate teletext page/values
Thomas Guillem
thomas at gllm.fr
Mon Jul 15 11:02:50 CEST 2019
Hello,
What about player and libvlc API ?
Do they need some comment / bondary fixup too ?
Could you please go through the ML next time you touch VLC Core ?
Thanks
On Mon, Jul 15, 2019, at 10:45, Francois Cartegnie wrote:
> vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | 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
> vlc-commits at videolan.org
> https://mailman.videolan.org/listinfo/vlc-commits
>
More information about the vlc-devel
mailing list