[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