Commit 86ea17d
authored
[OpenAL] Fix sourceSeek crash on stopped sources (#27426)
Fix a crash in `sourceSeek` when called on a stopped source by resetting
`bufsProcessed = 0` before evaluating buffer durations.
This replaces #26770. Unlike #26770, which added a top-level check on
`src.bufQueue[0]`, this change handles zero/dummy buffers and empty
queues safely anywhere in `bufQueue` via `for .. of` iteration and
`audioBuf?.duration ?? 0.0`. It also adds assertions to
`test_openal_error.c` to verify state correctness after seeking.
See: #267701 parent 2768c9f commit 86ea17d
3 files changed
Lines changed: 45 additions & 9 deletions
File tree
- src/lib
- test
- codesize
- openal
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
721 | 721 | | |
722 | 722 | | |
723 | 723 | | |
724 | | - | |
725 | | - | |
726 | | - | |
727 | | - | |
728 | | - | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
729 | 729 | | |
730 | | - | |
731 | | - | |
| 730 | + | |
| 731 | + | |
732 | 732 | | |
| 733 | + | |
| 734 | + | |
733 | 735 | | |
734 | 736 | | |
735 | 737 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
41 | 74 | | |
42 | 75 | | |
43 | 76 | | |
| |||
64 | 97 | | |
65 | 98 | | |
66 | 99 | | |
| 100 | + | |
67 | 101 | | |
68 | 102 | | |
69 | 103 | | |
| |||
0 commit comments