-
Notifications
You must be signed in to change notification settings - Fork 255
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
Playing of bag which is recorded with split by duration/size is not working properly . #966
Comments
Issue is due to updating overall starting_time & duration of metadata with the last recorded db3 files start_time & duration. index b53a554..f352739 100644
const auto message_timestamp = std::chrono::time_pointstd::chrono::high_resolution_clock(
Added the fix for the same. |
This is still an issue in master, could you make a PR or reformat your fix so that it is clearer what needs to be changed where, so that I could make a PR out of it. You can paste code using triple backticks. Also do I understand this right, that your fix is only for the writer and already recorded bags with the split option can't be played back from the first bag? |
Ok, there is a simple fix for already recorded bags. Just replace the starting_time in the metadata.yaml with the starting time of the first bag, instead of the last bag. After that everything plays as it should. |
@Kaju-Bubanja @MichaelOrlov can we backport this fix to humble? i understand #1022 breaks the ABI compatibility, so asking for help if we can go another path to keep it. how about deciding if that is the 1st message using with metadata_.starting_time? i think that is doable? |
We are using humble, so I would be interested in a backport. But I am full with work in the foreseeable future and won't have capacity to backport it. Only later in the year could I put aside some time, which is probably too late for it to be useful for humble |
actually humble branch has |
Description
Playing of bags recorded with split by duration/size is not playing properly.
It plays only the last recorded .db3.
Expected Behavior
It should play all the .db3 files which are recorded instead of last recorded .db3
Actual Behavior
Let say we recorder a bag with duration split of 10 sec for 50 secs.
Then we will get a total of 5 .db3 files recorded at regular 10 secs interval.
When we try to replay the bag only the last recorded db3 alone is playing.
To Reproduce
Record a bag with duration split:
-- ros2 bag record -a -d 10
Play the same recorded bag:
-- ros2 bag play
System (please complete the following information)
Additional context
The text was updated successfully, but these errors were encountered: