2019-12-04 06:55:58 +00:00
|
|
|
/**
|
|
|
|
* Functions improted from JS into Ruffle.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Copies data into the given audio channel.
|
|
|
|
* This is necessary because Safari does not support `AudioBuffer.copyToChannel`.
|
|
|
|
*/
|
2020-11-12 22:32:53 +00:00
|
|
|
export function copy_to_audio_buffer(
|
|
|
|
audio_buffer: AudioBuffer,
|
|
|
|
left_data: ArrayLike<number>,
|
|
|
|
right_data: ArrayLike<number>
|
2020-05-17 21:31:43 +00:00
|
|
|
) {
|
2019-12-04 06:55:58 +00:00
|
|
|
if (left_data) {
|
2020-11-12 22:32:53 +00:00
|
|
|
const dst_buffer = audio_buffer.getChannelData(0);
|
2019-12-04 06:55:58 +00:00
|
|
|
dst_buffer.set(left_data);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (right_data) {
|
2020-11-12 22:32:53 +00:00
|
|
|
const dst_buffer = audio_buffer.getChannelData(1);
|
2019-12-04 06:55:58 +00:00
|
|
|
dst_buffer.set(right_data);
|
|
|
|
}
|
2020-11-12 22:32:53 +00:00
|
|
|
}
|