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 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 File: gumble/gumble/handlers.go
In handleUserStats, FromServer.Good is correct but Late/Lost/Resync read In handleUserStats, FromServer.Good is correct but Late/Lost/Resync read
packet.FromClient. Use packet.FromServer for all four fields and add a packet.FromClient. Use packet.FromServer for all four fields and add a
regression test with differing values. 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 File: gumble/gumble/handlers.go
A ChannelState Links replacement assigns a new channel.Links map but does 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 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. // NewBuffers() creates n fresh buffers.
// Renamed, was GenBuffers. // Renamed, was GenBuffers.
func NewBuffers(n int) (buffers Buffers) { func NewBuffers(n int) (buffers Buffers) {
if n <= 0 {
return Buffers{}
}
buffers = make(Buffers, n) buffers = make(Buffers, n)
C.walGenBuffers(C.ALsizei(n), unsafe.Pointer(&buffers[0])) C.walGenBuffers(C.ALsizei(n), unsafe.Pointer(&buffers[0]))
return return
@@ -36,8 +39,10 @@ func NewBuffers(n int) (buffers Buffers) {
// Delete() deletes the given buffers. // Delete() deletes the given buffers.
func (self Buffers) Delete() { func (self Buffers) Delete() {
n := len(self) if len(self) == 0 {
C.walDeleteBuffers(C.ALsizei(n), unsafe.Pointer(&self[0])) return
}
C.walDeleteBuffers(C.ALsizei(len(self)), unsafe.Pointer(&self[0]))
} }
// Renamed, was Bufferf. // Renamed, was Bufferf.
@@ -179,7 +184,7 @@ func NewBuffer() Buffer {
// Delete() deletes a single buffer. // Delete() deletes a single buffer.
// Convenience function, see DeleteBuffers(). // Convenience function, see DeleteBuffers().
func (self Buffer) Delete() { 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. // GetFrequency() returns the frequency, in Hz, of the buffer's sample data.