gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never p


From: strk
Subject: Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses
Date: Thu, 12 Aug 2010 15:47:42 +0200

On a deeper analisys I think a better fix would be
exposing a protected setParsingComplete() method
in MediaParser and have that call waitIfNeeded.

Doing so we'd make sure the "ifNeeded" check is only
performed when the important conditions actually change:
- Buffer pushed to
- Parsing completed

I'm working on a patch for testing if you don't beat
me to it. The patch would also make waitIfNeeded()
and _parsingCompleted private.

--strk;

On Sun, Aug 08, 2010 at 02:30:44PM -0700, John Gilmore wrote:
> > Your patch seems fine, and could eventually also make the call
> > to waitIfNeeded deep in pushAVFrame needless.
> > 
> > Watch out for deadlocks, if you don't get any go ahead and commit
> > it for broader testing.
> 
> Since I only check code into gnash every three or four years, it takes
> me hours to figure out how to do it.  It's an incredible jumble of ssh
> keys in a format I never otherwise use, and savannah, and bzr, and
> NFS, and stuff like that.  (And now it looks like there's a git repo
> too!)  Could somebody check in this four-line change for me?
> 
> > > > === modified file 'libmedia/MediaParser.cpp'
> > > > --- libmedia/MediaParser.cpp    2010-01-01 17:48:26 +0000
> > > > +++ libmedia/MediaParser.cpp    2010-08-06 02:34:19 +0000
> > > > @@ -411,7 +411,10 @@
> > > >         while (!parserThreadKillRequested())
> > > >         {
> > > >                 parseNextChunk();
> > > > -               gnashSleep(100); // no rush....
> > > > +               {
> > > > +                       boost::mutex::scoped_lock lock(_qMutex);
> > > > +                       waitIfNeeded(lock);
> > > > +               }
> > > >         }
> > > >  }
> 
>       John
> 
> _______________________________________________
> Gnash-dev mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnash-dev

-- 

  ()   Free GIS & Flash consultant/developer
  /\   http://strk.keybit.net/services.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]