public BufferSound(UUID soundId)\r
: base()\r
{\r
- lock (allBuffers)\r
- allBuffers[soundId] = this;\r
-\r
prefetchOnly = true;\r
ContainerId = UUID.Zero;\r
Id = soundId;\r
// If this was a Prefetch, just stop here.\r
if (prefetchOnly)\r
{\r
- lock (allBuffers)\r
- allBuffers.Remove(Id);\r
return;\r
}\r
\r
// Release the buffer to avoid a big memory leak.\r
if (channel != null)\r
{\r
+ lock(allChannels)\r
+ allChannels.Remove(channel.getRaw());\r
chanStr = channel.getRaw().ToString("X");\r
channel.stop();\r
channel = null;\r
}\r
+\r
if (sound != null)\r
{\r
soundStr = sound.getRaw().ToString("X");\r