Hi,
Background
- I am on netra DM8168.
- I am using SDK version 05.03.01.15 which is the latest released SDK and the hdvpss package that came with it.
- I am running an application on the vpss m3 core that's based on the chains example included in the hdvpss package.
Having an issues when using two scalars at the same time. It seems like a timing related issue because sometimes it does work. Closing one scalar driver causes the others to never return from what ever it is doing.
Here is the scenario. I create two scalars(scalar m2m drivers) to scale the decoded video and captured video. The scalars I open are VPS_M2M_INST_SEC0_SC5_WB2 and VPS_M2M_INST_SEC1_SC4_VIP1. They work just fine and scale frames. I checked the concurrency excel sheet that comes with the hdvpss package and there should be no problem using these two together.
But when I delete one scalar(i.e call FVID2_delete on that scalar) it causes the other scalar to never complete the scaling operation that its doing. So the callback to signify frame completion never gets called(digging deep the vpdma list is submitted but that’s it. No completion call back) . I called processFrames and just wait for the callback that never comes. No error messages, nothing. It just hangs. What triggers this hang is calling FVID2_delete on the OTHER scalar driver.
If I purposely NOT call FVID2_delete on the other scalar driver then the everything works fine.
I’ve tried everything that I can think of that might affect this issue but no luck yet. Like I said I don’t think it a concurrency issue. Also it worked all the time with the old SDK. I’ve checked for memory corruption by moving my memory map around, increasing stack/heap sizes etc but no luck.
Am I using the scalar driver in the wrong way? I am missing something obvious?
Thanks.
Prabhu