nativeaudio

audio playback for Go
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2026-09-23 17:58nativeaudio: add standard justfileJack Mordaunt2+48-0
2026-09-21 10:30docs: record that every native backend now streamsJack Mordaunt2+9-11
2026-09-21 10:27macos: decode incrementally rather than buffering behind StreamJack Mordaunt1+177-92
2026-09-21 10:10ci: mirror the clone rather than the build's own checkoutJack Mordaunt1+5-1
2026-09-21 10:10ci: point the mirror at the renamed github repositoryJack Mordaunt1+1-1
2026-09-19 18:10ci: cross-compile the 32-bit Windows targetJack Mordaunt1+5-1
2026-09-19 18:10ci: run the suite under AddressSanitizer on LinuxJack Mordaunt1+25-0
2026-09-19 18:10test: check the linked backend against the ffmpeg on the same machineJack Mordaunt1+46-0
2026-09-19 17:56docs: describe the linked Linux backend and what linking impliesJack Mordaunt2+27-16
2026-09-19 17:56test: compare decodes without the padding that varies by ffmpegJack Mordaunt1+102-5
2026-09-19 17:56ci: install the libav headers the linked backend needsJack Mordaunt1+16-6
2026-09-19 17:56libav: decode by linking ffmpeg instead of spawning itJack Mordaunt2+498-9
2026-09-18 17:17docs: describe the new API, the versions and the measured format matrixJack Mordaunt1+75-8
2026-09-18 17:17go.mod: retract v1.0.0Jack Mordaunt1+6-0
2026-09-18 17:17test: probe what each platform decoder actually acceptsJack Mordaunt1+112-0
2026-09-18 17:17test: fuzz the decode, stream and abandoned-stream pathsJack Mordaunt2+180-0
2026-09-18 17:16pcm: adapt the output to other audio stacksJack Mordaunt3+436-0
2026-09-18 17:16play: bound the wait for playback to finishJack Mordaunt2+59-0
2026-09-18 17:16mf: pin the decoder output to 16 bits per sampleJack Mordaunt1+21-0
2026-09-18 17:16mf: make a wedged decode abandonableJack Mordaunt10+597-90
2026-09-18 17:15audio: [macOS] do not read the packet description out-parameterJack Mordaunt1+16-2
2026-09-18 17:15audio: [macOS] report the buffer length, not its capacityJack Mordaunt1+22-4
2026-09-18 17:15audio: [macOS] pass caller data to AudioToolbox as cgo handlesJack Mordaunt1+41-13
2026-09-18 17:15audio: bound the teardown of an abandoned ffmpeg streamJack Mordaunt1+34-7
2026-09-18 17:15audio: add a streaming decode APIJack Mordaunt10+638-36
2026-09-18 17:15audio: replace the global API with a Decoder valueJack Mordaunt8+205-81
2026-09-18 17:15play: move playback into its own packageJack Mordaunt13+145-182
2026-09-18 17:14ci: build, test and diagnose on Linux, Windows and macOSJack Mordaunt3+164-0
2026-09-17 16:09docs: describe the public API and the v1.0.0 breaking changesJack Mordaunt1+15-0
2026-09-17 16:09audio: fix inverted package comment and document the Play format limitJack Mordaunt2+6-2
2026-09-17 15:58test: cover the ffmpeg fallbacks when ffmpeg is installedJack Mordaunt1+70-0
2026-09-17 15:58test: play a silent file twice and check each call runs full lengthJack Mordaunt1+48-0
2026-09-17 15:57test: cover more formats, Start/End cycles and mid-stream corruptionJack Mordaunt1+125-0
2026-09-17 01:31test: require equal length and allow under 1 LSB mean errorJack Mordaunt1+9-7
2026-09-17 01:44audio: rename Format.BitDepth to BytesPerSampleJack Mordaunt7+20-20
2026-09-17 01:37mf: move Media Foundation bindings into an internal packageJack Mordaunt2+967-918
2026-09-17 01:31internal: remove unused TriggerReaderJack Mordaunt1+0-27
2026-09-17 16:09audio: share one oto playback context and wait for the buffer to drainJack Mordaunt3+79-37
2026-09-17 01:29audio: use os.CreateTemp for the ffmpeg decode scratch fileJack Mordaunt1+13-28
2026-09-17 01:29audio: fix ffplay -autoexit flagJack Mordaunt1+1-1
2026-09-17 01:29audio: [Windows] satisfy go vet on the IStream pointer conversionJack Mordaunt1+4-1
2026-09-17 01:28audio: [Windows] surface source reader errors instead of loopingJack Mordaunt1+60-24
2026-09-17 01:26audio: [Windows] call MFShutdown from EndJack Mordaunt1+1-1
2026-09-17 01:26audio: [Windows] release COM objects after they are createdJack Mordaunt1+6-11
2026-09-17 01:27audio: [Windows] use uint32 for DWORD parametersJack Mordaunt1+9-9
2026-09-17 01:26audio: gofmt doc commentsJack Mordaunt1+3-3
2026-09-17 01:25audio: exclude Windows from the ffmpeg fallback build constraintJack Mordaunt1+2-1
2025-06-14 21:20ci: mirror to githubJack Mordaunt1+12-0
2024-05-06 05:58nativeaudio: [macos] document packetsPerLoopJack Mordaunt1+1-1
2024-05-06 05:17nativeaudio: update package docJack Mordaunt1+3-4
2024-05-06 05:16test: use builtin 'min'Jack Mordaunt1+1-7
2024-05-06 05:14test: benchmark decode against decodeJack Mordaunt1+2-12
2024-05-06 04:57nativeaudio: [macos] documentationJack Mordaunt1+7-6
2024-05-03 13:15nativeaudio: [macos] fix buffering bugJack Mordaunt1+3-3
2024-05-03 09:09nativeaudio: update readmeJack Mordaunt1+9-9
2024-05-03 08:51nativeaudio: [macos] allow requested bytes to exceed audio dataJack Mordaunt1+15-3
2024-05-03 08:20test: add macos native golden outputJack Mordaunt2+17-5
2024-05-03 08:18cmd/nativeaudio: allow conversionJack Mordaunt1+20-3
2024-05-03 05:26nativeaudio: test harness for memory leaksJack Mordaunt1+44-0
2024-05-02 07:08nativeaudio: [macos] native implementationJack Mordaunt1+557-7
2024-05-02 07:03go.*: update depsJack Mordaunt2+9-9
2024-03-04 20:51audio: [Windows] return init error at runtimeJack Mordaunt1+54-12
2024-01-05 10:25nativeaudio: [Windows] pure Go implementationJack Mordaunt5+856-1393
2024-01-05 10:23internal: TriggerReaderJack Mordaunt1+27-0
2024-01-05 10:22cmd/nativeaudio: simple command for playing audio files directlyJack Mordaunt1+24-0
2024-01-03 22:25audio: [Windows] move some code into Go spaceJack Mordaunt1+74-18
2024-01-03 22:24mod: use go 1.21Jack Mordaunt1+3-1
2024-01-03 22:22remove extraneous C codeJack Mordaunt8+0-591
2023-10-23 00:49test: expect error for corrupt dataJack Mordaunt2+12-0
2023-10-23 00:46windows: fix memory leakJack Mordaunt1+7-1
2023-10-23 00:44windows: declare all types at top of functionJack Mordaunt1+9-10
2023-10-23 00:43ffmpeg: combine stdout and stderrJack Mordaunt1+3-7
2023-05-19 08:04audio_windows: fix leaked bufferJack Mordaunt1+6-13
2023-05-19 07:49main_test: remove unused functionJack Mordaunt1+0-6
2023-05-18 13:10audio_windows.c: fixed several memory leaksJack Mordaunt2+67-23
2023-05-18 12:38test: add test files that exercise C code in various waysJack Mordaunt2+144-0
2023-05-18 05:16Merge commit '2717ef88f823bb149b803ef530c22d48202f9f94' as 'vendor/growable-buf'Jack Mordaunt6+453-0
2023-05-18 05:16Squashed 'vendor/growable-buf/' content from commit 6ad7b3dJack Mordaunt6+453-0
2022-05-09 09:31audio_ffmpeg: threadsafe decodingJack Mordaunt1+31-4
2022-02-02 20:57nativeaudio: use lower-case paths to simplify cross-compilationChris Waldon2+4-5
2021-10-28 08:04internal/test: use royalty free audio sampleJack Mordaunt5+0-0
2021-10-28 05:17nativeaudio: [ffmpeg] probe to get format detailsJack Mordaunt1+83-9
2021-10-28 04:05nativeaudio: [docs] update readmeJack Mordaunt1+6-6
2021-10-28 04:00nativeaudio: [unknown] shell out to ffmpegJack Mordaunt1+30-0
2021-10-28 03:53nativeaudio: [macos,linux] add lifecycle stubsJack Mordaunt2+16-0
2021-10-28 03:42nativeaudio: [macos] actually compileJack Mordaunt1+1-1
2021-10-26 13:55example: small example showcasing apiJack Mordaunt1+23-0
2021-10-26 13:53nativeaudio: use built-in helpers at the cgo boundaryJack Mordaunt1+5-29
2021-10-26 13:46nativeaudio: [perf] init media framework exactly onceJack Mordaunt4+157-64
2021-10-26 09:50nativeaudio: [windows] avoid copying buffer out from CJack Mordaunt1+24-7
2021-10-26 09:03nativeaudio: [windows] remote debug symbols by defaultJack Mordaunt1+2-2
2021-10-26 08:57nativeaudio: [windows] avoid buffer allocating calling into CJack Mordaunt2+13-5
2021-10-26 08:46nativeaudio: benchmark native decode against ffmpegJack Mordaunt1+23-0
2021-10-26 08:45nativeaudio: introduce decode api to macos and linuxJack Mordaunt3+50-11
2021-10-26 07:48nativeaudio: [fix] free errorsJack Mordaunt2+7-12
2021-10-26 07:40nativeaudio: correctly specify output formatJack Mordaunt4+482-500
2021-10-26 06:35nativeaudio: report pcm format from load functionJack Mordaunt7+138-114
2021-10-26 05:47nativeaudio: [wip] decode buffered bytesJack Mordaunt5+400-27
2021-10-24 19:15nativeaudio: [fix] properly free dynamic errorsJack Mordaunt3+24-1
2021-10-22 15:29nativeaudio: add project todosJack Mordaunt1+9-2
2021-10-22 14:23internal/test: tighten tolerance to 0.1Jack Mordaunt1+3-3
2021-10-22 14:17internal/test: optimize negationJack Mordaunt1+1-1
2021-10-22 14:12nativeaudio: license under MIT/unlicense withJack Mordaunt1+63-0
2021-10-22 14:12nativeaudio: writeup readmeJack Mordaunt1+30-0
2021-10-22 13:59nativeaudio: package native audio decodingJack Mordaunt11+1162-0