Closed tmori closed 4 months ago
うーん、イメージファイルが壊れている模様。
問題のデータはこんな感じ。
HakoCameraData:
0: request_id
4: image(272)
CompressedImage
0:header(136)
136:format(128)
264:data(8):
問題のデータは、可変長配列のdata。
Unityがこのデータを書き出すときにはヒープ領域にデータを書き出すのだけど、 そのオフセットが間違っていた。
ヒープ領域に書くときは、上から詰めるので、構造体のパディング計算とか一切不要なのに、その計算を走らせていた。
読み込み側であるPython側では、正しく上から順番に読みこもとうしているので、こちらはOK.
なので、書き込み側の問題だった。
Python側の書き込み側に類似問題が潜んでいる可能性がある。
Python側も同じ問題を抱えているので、issue立てました。
https://github.com/toppers/hakoniwa-core-cpp-client/issues/49
可変長配列対応は品質がなかなか収まらないので、ちゃんと設計資料を起こして単体テストをやるべきでは?(独り言)
正論ですが、工数が足りないので、問題が起きたら都度対応する方向で地道にやります。 真面目にやると、多分、2−3人月かかる。
確認結果:OK。
うまく行った。
全て修正確認できたので、クローズします。 ちゃんと考えて、計画的にやればできる。チェックに要した時間は約一時間でしたー。
原因