Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seek/Jump API for Reader/Storage #824

Closed
emersonknapp opened this issue Jul 22, 2021 · 1 comment · Fixed by #873
Closed

Seek/Jump API for Reader/Storage #824

emersonknapp opened this issue Jul 22, 2021 · 1 comment · Fixed by #873
Labels
enhancement New feature or request

Comments

@emersonknapp
Copy link
Collaborator

emersonknapp commented Jul 22, 2021

Description

Provide a way to "seek" the "read head" of a bag to an arbitrary timestamp. This will allow for more flexible exploration and playback of bags.

Related Issues

#696 - will enable full jump functionality

Completion Criteria

  • New rosbag2_storage::storage_interfaces::ReadOnlyInterface API with signature (probably) seek(timestamp) - which clamps value to duration of the bag
  • Implement this API for the default sqlite3 storage implementation
  • Expose this to the rosbag2_cpp::Reader and rosbag2_py.Reader so that it can be used for API-driven use case
  • Make sure "seek"ing across split bag boundaries works correctly both backwards and forwards

Out of scope:

  • Exposing this functionality to Player - that will be a followup issue, which will require careful management of the play queue

Implementation Notes / Suggestions

rqt_bag for ROS 2 already implements similar functionality with direct sqlite3 queries, it can provide implementation hints

Testing Notes / Suggestions

  • Unit testing for new C++/Python APIs
  • Test to make sure "seek"ing across split bag boundaries works correctly both backwards and forwards
@emersonknapp emersonknapp added the enhancement New feature or request label Jul 22, 2021
@emersonknapp
Copy link
Collaborator Author

FYI @MichaelOrlov - my team will be trying to implement this within the next few weeks, which should make part of the jump function easier to do

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant