On Fri, Jan 25, 2019 at 7:35 PM Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> wrote: > > Hi Alex, > > On 1/25/19 7:34 AM, Alexandre Courbot wrote: > > On Thu, Jan 24, 2019 at 7:13 PM Stanimir Varbanov > > <stanimir.varbanov@xxxxxxxxxx> wrote: > >> > >> Hi Alex, > >> > >> Thank you for review and valuable comments! > >> > >> On 1/24/19 10:43 AM, Alexandre Courbot wrote: > >>> Hi Stanimir, > >>> > >>> On Fri, Jan 18, 2019 at 1:20 AM Stanimir Varbanov > >>> <stanimir.varbanov@xxxxxxxxxx> wrote: > >>>> > >>>> Hello, > >>>> > >>>> This aims to make Venus decoder compliant with stateful Codec API [1]. > >>>> The patches 1-9 are preparation for the cherry on the cake patch 10 > >>>> which implements the decoder state machine similar to the one in the > >>>> stateful codec API documentation. > >>> > >>> Thanks *a lot* for this series! I am still stress-testing it against > >>> the Chromium decoder tests, but so far it has been rock-solid. I have > >>> a few inline comments on some patches ; I will also want to review the > >>> state machine more thoroughly after refreshing my mind on Tomasz doc, > >>> but this looks pretty promising already. > >> > >> I'm expecting problems with ResetAfterFirstConfigInfo. I don't know why > >> but this test case is very dirty. I'd appreciate any help to decipher > >> what is the sequence of v4l2 calls made by this unittest case. > > > > I did not see any issue with ResetAfterFirstConfigInfo, however > > ResourceExhaustion seems to hang once in a while. But I could already > > see this behavior with the older patchset. > > Is it hangs badly? It just stops processing, no crash. I need to investigate more closely. > > > > In any case I plan to thoroughly review the state machine. I agree it > > is a bit complex to grasp. > > yes the state machine isn't simple and I blamed Tomasz many times for > that :) If I feel inspired I may try to extract the useful part of your patch into a framework that we can use everywhere. :) We don't want every driver to reimplement this complex state machine and introduce new bugs every time.