This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Codec engine task creation design question

Expert 2030 points


Hi All,

We have a custom XDM algorithm (only for internal use) that requires a higher priority task to be created  in the DSP server. This task then communicates with the XDM codec using mailbox. Currently I am statically creating the task and mailbox on the DSP server using XGCONF. This design is not satisfactory as task life cycle is decoupled from the algorithm life cycle.

Ideally the task needs to be shutdown, when the xdm codec is deleted, and created when algorithm is created.

What is the best way to do it? Where should I put the task creation, deletion etc.  algInit, algfree sound like obvious places.

 

RV

  • If this is just for your internal development, if your statically created persistent task works, it's probably the best you're going to get.

    One notable detail is that algFree() isn't called from all frameworks (e.g. Codec Engine); all it returns is the memTab requested in algInit().  And complex frameworks often 'remember' this information so algFree() isn't necessary.

    There aren't any general alg create/delete hooks, which is what I think you'd need(?).  Those hooks may have other benefits for other use cases, too, so I've filed an enhancement request for that feature (SDOCM00081295) - can't commit to a time frame for it, though.

    Any other details on what you're trying to do with that higher priority task?  Others might have solved your problem using other techniques.

    Chris

  • Hi Chris,

     

    We as using it for histogram statistics, while main codec does video analytics. If we can't rely on algfree getting called, then what we have is the best we can get. Since the task pends on Mialbox, it would not be running anyway, if the codec does'nt post to the mail box.

    Hope the hooks you mentioned get added in future release.

    Thanks

    RV