Fixes #1341: AudioBuffer.updateData only allows direct buffers (#1342)

* only allowing direct buffers now, see: https://hub.jmonkeyengine.org/t/solved-playing-audio-from-audiobuffer-in-audionode-causes-jre-to-die/43091/12

* style correction

Co-authored-by: Stephen Gold <sgold@sonic.net>
master
matthias plasser 5 years ago committed by GitHub
parent b92e7a0abe
commit 89df7909d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      jme3-core/src/main/java/com/jme3/audio/AudioBuffer.java

@ -31,9 +31,9 @@
*/ */
package com.jme3.audio; package com.jme3.audio;
import com.jme3.audio.AudioData.DataType;
import com.jme3.util.BufferUtils; import com.jme3.util.BufferUtils;
import com.jme3.util.NativeObject; import com.jme3.util.NativeObject;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
/** /**
@ -87,8 +87,14 @@ public class AudioBuffer extends AudioData {
/** /**
* Update the data in the buffer with new data. * Update the data in the buffer with new data.
* @param data * @param data
* @throws IllegalArgumentException if the provided buffer is not a direct buffer
*/ */
public void updateData(ByteBuffer data){ public void updateData(ByteBuffer data){
if (!data.isDirect()) {
throw new IllegalArgumentException(
"Currently only direct buffers are allowed");
}
this.audioData = data; this.audioData = data;
updateNeeded = true; updateNeeded = true;
} }

Loading…
Cancel
Save