[vlc-devel] [PATCH] decoder: don't request a vout in loop

Rémi Denis-Courmont remi at remlab.net
Mon Sep 26 14:24:06 CEST 2016


Le lundi 26 septembre 2016, 09:11:21 Thomas Guillem a écrit :
> On Sat, Sep 24, 2016, at 01:26, remi at remlab.net wrote:
> > Hello,
> > 
> > Le 23 sept. 2016 11:16, Thomas Guillem <thomas at gllm.fr> a écrit :
> > > Don't try to request a vout if it previously failed. A new vout
> > > will be
> > > requested if the fmt_out changes. This save a *lot* of CPU cycles
> > > when playing
> > > a sample with an invalid fmt_out.
> > 
> > It does if the decoder changes the format at every buffer allocation.
> > But I understood you would fix that?
> 
> I never saw that case. If this case happen, is it not the fault of
> the module ?
> 
> > Then there is not much to save anymore - and it breaks the corner case
> > where vout creation fails before it "somehow" succeeds.
> 
> Can this really happen ? A vout that succeed after a fail when the dec-
> >fmt_out doesn't change at all ?

Sure. You can fail to allocate video memory for your vout pool, then after 
some other app terminates, succeed.

Now, I'm not sure if pool failure is currently treated as a vout creation 
failure, or if it merely returns a silently non-working vout. But the later 
would be a vout core bug.

> > I would rather decouple format change and picture allocation first.
> > Then re-evaluate whether this patch still makes sense.
> 
> Then, do you agree with my patch set "[PATCH 0/3] decoder: don't update
> format when creating a buffer" ?
> I can do it for audio and video.

Conceptually, yes. I have not reviewed it.

-- 
Rémi Denis-Courmont
http://www.remlab.net/



More information about the vlc-devel mailing list