Hajime Hoshi
f16f6cf4b9
audio/internal/convert: Add Float32Reader and NewReaderFromFloat32Reader
2019-01-15 11:46:31 +09:00
Hajime Hoshi
13f6549cb6
audio/vorbis: Remove duplicated decoded data
...
There was duplicated decoded date in audio/vorbis package and Ogg
decoder package. This change removes this duplication and reduces
memory usage.
2019-01-15 03:52:27 +09:00
Hajime Hoshi
6d714a16cf
audio: Remove unneeded 'break'
2019-01-10 02:34:58 +09:00
Hajime Hoshi
a6b3f761f8
audio: Refactoring: Remove dependency on clock package
2019-01-10 00:59:38 +09:00
Hajime Hoshi
28c96d256a
audio: Bug fix: Test compilation error
2019-01-09 23:39:12 +09:00
Hajime Hoshi
14404334e7
audio: Rename players to mux
2019-01-09 22:10:52 +09:00
Hajime Hoshi
e9422a9f2c
audio: Improve test flakiness
2019-01-06 00:11:34 +09:00
Hajime Hoshi
7956e0ebbc
Revert "Revert "audio: No need goroutine for tests""
...
This reverts commit 62a9bb195c
.
2018-12-28 02:18:16 +09:00
Hajime Hoshi
62a9bb195c
Revert "audio: No need goroutine for tests"
...
This reverts commit 7740656054
.
2018-12-28 02:15:11 +09:00
Hajime Hoshi
7740656054
audio: No need goroutine for tests
2018-12-27 03:37:29 +09:00
Hajime Hoshi
ed7552962d
audio: Improve test flakiness
2018-12-27 03:34:27 +09:00
Hajime Hoshi
1760070130
audio: Add comments about GC ( #746 )
2018-12-18 23:07:19 +09:00
Hajime Hoshi
b9eba54115
audio: Use a dummy driver for testing
...
Fixes #750
This also fixes an out-of-index bug when all players are skipped.
2018-12-17 23:06:59 +09:00
Hajime Hoshi
b0cb216f5f
audio: Close audio after its playing finishes
...
Fixes #746
This is a temporal fix and we will need further re-designing of
audio package.
2018-12-17 04:02:32 +09:00
Hajime Hoshi
08a369b8fd
audio: Bug fix: GC audio players correctly
...
Fixes #746
2018-12-15 22:33:45 +09:00
Hajime Hoshi
feca647087
audio/vorbis: Unretain the Ogg decoder on Close ( #733 )
2018-11-09 03:48:28 +09:00
Hajime Hoshi
eda8d61413
audio/vorbis: Unretain the Ogg decoder after decoding is done ( #733 )
2018-11-09 03:46:00 +09:00
Hajime Hoshi
d14202ef7b
audio: Add Context.IsReady
...
Fixes #717
2018-10-16 00:02:19 +09:00
Hajime Hoshi
c0884b5ab2
audio/vorbis: Avoid unnecessary appending
2018-10-06 00:06:47 +09:00
Hajime Hoshi
1cf3022ce6
audio/vorbis: Update stbvorbis.js
...
Fixes #667
2018-10-05 22:12:39 +09:00
Hajime Hoshi
d5ca4c3953
audio/vorbis: Bug fix: compilation error
2018-09-02 23:55:59 +09:00
Hajime Hoshi
70044013e9
audio/vorbis: Rename []uint8 -> []byte
2018-09-02 23:54:50 +09:00
Hajime Hoshi
59bcbca379
audio: Add NewInfiniteLoopWithIntro ( #652 )
2018-07-28 21:25:42 +09:00
Hajime Hoshi
2969de5b1f
audio: Refactoring: Redefine bytesPerSample
2018-07-24 01:54:01 +09:00
Hajime Hoshi
a0bd31ef1f
audio: Rename stream -> src
2018-07-24 01:22:05 +09:00
Hajime Hoshi
6a1afe8fbe
audio: Add test for negative position
2018-07-23 04:01:43 +09:00
Hajime Hoshi
0d5924b448
audio: Add test for InifiniteLoop
2018-07-23 03:30:06 +09:00
Hajime Hoshi
34ac185327
audio: Rename file
2018-07-23 03:15:17 +09:00
Hajime Hoshi
082556ad5c
audio: Better error message
2018-07-23 02:28:07 +09:00
Hajime Hoshi
05ac690db5
audio/vorbis/internal/stb: Use stbvorbis.js
...
Fixes #641
2018-07-22 17:15:28 +09:00
Hajime Hoshi
d752408da3
Fix comments not to use the term 'this function'
2018-07-15 01:04:46 +09:00
Hajime Hoshi
c6842f2cd8
audio/vorbis/internal/stb: Use TypedArrayOf ( #642 )
2018-07-07 17:46:55 +09:00
Hajime Hoshi
c0ccc16767
audio/mp3: Use TypedArray ( #642 )
2018-07-07 17:19:47 +09:00
Hajime Hoshi
e61af537f4
audio/vorbis: Use jfreymuth/oggvorbis when the target is Wasm
2018-07-05 02:27:23 +09:00
Hajime Hoshi
de7065bbf7
audio/vorbis/internal/stb: Use float32 version of decoder for efficiency
2018-07-05 01:37:51 +09:00
Hajime Hoshi
9bf2eaff58
audio/vorbis/internal/stb: Rename files
2018-07-04 12:04:00 +09:00
Hajime Hoshi
992f6c767a
audio/vorbis: Use stb_vorbis.c on browsers
...
This change adds a Ogg/Vorbis decoder stb_vorbis.c usage that is
compiled by Emscripten as WebAssembly.
Fixes #623
2018-07-04 01:23:11 +09:00
Hajime Hoshi
6e51d31524
Use new GopherWasm API ( #634 )
...
I plan to merge this right after
https://github.com/gopherjs/gopherwasm/pull/3 is merged.
2018-06-30 00:02:15 +09:00
Hajime Hoshi
a9359e4ef8
Use GopherJS/GopherWasm
2018-06-24 16:10:24 +09:00
Hajime Hoshi
a8c27b4eb1
audio/mp3: Bug fix: float32ArrayToSlice didn't work for Wasm
2018-06-24 04:33:05 +09:00
Hajime Hoshi
baee2ba4c9
audio/mp3: Bug fix: ArrayBuffer in the backend can be different from Uint8Array range
2018-06-24 02:31:34 +09:00
Hajime Hoshi
4c70ad382d
audio/mp3: Bug fix: Avoid using a detached ArrayBuffer
2018-06-24 02:12:00 +09:00
Hajime Hoshi
5aefa837db
audio/mp3: Use gopherwasm
2018-06-24 01:42:16 +09:00
Hajime Hoshi
273093b237
audio: Skip the player in the state of starting, seeking or EOF
...
This is basically reland of
2fee7a6fe5
.
Before this change, if a player's buffer was not enough for
reading, 0 value were used and this caused noises. The reading
size should be aligned with all the players.
However, there are some cases that the player should be skippped.
For example, just after a player just starts playing or seeking,
the buffer is empty. In this case, other players should not wait
for the player since decoding might take some time. Another case
is that the player reached EOF.
This change aligns the read buffer sizes but use zero values only
when the player just starts or seeks, or reaches EOF.
2018-06-09 22:00:11 +09:00
Hajime Hoshi
facf184548
Revert "audio: Consider the state of the player's starting and seeking"
...
This reverts commit 2fee7a6fe5
.
Reason: This causes freezing on browsers
2018-06-09 19:28:20 +09:00
Hajime Hoshi
b62e07b9bd
audio: Remove println
2018-06-09 19:05:07 +09:00
Hajime Hoshi
2fee7a6fe5
audio: Consider the state of the player's starting and seeking
...
Before this change, if a player's buffer was not enough for
reading, 0 value were used and this caused noises. The reading
size should be aligned with all the players.
Just after a player just starts playing or seeking, the buffer is
empty but other players should not wait for the player read since
decoding might take some time.
To summerize, this change aligns the read buffer sizes but use
zero values only when the player just starts or seeks.
2018-06-09 19:01:57 +09:00
Hajime Hoshi
91958d24ef
audio: Use bigger buffers for mobiles
2018-06-09 18:14:18 +09:00
Hajime Hoshi
faaf391619
audio: Give up syncing audio timer and game timer ( #617 )
...
Syncing was already incomplete (e.g. decoding takes more than one
frame and delays can happen in this case). Giving up syncing audio
timer and game timer should not affect the game experience so much.
Instead, clock implementation will be much simpler.
2018-05-27 00:30:12 +09:00
Hajime Hoshi
5976e4bbbc
audio: More intellegent suspending/resuming ( #617 )
...
Before this change, the audio is suspended when the game stops for
1/12[s]. However, as game often stops for more than 1/12[s]
especially on mobiles, this implemntation caused some audio
glitches.
This change fixes this problem by re-implementing suspending/
resumeing audio by detecting the window is active/focused or not.
2018-05-26 23:31:04 +09:00