In an effort to improve debugging, I moved the fourcc code to rsutils (rsutils::type::fourcc) and added backend_stream_profile::to_stream() allowing us to print it.
But the main feature here is a bug fix:
The device-proxy maintains a mapping from stream-type-and-index but it was global for all streams. I.e., if two streams share an index, the second one was not be recorded and an error was not issued. Our unit-test, test-librs-format-conversion.py, did exactly this, and I noticed it failing when I added the splitting of Y12I into two separate streams.
In an effort to improve debugging, I moved the fourcc code to rsutils (
rsutils::type::fourcc
) and addedbackend_stream_profile::to_stream()
allowing us to print it.But the main feature here is a bug fix:
The device-proxy maintains a mapping from
stream-type-and-index
but it was global for all streams. I.e., if two streams share an index, the second one was not be recorded and an error was not issued. Our unit-test,test-librs-format-conversion.py
, did exactly this, and I noticed it failing when I added the splitting of Y12I into two separate streams.The mapping is now per sensor.