diff --git a/assets/disk0/home/mp3test.js b/assets/disk0/home/mp3test.js new file mode 100644 index 0000000..e69de29 diff --git a/assets/disk0/tvdos/bin/encodemov.js b/assets/disk0/tvdos/bin/encodemov.js index b2a4c21..6eb894f 100644 --- a/assets/disk0/tvdos/bin/encodemov.js +++ b/assets/disk0/tvdos/bin/encodemov.js @@ -60,7 +60,7 @@ if (!ipfFun) throw Error("Unknown IPF mode "+IPFMODE) -const AUDIO_SAMPLE_SIZE = 2 * ((30000 / FPS) + 1)|0 // times 2 because stereo +const AUDIO_SAMPLE_SIZE = 2 * (((32000 / FPS) + 1)|0) // times 2 because stereo let audioBytesRead = 0 const audioFile = (AUDIOTRACK) ? files.open(_G.shell.resolvePathInput(AUDIOTRACK).full) : undefined let audioRemaining = (audioFile) ? audioFile.size : 0 diff --git a/assets/disk0/tvdos/include/pcm.js b/assets/disk0/tvdos/include/pcm.js index b19dc52..ea47d4a 100644 --- a/assets/disk0/tvdos/include/pcm.js +++ b/assets/disk0/tvdos/include/pcm.js @@ -1,4 +1,4 @@ -const HW_SAMPLING_RATE = 30000 +const HW_SAMPLING_RATE = 32000 function printdbg(s) { if (0) serial.println(s) } function printvis(s) { if (0) println(s) } function sampleToVisual(i) { @@ -269,4 +269,4 @@ function decodeMS_ADPCM(inPtr, outPtr, blockSize, config) { } -exports = { HW_SAMPLING_RATE, randomRound, decodeMS_ADPCM, decodeLPCM } \ No newline at end of file +exports = { HW_SAMPLING_RATE, randomRound, decodeMS_ADPCM, decodeLPCM, s8Tou8, s16Tou8, u16Tos16 } \ No newline at end of file diff --git a/tsvm_core/src/net/torvald/tsvm/peripheral/AudioAdapter.kt b/tsvm_core/src/net/torvald/tsvm/peripheral/AudioAdapter.kt index 7569117..53d12e8 100644 --- a/tsvm_core/src/net/torvald/tsvm/peripheral/AudioAdapter.kt +++ b/tsvm_core/src/net/torvald/tsvm/peripheral/AudioAdapter.kt @@ -82,7 +82,7 @@ private class WriteQueueingRunnable(val playhead: AudioAdapter.Playhead, val pcm Thread.sleep(6) } else if (it.pcmUpload) { - printdbg("Rejecting samples (queueSize: ${it.pcmQueue.size}, uploadLength: ${it.pcmUploadLength})") +// printdbg("Rejecting samples (queueSize: ${it.pcmQueue.size}, uploadLength: ${it.pcmUploadLength})") Thread.sleep(6) } } @@ -106,7 +106,7 @@ class AudioAdapter(val vm: VM) : PeriBase { companion object { internal val DBGPRN = false - const val SAMPLING_RATE = 30000 + const val SAMPLING_RATE = 32000 } internal val sampleBin = UnsafeHelper.allocate(114687L, this) @@ -402,7 +402,7 @@ class AudioAdapter(val vm: VM) : PeriBase { } } - fun getPcmQueueCapacity() = 2147483647//QUEUE_SIZE[pcmQueueSizeIndex] + fun getPcmQueueCapacity() = QUEUE_SIZE[pcmQueueSizeIndex] fun dispose() { println("AudioDevice dispose ${parent.renderThreads[index]}")