Commit Graph

446 Commits

Author SHA1 Message Date
Hajime Hoshi
bd3e930eef audio: Add readerPlayerFactory / readerDriver 2021-01-09 00:45:13 +09:00
Hajime Hoshi
bd1c3ff030 audio: Rename writerContext -> writerPlayerFactory 2021-01-07 11:24:40 +09:00
Hajime Hoshi
a6b3f32f3a audio: Refactoring 2021-01-07 02:14:42 +09:00
Hajime Hoshi
e04e709a10 audio: Refactor test files 2021-01-07 01:53:41 +09:00
Hajime Hoshi
bda285b376 audio: Refactoring 2021-01-07 01:33:57 +09:00
Hajime Hoshi
e77beac235 audio: Define playerImpl interface 2021-01-07 00:59:13 +09:00
Hajime Hoshi
7cf32efcd5 audio: Rename playerImpl -> writerContextPlayerImpl 2021-01-07 00:46:50 +09:00
Hajime Hoshi
c42a40a541 audio: Rename context -> writerContext
This is a preparation of a new type of context with io.Readers.
2021-01-07 00:26:28 +09:00
Hajime Hoshi
9849cb5c2b audio/wav: Add DecodeWithSampleRate
Closes #1460
2021-01-06 23:09:52 +09:00
Hajime Hoshi
b78dde0e37 audio/mp3: Add DecodeWithSampleRate
Updates #1460
2021-01-06 23:03:50 +09:00
Hajime Hoshi
f6a440765b audio/vorbis: Fix comments 2021-01-06 23:02:56 +09:00
Hajime Hoshi
96ca0a7ff9 audio/vorbis: Add DecodeWithSampleRate
Updates #1460
2021-01-06 22:57:25 +09:00
Hajime Hoshi
30278b80aa audio: Use the larget buffer size for go2cpp 2021-01-05 16:07:36 +09:00
Hajime Hoshi
0bf6eee605 audio: Reduce making a slice at a player's read 2021-01-04 21:51:26 +09:00
Hajime Hoshi
3fb304e5a8 audio/internal/convert: Refactoring 2021-01-04 21:42:00 +09:00
Hajime Hoshi
f292594184 audio: Use a new implentation for go2cpp in Oto 2020-12-30 19:21:15 +09:00
Hajime Hoshi
9a705c64f3 audio: Bug fix: Compile error 2020-12-21 18:39:06 +09:00
Hajime Hoshi
2a2866bf65 audio: Use a null context on go2cpp 2020-12-21 18:35:42 +09:00
Hajime Hoshi
8e46769284 audio: Remove returning values from Play/Pause 2020-10-10 23:45:18 +09:00
Hajime Hoshi
0673b384d8 audio: Update the comment
Updates #859
2020-10-07 23:43:38 +09:00
Hajime Hoshi
f1f7b350de audio, audio/mp3, audio/vorbis, audio/wav: Remove Close functions
Fixes #859
2020-10-07 23:39:58 +09:00
Hajime Hoshi
426cb5948a audio/vorbis: Remove the GopherJS part
Updates #1129
2020-10-07 01:33:19 +09:00
Hajime Hoshi
a22fdee171 audio/mp3: Remove the GopherJS part
Updates #1129
2020-10-07 01:33:19 +09:00
Hajime Hoshi
944a19c6f7 audio: Remove the error returning value from NewContext
Updates #1380
2020-10-05 02:25:13 +09:00
Hajime Hoshi
29b4087ebf audio: Remove the error returning value from NewPlayerFromBytes
Updates #1380
2020-10-05 02:18:27 +09:00
Hajime Hoshi
f4d050161a audio: Remove (*Context).Update
Updates #1127
2020-10-04 15:41:34 +09:00
Hajime Hoshi
825972b3e1 audio/mp3, audio/vorbis, audio/wav: Remove deprecated functions
Updates #1127
2020-10-04 15:35:17 +09:00
Hajime Hoshi
bf515bb594 Update version to v2.0.0-alpha 2020-10-04 04:30:40 +09:00
Hajime Hoshi
9906e4b882 go generate 2020-09-20 23:28:17 +09:00
Hajime Hoshi
01a84a7121 audio/mp3: Make panic messages more consistent 2020-08-23 19:50:43 +09:00
Hajime Hoshi
d0181ce130 audio/wav: Remove an unused function 2020-08-23 19:49:31 +09:00
Hajime Hoshi
50fc914d72 Revert "audio/wav: Allow passing non-io.Seeker to Decode"
This reverts commit 19cd69da55.

Reason: Marked #1202 'won't fix'
2020-08-23 19:46:28 +09:00
Hajime Hoshi
19cd69da55 audio/wav: Allow passing non-io.Seeker to Decode
Updates #1202
2020-08-23 19:15:20 +09:00
Hajime Hoshi
a1ac574a60 docs: Use 'Deprecated:' annotation
Fixes #1160
2020-05-19 01:50:55 +09:00
Hajime Hoshi
4fa52dcc56 Remove MonoGame support
Fixes #1148
2020-05-08 19:32:28 +09:00
Hajime Hoshi
2e49ed5402 audio: Add a mock implementation for MonoGame
Updates #1078
2020-04-21 23:59:41 +09:00
Hajime Hoshi
7ac6b0bfa3 Update dependencies 2020-03-31 03:32:38 +09:00
hiroebe
ad00414a2a audio: Remove duplicate check for io.Seeker (#1051) 2020-01-10 19:37:31 +09:00
Hajime Hoshi
5182060899 Revert "audio: Bug fix: Fill empty data even when audio is suspended"
This reverts commit 529dddda53.

Updates #975

Reason: This causes PARTIAL_WAKE_LOCK on Android (AudioDirectOut) (#931)
2019-11-09 15:24:56 +09:00
Hajime Hoshi
529dddda53 audio: Bug fix: Fill empty data even when audio is suspended
When writing is stopped on Oto's players, unexpected delaying
happens.

The ideal solution is to have APIs to suspend and resume Oto's
player, but this is not easy. For a temporary solution, write
zero values on the players when audio is suspended.

Fixes #975
2019-11-07 01:13:00 +09:00
Hajime Hoshi
3c29fbdce2 jsutil: Refactoring: SliceToTypedArray -> CopySliceToJS
This unifieslocations of the temporary buffer.
2019-10-30 00:35:48 +09:00
Hajime Hoshi
fe805d7fd1 audio/vorbis/internal/stb: Bug fix: Forbid to use it from Wasm 2019-10-28 00:07:38 +09:00
Hajime Hoshi
f50875ff4b Change the build tag strategy: GopehrJS or not GopherJS 2019-10-27 23:33:22 +09:00
Hajime Hoshi
124389561c audio: Bug fix: The dummy player should have long enough buffer
In the current implementation, the audio context will be ready
when a player's Write is finished. If the buffer is too short,
Write finishes immediately without accessing the low audio layer
and the audio context would be ready without playing anything.

This change changes the dummy buffer to have a long enough buffer
so that Write will be wait for acutual audio playing.

Fixes #970
2019-10-23 02:41:12 +09:00
Hajime Hoshi
b78f678700 audio: Bug fix: (*Context).IsReady never returned true unless there is a player
The audio context is never ready unless there is a player. This is
problematic when a user tries to play audio after the context is
ready. Play a dummy player to avoid the blocking.

Fixes #969
2019-10-22 23:45:13 +09:00
Hajime Hoshi
689d230cb7 vorbis: Embed files for tests
Updates #881
2019-09-15 19:50:56 +09:00
Hajime Hoshi
dbb8a5e873 audio: Block all the players when suspended
This avoid to write 0 bytes when the app is in background. This
should reduce CPU usage.

Updates #931
2019-09-07 02:03:59 +09:00
Hajime Hoshi
c52e043006 Add jsutil package for new API of Go 1.13
Audio part still cannot be compiled due to Oto.

Fixes #878
2019-06-15 00:49:57 +09:00
Hajime Hoshi
13ce1c28b4 uidriver/mobile: Use timer.NewTimer instead of time.After
timer.NewTimer is much better than time.After in terms of memory
usage. See also https://golang.org/pkg/time/#After
2019-06-01 01:30:08 +09:00
Acid147
21abd85a63 Small cleanup (#877)
* Remove unused variables and constants
* Remove redundant return statement
* Change flock.NewFlock to flock.New
2019-05-26 18:06:43 +09:00