summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJuergen Keil <jkeil@users.sourceforge.net>2002-12-20 14:25:13 +0000
committerJuergen Keil <jkeil@users.sourceforge.net>2002-12-20 14:25:13 +0000
commitcd6150c5b28b2f2fc50939c01f3c275799854788 (patch)
tree34b40213f037f5006369fa5703f0e80cd962d085 /src
parentcf61759921111b3cdc86dc28ccefa671b8e886fb (diff)
downloadxine-lib-cd6150c5b28b2f2fc50939c01f3c275799854788.tar.gz
xine-lib-cd6150c5b28b2f2fc50939c01f3c275799854788.tar.bz2
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
Diffstat (limited to 'src')
-rw-r--r--src/video_out/video_out_xshm.c6
1 files changed, 4 insertions, 2 deletions
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);
}