[MPlayer-dev-eng] SDL and OSD. One more time

Felix Buenemann atmosfear at users.sourceforge.net
Wed Feb 20 16:25:38 CET 2002


On Saturday, 16. February 2002 20:38, Fredrik Kuivinen wrote:
> Hi
>
> This a new "OSD above and/or below movie" patch for -vo sdl. As I mentioned
> in a previous mail I simply don't know how to do it in a generic way with
> the current libvo interface. Instead of throwing away my changes I have
> updated them.
>
> I have modified my changes to mplayer.c without removing any functionality.
> This patch touches a lot fewer lines than the previous one. I am surprised
> that I didn't do it this way the first time...
>
> I have also fixed the bugs in my previous patch when switching between
> fullscreen and windowed mode. There are probably a few bugs left though.
> Feedback is very welcome.
There are still bugs with vobsub:
when switching from fullscreen to windowed and there is a vobsub currently 
displayed you'll get something like that:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 18389)]
0x080fb4c7 in vo_draw_alpha_yuy2 (w=180, h=60, src=0x8fa88a8 "", 
srca=0x8fab3c8 "", srcstride=184,
    dstbase=0x41926bd4 <Address 0x41926bd4 out of bounds>, dststride=1280) at 
osd_template.c:118
118             asm volatile(
(gdb) bt
#0  0x080fb4c7 in vo_draw_alpha_yuy2 (w=180, h=60, src=0x8fa88a8 "", 
srca=0x8fab3c8 "", srcstride=184,
    dstbase=0x41926bd4 <Address 0x41926bd4 out of bounds>, dststride=1280) at 
osd_template.c:118
#1  0x080f65c9 in draw_alpha (x0=234, y0=354, w=180, h=60, src=0x8fa88a8 "", 
srca=0x8fab3c8 "", stride=184) at vo_sdl.c:356
#2  0x08066224 in spudec_draw_scaled (me=0x81c1dc8, dxs=640, dys=272, 
draw_alpha=0x80f6438 <draw_alpha>) at spudec.c:648
#3  0x0806f885 in vobsub_draw (this=0x81c1630, dxs=640, dys=272, 
draw_alpha=0x80f6438 <draw_alpha>) at vobsub.c:749
#4  0x080f97b5 in vo_draw_text (dxs=640, dys=272, draw_alpha=0x80f6438 
<draw_alpha>) at sub.c:284
#5  0x080f83de in draw_osd () at vo_sdl.c:1528
#6  0x08051f07 in main (argc=4, argv=0xbffff504, envp=0xbffff518) at 
mplayer.c:1633
#7  0x404d27ee in __libc_start_main () from /lib/libc.so.6

Maybe solution is to wait with fullscreen switch until no osd stuff is 
currently drawn.

Secondly sometimes vobsub picture area is not fully cleared, so you get white 
dot's where right side of vobsub was.

>
> / Fredrik Kuivinen

-- 
Best Regards,
	Atmos
____________________________________________
- MPlayer Developer - http://mplayerhq.hu/ -
____________________________________________




More information about the MPlayer-dev-eng mailing list