Repository navigation
Fix playback option restore and saved histogram equalization - #15570
Merged
AviaAv merged 4 commits intoAug 19, 2026
Merged
Conversation
AviaAv
force-pushed
the
rsdev-12697-playback-depth-units
branch
from
August 18, 2026 06:41
4107b4e to
6ca3ecb
Compare
AviaAv
force-pushed
the
rsdev-12697-playback-depth-units
branch
from
August 18, 2026 06:54
6ca3ecb to
2d72395
Compare
remibettan
reviewed
Aug 18, 2026
remibettan
reviewed
Aug 18, 2026
remibettan
reviewed
Aug 18, 2026
remibettan
reviewed
Aug 18, 2026
sysrsbuild-gh-agentic
left a comment
Collaborator
There was a problem hiding this comment.
🤖 Auto-generated by rs-agentic bot
Reviewed new commit f2e0add — the expanded re-apply loop in subdevice-model.cpp is clean: supports() guard, range check, and try/catch are all in place, and equalization is applied last (after min/max) matching the observer ordering. No issues found.
remibettan
previously approved these changes
Aug 18, 2026
AviaAv
commented
Aug 19, 2026
AviaAv
left a comment
Contributor
Author
There was a problem hiding this comment.
Merging as last commit is just an update to the test + previously approved + LibCI run passed with all changes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two unrelated fixes found while investigating RSDEV-12697 (which turned out not to be a bug - the difference there is a viewer-side colorizer setting, not recorded data).
1. Playback dropped the recorded sensor options (
ros2_reader.cpp)read_sensor_options()scans option ids in ascending order, so a value re-written mid-recording is out of order and starts a second, partial scan - whose result then overwrote the full snapshot. Now the first snapshot is kept; mid-recording changes still arrive during playback asserialized_optionmessages.Measured on a D435I: 25 options recorded, 1 restored.
Depth Unitswas among the lost ones, so playback fell back to a hardcoded 1mm - 10x off on a 0.1mm device (verified by setting a D455 to 0.0001).2. The viewer discarded a saved "Histogram Equalization Enabled" (
subdevice-model.cpp)subdevice_modelre-appliesVisual Presetafter restoring the config, and every preset also assigns equalization - so a saved 0 was replaced at startup and could not be turned off persistently. The saved value is now re-applied afterwards.Test
pytest-record-and-stream.pynow toggles the emitter mid-record and asserts no recorded option goes missing on playback. Fails on development and passes with the fix, on both D435I and D585.