[Top][All Lists]
[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
- [Gnash-dev] Burning 100% CPU time: MediaParser/FLVParser never pauses, John Gilmore, 2010/08/05
- [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, John Gilmore, 2010/08/05
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, strk, 2010/08/08
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, strk, 2010/08/08
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, John Gilmore, 2010/08/08
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses,
strk <=
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, strk, 2010/08/12
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, Rob Savoye, 2010/08/12
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, strk, 2010/08/13
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, strk, 2010/08/13
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, Rob Savoye, 2010/08/13
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, Rob Savoye, 2010/08/14
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, John Gilmore, 2010/08/14
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, strk, 2010/08/22
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, Rob Savoye, 2010/08/22
- Re: [Gnash-dev] Re: Burning 100% CPU time: MediaParser/FLVParser never pauses, strk, 2010/08/24