- p_sys->p_thread = vlc_object_create( p_filter,
- sizeof( goom_thread_t ) );
- p_sys->p_thread->p_vout = vout_Request( p_filter, NULL,
- GOOM_WIDTH, GOOM_HEIGHT,
- VLC_FOURCC('R','V','3','2'),
- GOOM_ASPECT );
- if( p_sys->p_thread->p_vout == NULL )
+ p_sys->p_thread = p_thread =
+ vlc_object_create( p_filter, sizeof( goom_thread_t ) );
+ vlc_object_attach( p_thread, p_this );
+
+ var_Create( p_thread, "goom-width", VLC_VAR_INTEGER|VLC_VAR_DOINHERIT );
+ var_Get( p_thread, "goom-width", &width );
+ var_Create( p_thread, "goom-height", VLC_VAR_INTEGER|VLC_VAR_DOINHERIT );
+ var_Get( p_thread, "goom-height", &height );
+
+ memset( &fmt, 0, sizeof(video_format_t) );
+
+ fmt.i_width = fmt.i_visible_width = width.i_int;
+ fmt.i_height = fmt.i_visible_height = height.i_int;
+ fmt.i_chroma = VLC_FOURCC('R','V','3','2');
+ fmt.i_aspect = VOUT_ASPECT_FACTOR * width.i_int/height.i_int;
+ fmt.i_sar_num = fmt.i_sar_den = 1;
+
+ p_thread->p_vout = vout_Request( p_filter, NULL, &fmt );
+ if( p_thread->p_vout == NULL )