From cd6150c5b28b2f2fc50939c01f3c275799854788 Mon Sep 17 00:00:00 2001 From: Juergen Keil Date: Fri, 20 Dec 2002 14:25:13 +0000 Subject: Check for changes in the global vo_scale's gui_pixel_aspect, and update the frame's vo_scale.gui_pixel_aspect. The real value of gui_pixel_aspect is determined when the first frame is about to be drawn to the screen. Before we draw the first frame of a clip, several frames could be prepared for a certain width/height/ratio_code/... but using vo_scale's default gui_pixel_aspect of 1.0. The change makes sure that all frames will be updated to use the monitor's correct gui_pixel_aspect value, once we know it. Before this change I've observed cases where xine tried to resize the video window all the time while playing a clip, due to different gui_pixel_aspect values stored in the video frames. CVS patchset: 3594 CVS date: 2002/12/20 14:25:13 --- src/video_out/video_out_xshm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c index 9a759c1f9..635a58f88 100644 --- a/src/video_out/video_out_xshm.c +++ b/src/video_out/video_out_xshm.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_xshm.c,v 1.98 2002/12/07 23:00:09 f1rmb Exp $ + * $Id: video_out_xshm.c,v 1.99 2002/12/20 14:25:13 jkeil Exp $ * * video_out_xshm.c, X11 shared memory extension interface for xine * @@ -465,7 +465,8 @@ static void xshm_update_frame_format (vo_driver_t *this_gen, || (ratio_code != frame->sc.delivered_ratio_code) || (flags != frame->flags) || (format != frame->format) - || (this->sc.user_ratio != frame->sc.user_ratio)) { + || (this->sc.user_ratio != frame->sc.user_ratio) + || (this->sc.gui_pixel_aspect != frame->sc.gui_pixel_aspect)) { do_adapt = 1; @@ -479,6 +480,7 @@ static void xshm_update_frame_format (vo_driver_t *this_gen, frame->flags = flags; frame->format = format; frame->sc.user_ratio = this->sc.user_ratio; + frame->sc.gui_pixel_aspect = this->sc.gui_pixel_aspect; xshm_compute_ideal_size (this, frame); } -- cgit v1.2.3