From: Richard B. <bo...@bo...> - 2003-01-02 17:14:10
|
On Thursday 02 January 2003 16:45, Guillaume Laurent wrote: > We don't push them to Alsa itself but to > AlsaDriver::processEventsOut(), which iterates over the events of a > MappedComposition, passing them to Alsa one by one, so we're still in > control. I feel you're thinking we're having a big > "alsa_process_all_these_events(events)" call which only returns when > all events are played, but that's not the case (at least from what I > see in the code - Rich, am I totally misreading things here ?) At the moment the whole slice will be sent to ALSA through processEventsOut but yeah the ALSA interface just gobbles up all those events and queues them ready for playback - it's asynchronous. The one problem we've got right now with dynamic slice sizing is that if we send (say) eight seconds worth of stuff to ALSA in preperation for a reasonable GUI holiday there's no way to dequeue the ALSA events if the GUI comes back early. B |