[MPlayer-advusers] mplayer crash when geometry changes
David Hollister
david.hollister at comcast.net
Sat Dec 3 18:50:16 CET 2011
Hi folks,
I've been on the list for a while, but haven't seen too many posts, so I
apologize in advance if I don't include all the relevant information.
First off, the system is running Solaris 11. I always have to make a
handful of modifications in order to get it to compile, but I've never
had problems before. (I can provide all the diffs I have to make
whenever I update the source if anybody really wants to know). I've
also never had this type of video before, so while I doubt it has
anything to do with any of my changes, I suppose it isn't outside the
realm of possibility.
I have an MPEG-2 TS video that starts out at 1920x1080, then after about
18 seconds changes to 720x480. Right at the change, mplayer crashes.
The stack trace is as follows:
Program received signal SIGSEGV, Segmentation fault.
0xfe1cc5ef in memcpy () from /lib/libc.so.1
(gdb) bt
#0 0xfe1cc5ef in memcpy () from /lib/libc.so.1
#1 0x08170768 in memcpy_pic2 (dst=0xfbd0e900, src=0x98be710,
bytesPerLine=1920, height=1080, dstStride=720, srcStride=752, limit2width=0)
at libvo/fastmemcpy.h:91
#2 0x08171607 in draw_slice (image=0x9503f6c, stride=0x9503f7c, w=1920,
h=1080, x=0, y=0) at libvo/vo_xv.c:437
#3 0x081718d4 in draw_image (mpi=0x9503f40) at libvo/vo_xv.c:483
#4 0x0817239e in control (request=13, data=0x9503f40) at libvo/vo_xv.c:748
#5 0x081da92c in put_image (vf=0x96683e8, mpi=0x9503f40,
pts=18.825455555555557) at libmpcodecs/vf_vo.c:168
#6 0x081a786f in filter_video (sh_video=0x94fe1c0, frame=0x9503f40,
pts=18.825455555555557) at libmpcodecs/dec_video.c:484
#7 0x0811f73b in update_video (blit_frame=0x804769c) at mplayer.c:2457
#8 0x08122e6a in main (argc=3, argv=0x80477a4) at mplayer.c:3721
The crash occurs when memcpy_pic2 calls memcpy() and 'i' is 720.
I was able to make it work with the attached 'svn diff' output, but
having not spent a great deal of time doing any actual development, it's
not clear to me whether the change is really a fix or just a workaround.
During my testing, I found that it's only the frame passed in to
draw_image/draw_slice immediately following the geometry change that has
the incorrect width and height. Subsequent frames were correct.
Any thoughts about whether this is appropriate, or what a proper fix
would be? Given this issue, I'm also not sure whether there may be
similar issues in some of the other VOs.
Thanks,
David
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff.out
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-advusers/attachments/20111203/6795d44c/attachment.ksh>
More information about the MPlayer-advusers
mailing list