clydemcqueen/opencv_cam

Playback terminates if image_raw messages are not being read fast enough

Closed this issue · 3 comments

ptrmu commented

The easy and effective work-around is to specify the fps and slow the message generation down to a rate that the subscriber can keep up with.

An explanation is printed before the playback is terminated. I don't know if the node is terminated. The termination doesn't happen if there is no subscriber. (not a very useful scenario, but a clue as to what is going on at a lower level)

It would be interesting to investigate if there is an API that the publisher can use to figure out if its publish queue is filled. The publisher could then automatically wait until the queue empties a bit before publishing new frames.

Best effort publishing might solve the crash problem and could be an option. But for development/debug there will probably be cases where every frame it desired.

I can't reproduce this... is it still happening?

ptrmu commented
ptrmu commented

Can't reproduce this. Images seem to be ignored nicely if they aren't consumed fast enough. Maybe this was fixed in ROS2.