Delete OpenAL buffers with the buffer API

This commit is contained in:
Brandon McGinty (chatgpt)
2026-08-09 14:22:46 -04:00
committed by Brandon McGinty
parent 3f1e5d42ad
commit c99b0f4473
2 changed files with 10 additions and 5 deletions
+2 -2
View File
@@ -149,13 +149,13 @@ Priority 1: transport, lifecycle, and correctness
Priority 2: protocol and data correctness
------------------------------------------
18. UserStats FromServer fields are copied from FromClient
[x] 18. UserStats FromServer fields are copied from FromClient
File: gumble/gumble/handlers.go
In handleUserStats, FromServer.Good is correct but Late/Lost/Resync read
packet.FromClient. Use packet.FromServer for all four fields and add a
regression test with differing values.
19. Full channel link updates leave stale reverse links
[x] 19. Full channel link updates leave stale reverse links
File: gumble/gumble/handlers.go
A ChannelState Links replacement assigns a new channel.Links map but does
not remove channel from the Links maps of old peers. Remove reciprocal old
+8 -3
View File
@@ -29,6 +29,9 @@ type Buffers []Buffer
// NewBuffers() creates n fresh buffers.
// Renamed, was GenBuffers.
func NewBuffers(n int) (buffers Buffers) {
if n <= 0 {
return Buffers{}
}
buffers = make(Buffers, n)
C.walGenBuffers(C.ALsizei(n), unsafe.Pointer(&buffers[0]))
return
@@ -36,8 +39,10 @@ func NewBuffers(n int) (buffers Buffers) {
// Delete() deletes the given buffers.
func (self Buffers) Delete() {
n := len(self)
C.walDeleteBuffers(C.ALsizei(n), unsafe.Pointer(&self[0]))
if len(self) == 0 {
return
}
C.walDeleteBuffers(C.ALsizei(len(self)), unsafe.Pointer(&self[0]))
}
// Renamed, was Bufferf.
@@ -179,7 +184,7 @@ func NewBuffer() Buffer {
// Delete() deletes a single buffer.
// Convenience function, see DeleteBuffers().
func (self Buffer) Delete() {
C.walDeleteSource(C.ALuint(self))
C.walDeleteBuffer(C.ALuint(self))
}
// GetFrequency() returns the frequency, in Hz, of the buffer's sample data.