[vlc-devel] Re: [PATCH] --height --width cmdline parameters currently ignored
Derk-Jan Hartman
hartman at videolan.org
Mon Oct 17 22:11:55 CEST 2005
On 12 okt 2005, at 10:23, Greg Farrell wrote:
> the --height and --width command line parameters seem to be ignored
> in the current vlc-trunk.
>
> They are parsed and stored in the vlc object, however any video
> windows
> created seem to totally ignore them. When a video window is created it
> will check it's parent (if it's parent is not a vout obj) for aspect
> ratio and will inherit these values.
>
> As I understood it from the documentation, the video window also
> should
> inherit width and height from the parent unless they are over-riden.
>
> I've attached a small patch that fixes this for me. However I'm not
> very
> confident about the order various level width/heights are meant to
> over-ride each other, so this is more meant as a proof of the bug
> (and a
> fix for my own use) than a VLC submission.
>
> It works for me, and to the best of my understanding, but that's all I
> can vouch for. Hopefully someone can confirm this patch is ok, or can
> fix this problem themselves.
>
> Greg
>
> --- /home/p4/vlc-trunk.backup/src/video_output/video_output.c
> 2005-10-07 13:39:12.000000000 +0100
> +++ video_output.c 2005-10-12 09:14:07.594994193 +0100
> @@ -316,6 +316,20 @@
> * the video output pipe */
> if( p_parent->i_object_type != VLC_OBJECT_VOUT )
> {
> + int i_parent_width = config_GetInt( p_parent, "width");
> + int i_parent_height = config_GetInt( p_parent, "height");
> +
> + if ( i_parent_width )
> + {
> + var_Create( p_vout, "width", VLC_VAR_INTEGER );
> + var_SetInteger ( p_vout, "width", i_parent_width );
> + }
> + if ( i_parent_height )
> + {
> + var_Create( p_vout, "height", VLC_VAR_INTEGER );
> + var_SetInteger ( p_vout, "height", i_parent_height );
> + }
> +
> int i_monitor_aspect_x = 4 , i_monitor_aspect_y = 3;
> var_Get( p_vout, "aspect-ratio", &val );
> var_Get( p_vout, "monitor-aspect-ratio", &val2 );
>
Can't you just do:
if( p_parent->i_object_type != VLC_OBJECT_VOUT )
{
+ var_CreateGetInteger( p_vout, "width" );
+ var_CreateGetInteger( p_vout, "height" );
int i_monitor_aspect_x = 4 , i_monitor_aspect_y = 3;
var_Get( p_vout, "aspect-ratio", &val );
etc.
Won't that do the same, but then correctly? (create a var on p_vout,
using the value of the same var in p_parent if that var exists in
p_parent).
DJ
--
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
More information about the vlc-devel
mailing list