diff options
author | Matthias Dahl <matt2000@users.sourceforge.net> | 2002-05-04 21:30:15 +0000 |
---|---|---|
committer | Matthias Dahl <matt2000@users.sourceforge.net> | 2002-05-04 21:30:15 +0000 |
commit | 55458a1d4e415713a605c1f0e863e7b22c195422 (patch) | |
tree | 9c52a809360f2631a95bbef1c49d35fed800231a | |
parent | 2afd232d6d9b3b09636729505d8fd32a1cc51abb (diff) | |
download | xine-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.c | 12 |
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; } |