diff options
author | Juergen Keil <jkeil@users.sourceforge.net> | 2002-12-20 14:25:13 +0000 |
---|---|---|
committer | Juergen Keil <jkeil@users.sourceforge.net> | 2002-12-20 14:25:13 +0000 |
commit | cd6150c5b28b2f2fc50939c01f3c275799854788 (patch) | |
tree | 34b40213f037f5006369fa5703f0e80cd962d085 /src | |
parent | cf61759921111b3cdc86dc28ccefa671b8e886fb (diff) | |
download | xine-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.c | 6 |
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); } |