sccn/lsl_archived

lsl streams timestamps do not match - openvibe

fd301 opened this issue · 5 comments

fd301 commented

I use pylsl to receive one lsl stream generated from openvibe and another lsl stream generated via python.
The timestamps I receive are not synched. In particular the opevibe timestamps are not related to the time created_at.

Do you have any idea how to resolve this issue?

Many thanks

Hello,

I stumbled on a similar issue, actually OpenViBE forces timestamps when it pushes value, using some local clock. See the second parameter passed to "push_sample" in https://gitlab.inria.fr/openvibe/extras/blob/master/plugins/server-extensions/lsl-output/ovasCPluginLSLOutput.cpp (if you are using the acquisition server to stream LSL) or in https://gitlab.inria.fr/openvibe/extras/blob/master/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmLSLExport.cpp (if you are using the LSL box in the designer).

My own fix: just remove this timestamp, then the default LSL clock will be used, and the synchronization works as expected afterward, e.g. when an XDF file is loaded. Not that practical since you need to compile OpenViBE from the source, but might be the only / best way to get accurate timing.

I probably should have reported to upstream months ago...

(I submitted a bug report related to this issue on http://openvibe.inria.fr/tracker/view.php?id=197 )

fd301 commented

I build openvibe from source and I replaced the lsl library with:
ftp://sccn.ucsd.edu/pub/software/LSL/SDK/liblsl-C-C++-1.12.zip
The lsl_api.cfg is located at the openvibe dependencies folder (not sure that this is the right place).

Nevertheless, if I enable LSL _EnableLSLOutput openvibe acquisition server crashes on 'Play'.
I understand this issue most probably should go to the openvibe emailing list.