[vlc-devel] [PATCH 3/3] lib/media_player: inherit deinterlace and vbi variables to fix correct variables values on first use

Felix Paul Kühne fkuehne at videolan.org
Wed Jan 22 15:19:05 CET 2014


On 22.01.2014, at 14:44, Rémi Denis-Courmont <remi at remlab.net> wrote:

> On Wed, 22 Jan 2014 14:42:53 +0100, Rémi Denis-Courmont <remi at remlab.net>
> wrote:
>>> -    var_Create (mp, "deinterlace", VLC_VAR_INTEGER);
>>> +    var_Create (mp, "deinterlace", VLC_VAR_INTEGER |
>> VLC_VAR_DOINHERIT);
>>>     var_Create (mp, "deinterlace-mode", VLC_VAR_STRING);
>>> 
>>> -    var_Create (mp, "vbi-page", VLC_VAR_INTEGER);
>>> +    var_Create (mp, "vbi-page", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
>> 
>> There are no defined code paths that would lead to these variables
> having
>> a non-zero values. This is a pointless loss of CPU time and wrong.
> 
> For deinterlace, that is. For vbi-page, there should be a var_Set(100) -
> or a new var_Create() flag to explicitly take the default value rather than
> zero.

Those setters are there indeed. However, the problem solved by this patch is a different one.

When asking libvlc to deinterlace the video or to show a certain vbi page, this will never work without this patch as the respective variables remain being set to 0. With this patch, they are correctly filled with the values I set, be it 444 for vbi or -1/0/1 for deinterlace.

Additionally, applying VLC_VAR_DOINHERIT matches the definitions for virtually all other integer variables created in this context, so it appears like it was forgotten to be added…

Best regards,

Felix




More information about the vlc-devel mailing list