[vlc-devel] [PATCH] lib/media_player: inherit 'vbi-page' since the zvbi decoder may also create it

Felix Paul Kühne fkuehne at videolan.org
Fri Nov 22 13:32:40 CET 2013


Hello Rémi,

On 21.11.2013, at 21:48, Rémi Denis-Courmont <remi at remlab.net> wrote:

> This makes no sense. The decoder is a child of the media player, not the other 
> way around. It cannot create a variable there. In fact, it does not even exist 
> at that point.

Well, I summarized what I was experiencing. Technically, the media player creates the decoder. True Story. Nothing to argue about.

However, with the current code, "vbi-page" will always be "0" when fetched by the zvbi decoder using var_CreateGetInteger() (compare zvbi.c:252). Consequently, teletext subtitles rendering fails for libvlc client applications since the correct page set indirectly through libvlc_video_set_spu() is usually something like 777, etc.

By dropping the variable creation as suggested in the initial patch or by adding the inheritance argument (like for virtually all other integer variables in media_player.c), fixes the issue. I don't see why or how the inheritance argument could negatively affect another API behavior so I assume that it is technically correct.

If you'd like have a sample file to check the behavior yourself, I will happily provide one. Note that this issue doesn't occur at all when selecting a teletext subtitles track using mainline VLC (be it RC, Qt or OS X). You need to use a libvlc client.

Best regards,

Felix

-- 
VideoLAN
Felix Paul Kühne
Developer of VLC's ports to OS X and iOS
http://www.videolan.org
Blog: http://feepk.net
Twitter: @feepk




More information about the vlc-devel mailing list