summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Dahl <matt2000@users.sourceforge.net>2002-05-04 21:30:15 +0000
committerMatthias Dahl <matt2000@users.sourceforge.net>2002-05-04 21:30:15 +0000
commit55458a1d4e415713a605c1f0e863e7b22c195422 (patch)
tree9c52a809360f2631a95bbef1c49d35fed800231a
parent2afd232d6d9b3b09636729505d8fd32a1cc51abb (diff)
downloadxine-lib-55458a1d4e415713a605c1f0e863e7b22c195422.tar.gz
xine-lib-55458a1d4e415713a605c1f0e863e7b22c195422.tar.bz2
Fixing XVidMode support (that fix took me a few hours, wow). Also the SyncFB
plugin will now better handle a failure of the image buffer request and can recover from it by itself... at least in most situations. CVS patchset: 1852 CVS date: 2002/05/04 21:30:15
-rw-r--r--src/video_out/video_out_syncfb.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/video_out/video_out_syncfb.c b/src/video_out/video_out_syncfb.c
index cd67b235a..dabe55d8a 100644
--- a/src/video_out/video_out_syncfb.c
+++ b/src/video_out/video_out_syncfb.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_syncfb.c,v 1.68 2002/05/02 20:32:36 matt2000 Exp $
+ * $Id: video_out_syncfb.c,v 1.69 2002/05/04 21:30:15 matt2000 Exp $
*
* video_out_syncfb.c, SyncFB (for Matrox G200/G400 cards) interface for xine
*
@@ -766,6 +766,16 @@ static void syncfb_display_frame(vo_driver_t* this_gen, vo_frame_t* frame_gen)
if(this->bufinfo.id == -1) {
printf("video_out_syncfb: error. (syncfb module couldn't allocate image buffer)\n");
frame->vo_frame.displayed(&frame->vo_frame);
+
+ /*
+ * there are several "fixable" situations when this request will fail.
+ * for example when the screen resolution changes, the kernel module
+ * will get confused - reinitializing everything will fix things for
+ * the next frame in that case.
+ */
+ syncfb_compute_ideal_size(this);
+ syncfb_compute_output_size(this);
+ syncfb_clean_output_area(this);
return;
}