[MPlayer-advusers] mplayer crash when geometry changes

David Hollister david.hollister at comcast.net
Tue Dec 6 03:50:40 CET 2011


Great!  For what it's worth, I played around with this a bit today.

Unfortunately, the Solaris linker guru that sits down the hall from me 
didn't seem to be in the office today.

It does appear, though, that it is the Solaris linker that inserts the 
hardware capabilities.  Based on that, it makes sense that it was 
reported with the SunStudio compiler.  However, as I believe is 
typically the case, the version of gcc I use was also configured to use 
the Solaris linker.  Without a gcc that uses the GNU linker, I didn't 
have a quick way to verify, but I expect that it would not do this.  So, 
with that in mind, I adapted configure script to do essentially what the 
ffmpeg patch does.

With the attached patch, I was able to build mplayer from scratch with 
no modifications (except the patch you provided a couple of days ago). 
I can't get mplayer to build with the latest SolarisStudio compiler 
(12.3) and I've had issues with 12.1 and 12.2 as well, which is why I 
don't bother.  However, I was able to run configure with 12.3 and verify 
that it does create the mapfile and add the proper option to extra_ldflags.

Perhaps in the next few days I will see what it takes to get it to 
compile with some flavor of SunStudio.

David

On 12/ 5/11 11:44 AM, Reimar Döffinger wrote:
> On Sat, Dec 03, 2011 at 01:44:34PM -0700, David Hollister wrote:
>> Index: libmpcodecs/dec_video.c
>> ===================================================================
>> --- libmpcodecs/dec_video.c	(revision 34378)
>> +++ libmpcodecs/dec_video.c	(working copy)
>> @@ -423,12 +423,16 @@
>>   #if HAVE_MMX
>>       // some codecs are broken, and doesn't restore MMX state :(
>>       // it happens usually with broken/damaged files.
>> +#if HAVE_AMD3DNOW
>>       if (gCpuCaps.has3DNow) {
>>           __asm__ volatile ("femms\n\t":::"memory");
>> -    } else if (gCpuCaps.hasMMX) {
>> +    } else
>> +#else
>> +    if (gCpuCaps.hasMMX) {
>>           __asm__ volatile ("emms\n\t":::"memory");
>>       }
>>   #endif
>> +#endif
>
> I think I have come up with a simpler and actually working method
> (won't work with -O0 though).
> _______________________________________________
> MPlayer-advusers mailing list
> MPlayer-advusers at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/mplayer-advusers
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff.out
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-advusers/attachments/20111205/2a8cb19c/attachment.ksh>


More information about the MPlayer-advusers mailing list