Share

LibLO

Tracker: Bugs

5 Scheduling timestamped messages forbids accuracy - ID: 2858774
Last Update: Comment added ( radarsat1 )

Hi,

I believe that the way the hi-level API schedules received timestamped
messages is wrong design.

This forbids taking latency into account in a realtime app.

Say that thread A receives a timestamped message, and wants to pass it to
the realtime audio thread called B.

If liblo calls a method in thread A when the timestamp is lower or equal to
the current time, it is already too late for 1. passing the information to
thread B, and 2. for thread B to trigger a sound event in advance according
to the output latency.

Thread B should receive the message ASAP in order to prepare for triggering
the corresponding audio event.

I suppose that one can find a workaround using the low-level API, but IMO
the hi-level API in its current state is unusable for any accurate
timestamped operation.


Olivier Guilyardi ( ojaii ) - 2009-09-14 19:10

5

Open

Accepted

Nobody/Anonymous

None

None

Public


Comment ( 1 )

Date: 2009-09-16 17:19
Sender: radarsat1Project AdminAccepting Donations

Hi! I agree that automatically deferring messages according to timestamp
precludes using LibLo for this type of application. However, since LibLo
was designed with ease-of-use in mind, automatically handling
timestamp-based message deferral seemed like a logical default. I think it
would be nice to provide an opt-in way to mark message handlers as not
deferred, for example. Would this solve the issue for you? Can you
possibly make an API suggestion? Please feel free to bring this up on the
mailing list.


Attached File

No Files Currently Attached

Change ( 1 )

Field Old Value Date By
resolution_id None 2009-09-16 17:19 radarsat1