Closed anilsripadarao closed 5 months ago
No.
This is transport plugin, not general purpose library.
It should be loadable/unloadable at runtime.
See for example this commit of class loader
Hiding symbols also protects from falling into incorrect implementation at runtime
See for example here:
This should in general not happen with correctly written code
static
to restrict internal function visibilitySee also here:
If you need to use CompressRVL()
/ DecompressRVL()
the correct solution would be to:
image_transport
)But I also doubt you are diagnosing your problem correctly (or close enough)
The problem you are facing likely is:
Now when driver gets data and processes it the total time it has available for frame is also limited by:
We need this as we would like to do the compression and publishing at different times/from different threads for performance issues.
The problem is typically
We need this as we would like to do the compression and publishing at different times/from different threads for performance issues
You may achieve similar effect by using
image_transport
republish Pros:
Cons:
If the camera driver is written as nodelet:
I typically use image transport republish nodelet for that
OK, got it. Thanks for the clarification. Let me think about the other options.
Closing, as problem explained above.
We need to call the CompressRVL() and DecompressRVL() functions directly. We need this as we would like to do the compression and publishing at different times/from different threads for performance issues. Disabling _class_loader_hide_librarysymbols() in the CMakeLists.txt would enable us to do this.