OSDN Git Service

Attached sound finds correct root prim. It's complicated
[radegast/radegast.git] / Radegast / Core / Media / BufferSound.cs
index 088fe56..fca9e9b 100644 (file)
@@ -157,9 +157,6 @@ namespace Radegast.Media
         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
@@ -189,8 +186,6 @@ namespace Radegast.Media
                 // If this was a Prefetch, just stop here.\r
                 if (prefetchOnly)\r
                 {\r
-                    lock (allBuffers)\r
-                        allBuffers.Remove(Id);\r
                     return;\r
                 }\r
 \r
@@ -306,10 +301,13 @@ namespace Radegast.Media
                 // 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