Fix BaseInlet setup when receiving irregular rate stream #62
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Looking at the BaseInlet class, the structures to receive data from a stream are initialized based on the sampling rate and channel count.
When receiving a stream with irregular rate ( nominalSamplingRate = 0), the data buffer array is therefore of size 0.
This prevents from reading any data from the stream.
Irregular rate is usually used for Markers streams. I am not sure of any other usages ?
Those markers don't normally have a very high sampling rate.
The fix I propose is therefore to initialize the structures with a size of 128 (as in 128 events per seconds), which should be more than enough to read such type of data.
A more flexible way to do this would be to read sample by sample until done in the pullChunk method but I thought this might not be as efficient and the fix as it is should be sufficient. What do you think about it ?