[FFmpeg-devel] [PATCH 1/3] pthread : Remove one unnecessary lock/unlock pair in worker loop.

Reimar Döffinger Reimar.Doeffinger at gmx.de
Thu Mar 22 21:17:37 CET 2012


On Thu, Mar 22, 2012 at 12:44:07PM -0700, Aaron Colwell wrote:
> On Thu, Mar 22, 2012 at 11:33 AM, Reimar Döffinger <Reimar.Doeffinger at gmx.de
> > wrote:
> 
> > On Thu, Mar 22, 2012 at 10:54:45AM -0700, Aaron Colwell wrote:
> > > From what I can tell p->mutex appears to only be used for allowing
> > packets
> > > to be submitted when the worker thread is ready for them. It seems like
> > > this extra unlocked region opens up the possiblity for submit_packet() to
> > > sneak in state modifications when the worker thread isn't really ready.
> > Am
> > > I misunderstanding the role of p->mutex?
> >
> > I see what you mean.
> > Yes, submit_packet is blocking itself by setting state to SETTING_UP.
> > However resetting it outside the mutex as done here might indeed allow
> > it to incorrectly submit one additional packet to the same decode call,
> > i.e. we would silently lose one input packet.
> 
> 
> How about this updated patch for addressing this?

Looks fine to me but I'd favour a second opinion at least.


More information about the ffmpeg-devel mailing list