deepstream-services-library icon indicating copy to clipboard operation
deepstream-services-library copied to clipboard

docs of dsl_ode_trigger_custom_new is missing parameters

Open 6reend0g opened this issue 1 year ago • 2 comments

I quote this constructor in my code to get the meta in buffer ,but the IDE reminds me that the constructor is missing two parametes:"source" and "client_post_processor". retval = dsl_ode_trigger_custom_new('my-custom-trigger', DSL_ODE_ANY_CLASS, DSL_ODE_TRIGGER_LIMIT_NONE, my_check_for_occurrence_cb, my_client_data) so I add my own source into it just like other constructors ,but I did't find any methods to create a "client_post_processor" callback. finally I find a declaration of it in the source code of "dsl.py". # dsl_ode_check_for_occurrence_cb DSL_ODE_CHECK_FOR_OCCURRENCE = \ CFUNCTYPE(c_bool, c_void_p, c_void_p, c_void_p, c_void_p) but I still don't know how to use it ,because the meaning of parametes in this function is unknown to me,maybe you guys should update the docs since you have already update the code.

6reend0g avatar Aug 14 '23 03:08 6reend0g

@6reend0g thanks for bringing this to my attention... and it looks like we need an example for using the custom-trigger... give me a couple of days I'll try and take care of this.

rjhowell44 avatar Aug 14 '23 15:08 rjhowell44

My apologies for the very late response. After reviewing my notes, I was able to recall what happened with the Trigger. Unfortunately, I was only able to support this with C++ (not python). One of only two API that have this issue. It has to do with the callback parameters frame_meta and object_meta which can not by mapped using the NVIDIA python bindings.

typedef boolean (*dsl_ode_check_for_occurrence_cb)(void* buffer,
    void* frame_meta, void* object_meta, void* client_data);

New DSL mappings will need to be created for these types. This will need to be addressed in a future release. The documentation has been updated to reflect this.

rjhowell44 avatar Sep 13 '23 07:09 rjhowell44