(WIP) Jump in time implementation for PlayerClock class#718
Conversation
a9258a4 to
d78d9b4
Compare
|
@emersonknapp I've made initial implementation for the |
e921b13 to
77161c8
Compare
|
Overall the approach to jump handlers looks fine - is it mostly copied from One thing I have realized, is that: I know that "play_next" feature was a priority of yours, let me know if you have a less heavy approach you want to implement first - maybe |
|
@emersonknapp I wouldn't say that it's mostly copied from rclcpp, but rather have similar approach and design. WRT to the new reader API for arbitrary seek. Yes it would be nice to have such extension. Although I thought about that it would make sense to implement this feature for sequential reader first. Not sure yet how we will advance in time. May be just reading out messages and skipping them until we will found required timestamp. It could be just straight forward temporary workaround without adding new API to the reader. And I agree that it make sense to implement this feature with multiple iterations and PRs by adding some essential functionality to unblock development for another features as "Play next in pause". I think that current API and implementation should cover dependencies for "Play next in pause" feature. |
Yes, I think this would be a good first implementation. For "go backward in time" - maybe "reopen the bag at the beginning and read messages until the required timestamp". I have a feeling that this will run into performance problems quickly - but at least it would get the feature in front of people to complain about the performance :)
OK! I just wanted to make sure you didn't feel like this feature was blocking you from getting to the one you really wanted to do. |
01901fe to
20c2131
Compare
Expose it on Player class as well Signed-off-by: Emerson Knapp <eknapp@amazon.com>
20c2131 to
df78227
Compare
3b9c405 to
ce4af48
Compare
Signed-off-by: Michael Orlov <morlovmr@gmail.com>
ce4af48 to
346f63c
Compare
…_const_playback_rate_no_callbacks unit tests Signed-off-by: Michael Orlov <morlovmr@gmail.com>
3a52671 to
98079dc
Compare
Part of #696
Depends on #704
This is initial implementation for jump functionality in
PlayerClock.jumpPlayerClock::JumpHandler::SharedPtr create_jump_handler( const JumpHandler::pre_callback_t & pre_callback, const JumpHandler::post_callback_t & post_callback, const rcl_jump_threshold_t & threshold)void add_jump_calbacks(PlayerClock::JumpHandler::SharedPtr handler)void remove_jump_callbacks(PlayerClock::JumpHandler::SharedPtr handler)