# HG changeset patch # User folke # Date 998058663 0 # Node ID 2766b0d3863d2e000500f504c12577ccfdc7c702 # Parent 4190a9e73e35fd46da734db7335b1a320cc6ae6c osd problem with YV12 fixed diff -r 4190a9e73e35 -r 2766b0d3863d libvo/vo_aa.c --- a/libvo/vo_aa.c Fri Aug 17 11:44:46 2001 +0000 +++ b/libvo/vo_aa.c Fri Aug 17 14:31:03 2001 +0000 @@ -240,10 +240,13 @@ /* initializing of aalib */ - hidis=aa_getfirst(&aa_displayrecommended); - if ( hidis==NULL || strcasecmp(hidis, "linux")){ + /* why removes get after getting it the gotten value out of the list? :( */ + //hidis=aa_getfirst(&aa_displayrecommended); + if (aa_displayrecommended!=NULL) + hidis=aa_displayrecommended->text; + if ( hidis==NULL ){ /* check /dev/vcsa */ - /* check only, if driver linux not explicit set */ + /* check only, if no driver is explicit set */ fd = dup (fileno (stderr)); fstat (fd, &sbuf); major = sbuf.st_rdev >> 8; @@ -251,11 +254,9 @@ close (fd); sprintf (fname, "/dev/vcsa%i", vt); fp = fopen (fname, "w+"); - fprintf(stderr,"X\n"); if (fp==NULL){ fprintf(stderr,"VO: [aa] cannot open %s for writing, so we'll not use linux driver\n", fname); - aa_recommendhidisplay("curses"); - aa_recommendhidisplay("X11"); + aa_recommendlowdisplay("linux"); }else fclose(fp); } c = aa_autoinit(&aa_defparams); @@ -629,12 +630,19 @@ * the osdbuffer is written the next show_image/flip_page * into aatextbuf */ + char * vo_osd_text_save; + int vo_osd_progbar_type_save; + memset(osdbuffer,0,aa_scrwidth(c)*aa_scrheight(c)); printosdprogbar(); /* let vo_draw_text only write subtitle */ - vo_osd_text=0; + vo_osd_text_save=vo_osd_text; /* we have to save the osd_text */ + vo_osd_text=NULL; + vo_osd_progbar_type_save=vo_osd_progbar_type; vo_osd_progbar_type=-1; vo_draw_text(aa_scrwidth(c), aa_scrheight(c), draw_alpha); + vo_osd_text=vo_osd_text_save; + vo_osd_progbar_type=vo_osd_progbar_type_save; #endif }