OSDN Git Service

[fixed] issue 685, configurable buffer size and buffer count for OpenALAudioDevice...
authorbadlogicgames <badlogicgames@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Wed, 7 Mar 2012 14:25:39 +0000 (14:25 +0000)
committerbadlogicgames <badlogicgames@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Wed, 7 Mar 2012 14:25:39 +0000 (14:25 +0000)
backends/gdx-backend-jogl/src/com/badlogic/gdx/backends/jogl/JoglApplication.java
backends/gdx-backend-jogl/src/com/badlogic/gdx/backends/jogl/JoglApplicationConfiguration.java
backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplication.java
backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglApplicationConfiguration.java
backends/gdx-openal/src/com/badlogic/gdx/backends/openal/OpenALAudio.java
backends/gdx-openal/src/com/badlogic/gdx/backends/openal/OpenALAudioDevice.java
tests/gdx-tests-lwjgl/src/com/badlogic/gdx/tests/lwjgl/LwjglDebugStarter.java

index 1b3ea16..a183f6c 100644 (file)
@@ -111,7 +111,7 @@ public final class JoglApplication implements Application {
                JoglNativesLoader.load();\r
                graphics = new JoglGraphics(listener, config);\r
                input = new JoglInput(graphics.getCanvas());\r
-               audio = new OpenALAudio();\r
+               audio = new OpenALAudio(config.audioDeviceBufferCount, config.audioDeviceBufferSize);\r
                files = new JoglFiles();\r
 \r
                Gdx.app = JoglApplication.this;\r
index 82fa6fa..d86552c 100644 (file)
@@ -40,6 +40,10 @@ public class JoglApplicationConfiguration {
        public boolean vSyncEnabled = true;\r
        /** title of application **/\r
        public String title = "Jogl Application";\r
+       /** the audio device buffer size in samples **/\r
+       public int audioDeviceBufferSize = 512;\r
+       /** the audio device buffer count **/\r
+       public int audioDeviceBufferCount = 9;\r
 \r
        /** Sets the r, g, b and a bits per channel based on the given {@link DisplayMode} and sets the fullscreen flag to true.\r
         * @param mode */\r
index baf6e07..d363e1f 100644 (file)
@@ -59,7 +59,7 @@ public class LwjglApplication implements Application {
                config.useGL20 = useGL2;\r
                config.vSyncEnabled = true;\r
                graphics = new LwjglGraphics(config);\r
-               audio = new OpenALAudio();\r
+               audio = new OpenALAudio(config.audioDeviceBufferCount, config.audioDeviceBufferSize);\r
                files = new LwjglFiles();\r
                input = new LwjglInput();\r
                this.listener = listener;\r
@@ -76,7 +76,7 @@ public class LwjglApplication implements Application {
                LwjglNativesLoader.load();\r
 \r
                graphics = new LwjglGraphics(config);\r
-               audio = new OpenALAudio();\r
+               audio = new OpenALAudio(config.audioDeviceBufferCount, config.audioDeviceBufferSize);\r
                files = new LwjglFiles();\r
                input = new LwjglInput();\r
                this.listener = listener;\r
@@ -111,7 +111,7 @@ public class LwjglApplication implements Application {
                LwjglNativesLoader.load();\r
 \r
                graphics = new LwjglGraphics(canvas, config);\r
-               audio = new OpenALAudio();\r
+               audio = new OpenALAudio(config.audioDeviceBufferCount, config.audioDeviceBufferSize);\r
                files = new LwjglFiles();\r
                input = new LwjglInput();\r
                this.listener = listener;\r
index 77bb5ac..b98e43d 100644 (file)
@@ -45,6 +45,10 @@ public class LwjglApplicationConfiguration {
        public boolean forceExit = true;\r
        /** whether the window is resizable **/\r
        public boolean resizable = true;\r
+       /** the audio device buffer size in samples **/\r
+       public int audioDeviceBufferSize = 512;\r
+       /** the audio device buffer count **/\r
+       public int audioDeviceBufferCount = 9;\r
 \r
        /** Sets the r, g, b and a bits per channel based on the given {@link DisplayMode} and sets the fullscreen flag to true.\r
         * @param mode */\r
index 4849994..d30baab 100644 (file)
@@ -69,6 +69,11 @@ public class OpenALAudio implements Audio {
                this(16);\r
        }\r
 \r
+       public OpenALAudio(int bufferSize, int bufferCount) {\r
+               OpenALAudioDevice.bufferSize = bufferSize;\r
+               OpenALAudioDevice.bufferCount = bufferCount;\r
+       }\r
+       \r
        public OpenALAudio (int simultaneousSources) {\r
                registerSound("ogg", Ogg.Sound.class);\r
                registerMusic("ogg", Ogg.Music.class);\r
index 1b8be69..bbd0587 100644 (file)
@@ -15,8 +15,8 @@ import static org.lwjgl.openal.AL10.*;
 \r
 /** @author Nathan Sweet */\r
 public class OpenALAudioDevice implements AudioDevice {\r
-       static private final int bufferSize = 512;\r
-       static private final int bufferCount = 9;\r
+       static public int bufferSize = 512;\r
+       static public int bufferCount = 9;\r
        static private final int bytesPerSample = 2;\r
        static private final ByteBuffer tempBuffer = BufferUtils.createByteBuffer(bufferSize);\r
 \r
index 6383163..b0e8573 100644 (file)
@@ -27,10 +27,12 @@ import com.badlogic.gdx.tests.FrameBufferTest;
 import com.badlogic.gdx.tests.FreeTypeTest;\r
 import com.badlogic.gdx.tests.InterpolationTest;\r
 import com.badlogic.gdx.tests.JpegTest;\r
+import com.badlogic.gdx.tests.MusicTest;\r
 import com.badlogic.gdx.tests.ParallaxTest;\r
 import com.badlogic.gdx.tests.ShadowMappingTest;\r
 import com.badlogic.gdx.tests.SoftKeyboardTest;\r
 import com.badlogic.gdx.tests.SortedSpriteTest;\r
+import com.badlogic.gdx.tests.SoundTest;\r
 import com.badlogic.gdx.tests.SpriteBatchOriginScaleTest;\r
 import com.badlogic.gdx.tests.SpriteBatchShaderTest;\r
 import com.badlogic.gdx.tests.StageTest;\r
@@ -50,7 +52,7 @@ public class LwjglDebugStarter {
                new SharedLibraryLoader("../../extensions/gdx-image/libs/gdx-image-natives.jar").load("gdx-image");\r
                new SharedLibraryLoader("../../extensions/gdx-freetype/libs/gdx-freetype-natives.jar").load("gdx-freetype");\r
                \r
-               GdxTest test = new FreeTypeTest();\r
+               GdxTest test = new MusicTest();\r
                LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();\r
                config.width = 800;\r
                config.height = 480;\r