[MPlayer-dev-eng] [PATCH] Make vo_macosx support double buffering by default

Ulion ulion2002 at gmail.com
Sat Oct 6 12:10:52 CEST 2007


2007/10/6, Tim Wojtulewicz <timwoj at ieee.org>:
> On Oct 5, 2007, at 6:35 PM, Ulion wrote:
>
> > 2007/10/6, Tim Wojtulewicz <timwoj at ieee.org>:
> >>
> >> On Oct 5, 2007, at 12:25 AM, Ulion wrote:
> >>
> >>> 2007/10/5, Tim Wojtulewicz <timwoj at ieee.org>:
> >>>>
> >>>> I have another vo_macosx issue for you.  I'm getting an
> >>>> intermittent
> >>>> crash when passing more than one file to mplayer.  The crash
> >>>> happens
> >>>> during the reinit of the vo as far as I can tell.  The problem is
> >>>> that I can't seem to reproduce it reliably.  The backtrace from
> >>>> gdb is:
> >>>>
> >>>> #0  0x90a40100 in objc_msgSend ()
> >>>> #1  0x0003f748 in preinit (arg=0x252dd20 "\002U?\v") at
> >>>> vo_macosx.m:311
> >>>> #2  0x00033598 in init_best_video_out (vo_list=0x0) at video_out.c:
> >>>> 322
> >>>> #3  0x000056a8 in reinit_video_chain () at mplayer.c:1899
> >>>> #4  0x00008094 in main (argc=5832704, argv=0x5a0000) at mplayer.c:
> >>>> 3225
> >>>>
> >>>> I've gotten it to happen with a number of different files (mostly
> >>>> xvid and wmv9) so I don't think it's any specific file.  I haven't
> >>>> opened a bug on bugzilla for it yet.
> >>>>
> >>>> Tim
> >>>
> >>> Does this happen on intel or powerpc platform? You may try this
> >>> to see
> >>> whether the problem is still there.
> >>>
> >>> Index: libvo/vo_macosx.m
> >>> ===================================================================
> >>> --- libvo/vo_macosx.m   (revision 24704)
> >>> +++ libvo/vo_macosx.m   (working copy)
> >>> @@ -307,6 +307,8 @@
> >>>                         mpGLView = [[MPlayerOpenGLView alloc]
> >>> initWithFrame:NSMakeRect(0, 0, 100, 100)
> >>> pixelFormat:[MPlayerOpenGLView defaultPixelFormat]];
> >>>                         [mpGLView autorelease];
> >>>                 }
> >>> +               if(!mpGLView)
> >>> +                       return -1;
> >>>
> >>>                 [mpGLView display];
> >>>                 [mpGLView preinit];
> >>>
> >>
> >> It's on PowerPC, and i still get the same thing with that patch.
> >>
> >> Tim
> >>
> >
> > PowerPC with wmv9? Do you use that native wmv patch? How about try
> > files other than wmv format?
>
> It's using the ffmpeg wmv decoder.  I've made it happen with xvid/
> divx avi as well.  The thing is that it's not easily reproducible.
> It will happen sometimes, and not others.  I'll keep trying to see if
> it's something specific like having the OSD visible or if it's
> dependent on fast forwarding or rewinding during playback.
>
> In fact, as I was writing this I was trying to duplicate it, and I
> got it to happen again.  The first file dumps this:
>
> VIDEO:  [XVID]  640x352  12bpp  25.000 fps  1190.7 kbps (145.4 kbyte/s)
> Clip info:
> Software: VirtualDubMod 1.5.10.2 (build 2540/release)
> ========================================================================
> ==
> Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
> Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
> ========================================================================
> ==
>
> The first file is about an hour long so I fast-forwarded to about 5
> min from the end and let it play.  Sure enough, crashes in the same
> place.  Tried the exact same thing again, no crash.  I'll let it play
> through all the way once or twice.  Hopefully it still does it.

OS version? XCode version?
How about this?

Index: libvo/vo_macosx.m
===================================================================
--- libvo/vo_macosx.m   (revision 24704)
+++ libvo/vo_macosx.m   (working copy)
@@ -248,6 +248,7 @@
     if(mpGLView)
     {
         [autoreleasepool release];
+        mpGLView = nil;
     }
 }


-- 
Ulion



More information about the MPlayer-dev-eng mailing list