Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generation of small packets in input buffer can cause timing issue #420

Open
xross opened this issue Aug 16, 2024 · 0 comments
Open

Generation of small packets in input buffer can cause timing issue #420

xross opened this issue Aug 16, 2024 · 0 comments

Comments

@xross
Copy link
Collaborator

xross commented Aug 16, 2024

An error in early feedback values can cause the input pipe buffer to be filled with lots of small, invalid, packets. This is not normally an issue since the host is not streaming.

However, this can cause a timing issue since the overflow handling loops though the buffering removing packets. In some circumstances (i.e. adding some intensive processing via UserBufferManagement) this can lead to the AudioHub task being stalled for a time, the ports being stared of data and a bit-shift can occur on the I2S ports.

An error is troublesome if large, as possible with the undocumented, alpha feature FB_USE_REF_CLOCK. With the standard feedback code this is not an issue. (FB_USE_REF_CLOCK allows feedback to be generated based on the system clock, this is only a valid scheme if the audio clocks are related to the system clock)

Repeated unplugging of a self-powered device can trigger generation of this error.

To summarise, a timing issue can be generated under the following conditions :

  • unplug/plug events on self-powered device
  • additional of intensive processing (via UserBufferManagement)
  • use of FB_USE_REF_CLOCK (and appropriate clocking scheme)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant