rodio/assets
dis-da-moe 268dddae64
Force queue to play sources on frame boundaries (#455)
As I understand it, this is the issue:
  
     * Previously, when a queue has `keep_alive_if_empty` set to true, and it becomes empty, then it will push a silence lasting 10ms onto the queue.
 
     * This is an issue because `current_frame_len` would have returned the worst case, `512`, and the silence lasts less than that.
 
     * This means that unless the source is added immediately to the queue, and so a silence is never played, then the first actual source could start playing at a frame that is not aligned to its channels, or play at the wrong sample rate.
 
     * This is only determined by when the source is added to the queue after its initialization. This explains why the issue was inconsistent, as it relied on the speed of execution of code which is basically random.

Solution
 
     * Change the functionality of `Zero` to add a method to create a silence with a certain number of frames.
 
     * Replace the 10ms silence with a silence the length of `THRESHOLD`
 
     * Change queue's `current_frame_len` to return `THRESHOLD` if a silence will be played next.
2022-11-23 01:36:57 +01:00
..
audacity16bit.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
audacity16bit_level5.flac Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
audacity24bit_level0.flac Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
audacity24bit_level5.flac Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
audacity24bit_level8.flac Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
audacity32bit.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
audacity32bit_int.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
beep.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
beep2.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
beep3.ogg Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
lmms16bit.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
lmms24bit.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
lmms32bit.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
music.flac Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
music.m4a Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
music.mp3 Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
music.ogg Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
music.wav Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
README.md Move sound to assets/; Exclude it from package (#421) 2022-03-26 20:15:18 +01:00
RL.ogg Force queue to play sources on frame boundaries (#455) 2022-11-23 01:36:57 +01:00

License

The music.wav and music.ogg files in this directory are under cc-by-sa.