Hello,

I know from the CE docs that I am not supposed to share engine and codec handles between threads or to make sure that proper locking is in place. This I have done, calls to engine create are locked. Now I see a problem when I try to create one codec while another codecs process() call is taking place.

e.g I have a video decoder thread which has created a codec and starts processing. In the meantime, the audio thread wants to create it's decoder and this VIDDEC_create() call takes place while the video decoder in in VIDDEC_process()

Then I see the CE crashing in the kernel.

This only happens with process() and create() at the same time, I can run several process() calls from different codecs at the same time without problems.

After I add locking that prevents to mix process()/control() and create()/delete() calls, the problem is not observed any more.

So, was I doing something "bad" or is this "not allowed"?


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to