Fix BaseInlet setup when receiving irregular rate stream#62
Open
ThomasPrampart wants to merge 1 commit intolabstreaminglayer:masterfrom
Open
Fix BaseInlet setup when receiving irregular rate stream#62ThomasPrampart wants to merge 1 commit intolabstreaminglayer:masterfrom
ThomasPrampart wants to merge 1 commit intolabstreaminglayer:masterfrom
Conversation
|
Had this problem as well. You just saved me the trouble of searching where the issue is. I think a better approach would be to let the user initialize the buffer (size or "irregular rate") through the editor. Other than that, I hope they see this PR sooner than later! PS: Other usages include Eye-Gaze data which is not sampled by the device, but depends on camera frame-rate and software. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 ?