summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2002-09-13 19:57:13 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2002-09-13 19:57:13 +0000
commit676d2c786d4e13d13ce6e876d5277b982c20b06a (patch)
tree8a38c8448625f1e2483212f2f7d026f8bbac237a
parentb5a4b5b7c50ef17e948c21077e6b693b5581b244 (diff)
downloadxine-lib-676d2c786d4e13d13ce6e876d5277b982c20b06a.tar.gz
xine-lib-676d2c786d4e13d13ce6e876d5277b982c20b06a.tar.bz2
duplicating behaviour of XShm fixes the bug James discovered
(some values in vo_scale being 0) CVS patchset: 2661 CVS date: 2002/09/13 19:57:13
-rw-r--r--src/video_out/video_out_xv.c21
-rw-r--r--src/xine-engine/vo_scale.c8
2 files changed, 18 insertions, 11 deletions
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index 62c564735..1037609e4 100644
--- a/src/video_out/video_out_xv.c
+++ b/src/video_out/video_out_xv.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_xv.c,v 1.131 2002/09/08 16:20:11 mroi Exp $
+ * $Id: video_out_xv.c,v 1.132 2002/09/13 19:57:13 mroi Exp $
*
* video_out_xv.c, X11 video extension interface for xine
*
@@ -618,14 +618,25 @@ static int xv_redraw_needed (xine_vo_driver_t *this_gen) {
xv_driver_t *this = (xv_driver_t *) this_gen;
int ret = 0;
- if( vo_scale_redraw_needed( &this->sc ) ) {
+ if( this->cur_frame ) {
+
+ this->sc.delivered_height = this->cur_frame->height;
+ this->sc.delivered_width = this->cur_frame->width;
+ this->sc.delivered_ratio_code = this->cur_frame->ratio_code;
+
+ xv_compute_ideal_size(this);
+
+ if( vo_scale_redraw_needed( &this->sc ) ) {
- xv_compute_output_size (this);
+ xv_compute_output_size (this);
- xv_clean_output_area (this);
+ xv_clean_output_area (this);
+ ret = 1;
+ }
+ }
+ else
ret = 1;
- }
return ret;
}
diff --git a/src/xine-engine/vo_scale.c b/src/xine-engine/vo_scale.c
index 6cd559e68..253fcbfa2 100644
--- a/src/xine-engine/vo_scale.c
+++ b/src/xine-engine/vo_scale.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: vo_scale.c,v 1.9 2002/09/10 14:06:33 jcdutton Exp $
+ * $Id: vo_scale.c,v 1.10 2002/09/13 19:57:13 mroi Exp $
*
* Contains common code to calculate video scaling parameters.
* In short, it will map frame dimensions to screen/window size.
@@ -245,11 +245,7 @@ int vo_scale_redraw_needed (vo_scale_t *this) {
int gui_x, gui_y, gui_width, gui_height, gui_win_x, gui_win_y;
double gui_pixel_aspect;
int ret = 0;
- if( (this->delivered_width == 0) ||
- (this->delivered_height == 0) ||
- (this->video_pixel_aspect == 0) ) {
- return 0;
- }
+
if( this->frame_output_cb ) {
this->frame_output_cb (this->user_data,
this->delivered_width, this->delivered_height,