Skip to content

Commit 6fa580f

Browse files
Use static parsing
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
1 parent 2a86e4d commit 6fa580f

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

osi3trace/osi_trace.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ class _OSITraceMulti(_ReaderBase):
358358

359359
def __init__(self, path, type_name, topic):
360360
self._file = open(path, "rb")
361-
self._mcap_reader = make_reader(self._file, decoder_factories=[DecoderFactory()])
361+
self._mcap_reader = make_reader(self._file)
362362
self._iter = None
363363
self._summary = self._mcap_reader.get_summary()
364364
available_topics = self.get_available_topics(type_name)
@@ -376,9 +376,14 @@ def restart(self, index=None):
376376
def __iter__(self):
377377
"""Stateful iterator over the channel's messages in log time order."""
378378
if self._iter is None:
379-
self._iter = self._mcap_reader.iter_decoded_messages(topics=[self.topic])
380-
for message in self._iter:
381-
yield message.decoded_message
379+
self._iter = self._mcap_reader.iter_messages(topics=[self.topic])
380+
381+
message_class = OSITrace.map_message_type(self.get_message_type())
382+
383+
for _, _, message in self._iter:
384+
msg = message_class()
385+
msg.ParseFromString(message.data)
386+
yield msg
382387

383388
def close(self):
384389
if self._file:

0 commit comments

Comments
 (0)