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
Hajime Hoshi
df048d9bf6
audio: Don't use nosync GopherJS
...
nosync package is good in terms of performance, but this assumes
that duplicated lock never happens. As audio package runs multiple
goroutines, theoretically duplicated lock can happen, and it looks
like this is an actual case (#603 ).
This change replaces nosync usages with regular sync usages.
Probably I'll deprecate nosync usages via internal/sync package
everywhere in Ebiten.
This might fix #603 .
2018-05-09 12:14:20 +09:00
Hajime Hoshi
83f168a010
audio/vorbis: Bug fix: fail to decode too short ogg
2018-04-07 22:13:12 +09:00
Hajime Hoshi
75ac8e6f2b
vorbis: Add tests ( #570 )
2018-03-31 01:51:39 +09:00
Hajime Hoshi
a31874ed48
vorbis: Bug fix: Length returned wrong result with monoral source ( #570 )
2018-03-30 11:59:03 +09:00
Hajime Hoshi
f1f0277deb
wav: Set finalizer for the stream
2018-03-27 12:10:57 +09:00
Hajime Hoshi
88cfd219e7
mp3: Set finalizer for the stream
2018-03-27 10:58:13 +09:00
Hajime Hoshi
f4e018a336
vorbis: Bug fix: Read was not responsible with Close ( #569 )
2018-03-27 10:51:21 +09:00
Hajime Hoshi
632a97974d
audio: Fix wrong English word
2018-03-22 00:36:48 +09:00
Hajime Hoshi
18113f259a
audio: NewPlayer now accepts io.ReadCloser
...
Fixes #414
2018-03-22 00:33:17 +09:00
Hajime Hoshi
1b0e71765f
internal/hooks: Rename Update -> BeforeUpdate
2018-03-15 02:50:10 +09:00
Hajime Hoshi
063153e41d
ebitenutil: Speed up to avoid copying by image.Rect
2018-03-11 21:39:22 +09:00
Hajime Hoshi
61950817fa
audio: Bug fix: importing audio without NewContext causes error
2018-03-04 22:18:14 +09:00
Hajime Hoshi
647d8f0094
audio: Use time.NewTimer and Stop instead of time.After
...
Fixes #532
2018-03-04 19:23:38 +09:00
Hajime Hoshi
392ee92aeb
Add internal/hooks to replace internal/audiobinding
2018-02-04 17:33:17 +09:00
Hajime Hoshi
2322c5600b
audio: Revert the buffer size
...
This basically reverts df62b16270
.
2018-01-29 11:57:52 +09:00
Hajime Hoshi
5c55df87d7
audio: Deprecate Size() and add Length() ( #466 )
2018-01-09 01:25:38 +09:00
Hajime Hoshi
ef282f7f4f
audio/internal/convert: Remove unused functions
2018-01-09 00:26:54 +09:00
Hajime Hoshi
e83810fc57
audio/internal/convert: Add resampling_test.go
...
Fixes #369
2018-01-08 23:44:44 +09:00
Hajime Hoshi
d5d5ebb0b3
clock: Make ProceedAudioTimer take a number of frames
2018-01-07 18:32:19 +09:00
Hajime Hoshi
d12a3d4073
clock: Refactoring
2018-01-07 17:10:56 +09:00
Hajime Hoshi
0b3495b81f
audio: Use mock sync on browsers
2018-01-07 15:26:18 +09:00
Hajime Hoshi
11a1e6ec39
audio/internal/convert: Adjust window size again (confirmed this worked well on iPhone 6)
2018-01-06 01:49:55 +09:00
Hajime Hoshi
5b2dbf6036
audio/internal/convert: Adjust resamplingBufferSize again
2018-01-06 01:46:54 +09:00
Hajime Hoshi
ab70f6fc58
audio/internal/convert: Much faster sine/cosine functions
2018-01-06 00:15:07 +09:00
Hajime Hoshi
005d18ceff
audio/internal/convert: Use int64 (now it is fast enough on browsers?)
2018-01-05 20:03:17 +09:00
Hajime Hoshi
c020101afc
audio/internal/convert: Use cosine table
2018-01-05 19:40:12 +09:00
Hajime Hoshi
2884fb7070
audio/internal/convert: Fix algorithm
2018-01-05 18:21:14 +09:00
Hajime Hoshi
df62b16270
audio: Use bigger buffer size for mobile phones
2017-12-31 01:28:08 +09:00
Hajime Hoshi
de1a22d9f3
audio/internal/convert: Bug fix: remove unneeded import
2017-12-31 00:15:36 +09:00
Hajime Hoshi
03942292f5
audio/internal/convert: Change the window smaller for performance
...
On iOS, resapling performance was not good.
2017-12-31 00:14:52 +09:00
Hajime Hoshi
97ec367e23
audio: Use :=
2017-12-30 21:18:34 +09:00
Hajime Hoshi
65c0bf55fc
audio: Fix buffer size for the latest Oto
2017-12-28 20:37:36 +09:00
Hajime Hoshi
a98b03f738
audio/mp3: Flexible timeout
2017-12-27 19:18:02 +09:00
Hajime Hoshi
e2a026138a
audio/internal/convert: Use float64 for positions
2017-12-27 18:55:17 +09:00
Hajime Hoshi
6d6504085c
audio/internal/convert: Rename members
2017-12-27 18:05:55 +09:00
Hajime Hoshi
50a6158513
audio/mp3: Adjust timeout
2017-12-26 14:55:01 +09:00
Hajime Hoshi
3855bcc5a4
audio/mp3: Change the timeout for decoding (for Firefox)
2017-12-26 00:59:36 +09:00
Hajime Hoshi
ad54538d07
audio/mp3: Use byte instead of uint8
2017-12-26 00:11:17 +09:00
Hajime Hoshi
bb44eebe78
audio/mp3: Replace magic numbers with consts in io package
2017-12-26 00:10:30 +09:00
Hajime Hoshi
908ccb9404
audio/mp3: Try again decoding when timed out ( #464 )
2017-12-26 00:08:33 +09:00
Hajime Hoshi
623caad3ec
audio: Bug fix: appropriate buffer size on browsers
2017-12-25 01:54:55 +09:00
Hajime Hoshi
60eef4618d
audio: Revert size (due to noise on browsers)
2017-12-25 00:16:47 +09:00
Hajime Hoshi
4a06198160
audio: Smaller buffers (experimental)
2017-12-24 22:16:45 +09:00
Hajime Hoshi
5679103d71
audio: Use io.CopyN
2017-12-24 21:21:15 +09:00
Hajime Hoshi
a74cf21f21
audio/mp3: Revert calling Gosched(): Looks like this doesn't make sense
2017-12-24 04:53:51 +09:00
Hajime Hoshi
2155b2f04a
audio/mp3: Channels should be used only once
2017-12-24 04:40:20 +09:00
Hajime Hoshi
e14257d76d
audio: A little better buffer size for Android Chrome
2017-12-24 04:01:41 +09:00
Hajime Hoshi
ae6bdf23f2
audio: Recalculate audio buffer size
2017-12-24 03:54:42 +09:00
Hajime Hoshi
7b1f501bd7
audio/mp3: Force context switch when decoding
2017-12-24 03:14:10 +09:00
Hajime Hoshi
18c6890d96
audio: More often reading (decoding) audio source to reduce noise
2017-12-24 00:58:14 +09:00
Hajime Hoshi
7ce87a6c82
audio: Simplify read/write logic
2017-12-24 00:51:17 +09:00
Hajime Hoshi
00d8d61795
audio: Adjust buffer size
2017-12-23 23:15:44 +09:00
Hajime Hoshi
f3997cf5ae
audio: Fix comments
2017-12-23 21:14:08 +09:00
Hajime Hoshi
a540d6b2bb
audio: Adjust buffer size
2017-12-23 19:59:52 +09:00
Hajime Hoshi
19ca74e86b
audio: Remove player's mutex
2017-12-23 19:01:28 +09:00
Hajime Hoshi
637ed0d965
audio: Refactoring
2017-12-23 18:39:14 +09:00
Hajime Hoshi
04739a7249
audio: Bug fix: Seek might cause dead lock after Close
2017-12-23 18:31:20 +09:00
Hajime Hoshi
db77658935
audio: Reduce locks by using channels
2017-12-23 17:55:48 +09:00
Hajime Hoshi
ba3de063ac
audio: Refactoring
2017-12-23 17:05:14 +09:00
Hajime Hoshi
3dcb486a5c
audio: Refactoring
2017-12-23 05:02:15 +09:00
Hajime Hoshi
7cc6154de6
audio: Reduce noise ( #443 )
2017-12-23 04:25:48 +09:00
Hajime Hoshi
3addbfce8a
audio: Simplify error handling
2017-12-23 04:12:12 +09:00
Hajime Hoshi
a21571fb57
audio: Refactoring
2017-12-23 04:01:18 +09:00
Hajime Hoshi
a5f8c1b1f8
audio: Async reading sources ( #443 )
2017-12-23 03:24:54 +09:00
Hajime Hoshi
31350dc497
mp3: Avoid calling Length() if possible ( #463 )
2017-12-22 05:17:01 +09:00
Hajime Hoshi
7b76b7822f
audio: Fix comments
2017-12-17 01:24:45 +09:00
Hajime Hoshi
7cd89bc44b
audio: Adjust buffer size for Android Chrome
2017-12-17 01:20:10 +09:00
Hajime Hoshi
7f9afd4e14
audio: Unify buffer size 1/15[s] experimentally
...
This would mitigate glitches on Windows (#451 )
2017-12-17 00:41:35 +09:00
Hajime Hoshi
6956e15b08
audio: Fix comments
2017-12-02 16:26:20 +09:00
Hajime Hoshi
3db965d547
audio: Fix doc
2017-12-01 01:38:47 +09:00
Hajime Hoshi
0379e3c591
audio: Deprecate Update
2017-12-01 00:26:28 +09:00
Hajime Hoshi
dba7124e38
audio: Use safer buffer size as experiment ( #451 )
2017-11-23 23:31:26 +09:00
Hajime Hoshi
b46ed224a7
mp3: Add comment about error handling
2017-10-18 02:11:09 +09:00
Hajime Hoshi
2624ed6824
audio: Refactoring
2017-10-14 19:45:32 +09:00
Hajime Hoshi
bc2469a275
audio: Fix wrong comments
2017-10-01 18:07:18 +09:00
Hajime Hoshi
626b772b25
doc: Improve comments
2017-10-01 17:24:30 +09:00
Hajime Hoshi
b4e3e9375c
audio: Use samller window for resampling on browsers
2017-09-29 02:05:14 +09:00
Hajime Hoshi
2c6f6e605e
audio/mp3: Bug fix: Decode error on Safari ( #438 )
2017-09-28 03:10:51 +09:00
Hajime Hoshi
1f051b50db
audio/mp3: Handle error when decoding
2017-09-28 00:55:18 +09:00
Hajime Hoshi
fe2380f1ab
audio: Add comments
2017-09-26 00:38:50 +09:00
Hajime Hoshi
d9f6699b7f
audio: Bug fix: Super noisy with 32000 Hz on browsers
2017-09-25 08:04:28 +09:00
Hajime Hoshi
8e75964cb1
audio: Adjust buffer size for browsers ( #434 )
2017-09-24 20:16:07 +09:00
Hajime Hoshi
32b33dd86d
audio/mp3: Fix comments
2017-09-24 19:28:09 +09:00
Hajime Hoshi
8725589619
audio/mp3: Bug fix: decoding a mono MP3 panics on browsers ( #421 )
2017-08-28 01:36:27 +09:00
Hajime Hoshi
a225f666ac
audio: Bug fix: Race condition on 'pos' member ( #413 )
2017-08-17 11:48:29 +09:00
Hajime Hoshi
8c3a020693
audio: Bug fix: Race condition when seeking ( #413 )
2017-08-17 11:44:30 +09:00
Hajime Hoshi
3216d50460
audio: Refactoring
2017-08-17 11:15:04 +09:00
Hajime Hoshi
ba75592807
audio: Bug fix: Race condition ( #412 )
2017-08-17 11:05:59 +09:00
Hajime Hoshi
95a061df7f
loop: Remove dependency from audio to loop
2017-08-06 01:43:09 +09:00
Hajime Hoshi
2e7a477f9d
clock: Refactoring
2017-08-06 01:28:14 +09:00
Hajime Hoshi
b7d559fdf3
clock: Refactoring: Move frames calculation to clock
2017-08-06 00:18:38 +09:00
Hajime Hoshi
a92f77c207
clock: Rename function names; loop: Rename variables
2017-08-05 22:25:21 +09:00
Hajime Hoshi
94843fbe73
loop: Move clock.FPS to loop.FPS to reduce dependencies
2017-08-05 22:08:58 +09:00
Hajime Hoshi
697c23a807
audio: Fix comment
2017-07-15 16:53:34 +09:00
Hajime Hoshi
b15ad9c1d0
audio: Refactoring
2017-07-15 16:31:08 +09:00
Hajime Hoshi
5fd8fe839b
audio: Simplify player's Read/Seek
2017-07-15 03:15:54 +09:00
Hajime Hoshi
59110ba5ec
clock: Refactoring: Use clock.FPS everywhere
2017-07-14 03:19:50 +09:00
Hajime Hoshi
8dda875c30
doc: Explaing about audio syncing
2017-07-14 02:26:41 +09:00
Hajime Hoshi
bfb6a2bfe7
audio: Adjust buffer size (examples/audio might cause noises with /30)
2017-07-14 01:57:07 +09:00
Hajime Hoshi
7f320f9518
audio: Fix doc
2017-07-14 01:45:36 +09:00
Hajime Hoshi
3d8fc790b6
loop: Remove dependency on audio
2017-07-14 01:42:58 +09:00
Hajime Hoshi
5d1d0844e1
Add internal/clock
2017-07-14 00:34:05 +09:00
Hajime Hoshi
c3202b8e58
audio: Adjust the buffer size
2017-07-13 23:48:03 +09:00
Hajime Hoshi
3454b32cb6
audio: Bug fix: oto.Player must not be called on init
2017-07-13 01:34:02 +09:00
Hajime Hoshi
80b10b2d49
audio: Use variables instead of channels to avoid GopherJS bugs
2017-07-13 01:34:02 +09:00
Hajime Hoshi
fdaf03b209
audio: Make the game loop depend on the audio clock
2017-07-13 01:33:59 +09:00
Hajime Hoshi
db902dbbee
audio: Bug fix: stream size must be multiple of 4 ( #384 )
2017-07-12 00:51:36 +09:00
Hajime Hoshi
1828830b4a
audio/internal/convert/resampling: Better boundary check
2017-07-12 00:40:15 +09:00
Hajime Hoshi
d78a534a0b
audio/internal/convert: Bug fix: invalid size comparison
2017-07-09 15:29:56 +09:00
Hajime Hoshi
079395dd6f
audio: Better variable name
2017-07-09 05:14:13 +09:00
Hajime Hoshi
2552f1625d
audio: Discard audio data when queue seems full
2017-07-09 05:06:34 +09:00
Hajime Hoshi
5cf7b2491a
audio: Bug fix: noise on audio
2017-07-09 04:09:21 +09:00
Hajime Hoshi
16f84f6a89
audio/mp3: Use new go-mp3 API
2017-07-04 22:01:06 +09:00
Hajime Hoshi
46a3f1530e
audio: Fix comment
2017-07-03 02:31:18 +09:00
Hajime Hoshi
d0778b5253
audio: Avoid using time.After on browsers for performance
2017-07-02 17:27:07 +09:00
Hajime Hoshi
45ca2a1f79
audio: Bug fix: possible overflow and closing nil channel
2017-07-02 16:28:02 +09:00
Hajime Hoshi
1fe2d90d8a
audio: Bug fix: Write can block and needs to be called asynchronously ( #373 )
2017-06-29 03:36:19 +09:00
Hajime Hoshi
e3176f6693
audio/internal/convert: Optimization for seeking
2017-06-26 02:18:11 +09:00
Hajime Hoshi
3be2b2516f
audio/mp3: Refactoring
2017-06-26 02:03:23 +09:00
Hajime Hoshi
9130c490c2
audio: Remove convert.Seeker: mp3.Decoded is now io.Seeker
2017-06-25 23:33:23 +09:00
Hajime Hoshi
1f28c687cf
audio: Bug fix: Seeking might block forever when another seeking is not done yet
2017-06-24 23:33:19 +09:00
Hajime Hoshi
88c5e4ca2d
audio/mp3: Remove some comments
2017-06-19 01:10:11 +09:00
Hajime Hoshi
fe70dcc51f
audio/mp3: Bug fix: noise on browsers
2017-06-19 01:04:37 +09:00
Hajime Hoshi
0f20b7b216
audio/mp3: Add JavaScript version
2017-06-18 23:49:05 +09:00
Hajime Hoshi
686e2d3318
audio/mp3: Create hajimehoshi/go-mp3 package
2017-06-18 23:11:39 +09:00
Hajime Hoshi
09ce575774
audio/mp3: Add sample rate conversion
2017-06-18 22:51:11 +09:00
Hajime Hoshi
6c0fa5e55f
audio/mp3: Add Decoder.SampleRate
2017-06-18 22:36:56 +09:00
Hajime Hoshi
e9c6bec432
audio/mp3: Add Decoder struct
2017-06-18 21:28:16 +09:00
Hajime Hoshi
63f1dceb8b
audio/mp3: Remove global variables 'reader*'
2017-06-18 18:34:58 +09:00
Hajime Hoshi
cf05a581a4
audio/mp3: Refactoring
2017-06-18 18:15:56 +09:00
Hajime Hoshi
7b1f3fae99
audio/mp3: Refactoring
2017-06-18 18:08:22 +09:00
Hajime Hoshi
d43df208d2
audio/mp3: Make readMainL3 to return *mpeg1MainData
2017-06-18 18:06:41 +09:00
Hajime Hoshi
940c3e65a2
audio/mp3: Make readHeader to return *mpeg1FrameHeader
2017-06-18 17:44:04 +09:00
Hajime Hoshi
1c779b6017
audio/mp3: Refactoring
2017-06-18 17:40:28 +09:00
Hajime Hoshi
2767136947
audio/mp3: Refactoring: readSideInfo (was readAudioL3) returns *mpeg1SideInfo
2017-06-18 17:37:46 +09:00
Hajime Hoshi
80e6d4a175
audio/mp3: Rename sideInfo to sideInfoBytes
2017-06-18 17:24:33 +09:00
Hajime Hoshi
2b54013ccc
audio/mp3: Refactoring: Rename global variables
2017-06-18 17:19:16 +09:00
Hajime Hoshi
8efd0e725f
audio/mp3: Remove global variables 'v_vec' and 'store'
2017-06-18 17:13:38 +09:00
Hajime Hoshi
e0661a0ac6
audio/mp3: Refactoring
2017-06-18 16:50:08 +09:00
Hajime Hoshi
0291330a1b
audio/mp3: Remove global variable theMainDataBytes
2017-06-18 16:45:36 +09:00
Hajime Hoshi
782284efd9
audio/mp3: Refactoring: Remove mainDataBytes.ptr
2017-06-18 13:45:08 +09:00
Hajime Hoshi
ff4529f1e7
audio/mp3: Refactoring: Remove mainDataBytes.top
2017-06-18 13:15:48 +09:00
Hajime Hoshi
3a55c2f805
audio/mp3: Refactoring
2017-06-18 02:38:43 +09:00
Hajime Hoshi
93c48e15c0
audio/mp3: Remove global variable 'theSideInfo'
2017-06-18 01:32:44 +09:00
Hajime Hoshi
9890a530a2
audio/mp3: Remove global variable 'writer'
2017-06-18 00:02:51 +09:00
Hajime Hoshi
19b3df1da3
audio/mp3: Remove audioWriteRaw
2017-06-17 23:58:15 +09:00
Hajime Hoshi
ae85ec991c
audio/mp3: Refactoring: Add frame.numberOfChannels
2017-06-17 23:33:29 +09:00
Hajime Hoshi
76320010f4
audio/mp3: Bug fix: LR was swapped
2017-06-17 23:10:06 +09:00
Hajime Hoshi
c496d94047
audio/mp3: Remove isEOF
2017-06-17 19:33:49 +09:00
Hajime Hoshi
cb6e7366e2
audio/mp3: Add frame struct
2017-06-17 18:56:08 +09:00
Hajime Hoshi
0e4c949471
audio/mp3: Refactoring: layer member usage
2017-06-17 18:20:43 +09:00
Hajime Hoshi
b8a965b471
audio/mp3: Remove C files
2017-06-17 17:51:53 +09:00
Hajime Hoshi
ab8a9a1e36
audio/mp3: Move t_mpeg1_header to Go
2017-06-17 17:51:53 +09:00
Hajime Hoshi
a0af1595de
audio/mp3: Move t_mpeg1_side_info to Go
2017-06-17 17:51:53 +09:00
Hajime Hoshi
d30f025d85
audio/mp3: Move t_mpeg1_main_data to Go
2017-06-17 17:51:41 +09:00
Hajime Hoshi
408b37dd7a
audio/mp3: Remove eof const
2017-06-17 06:59:27 +09:00
Hajime Hoshi
541a633361
audio/mp3: Refactoring: Use uint32 for output data
2017-06-17 06:53:37 +09:00
Hajime Hoshi
51a2507430
audio/mp3: Remove all exports to C
2017-06-17 06:48:27 +09:00
Hajime Hoshi
02e284ea9d
audio/mp3: Refactoring
2017-06-17 06:43:50 +09:00
Hajime Hoshi
e53d5920b0
audio/mp3: Move Decode_L3 to Go
2017-06-17 06:28:25 +09:00
Hajime Hoshi
1c86a90c8e
audio/mp3: Remove g_error
2017-06-17 03:01:39 +09:00
Hajime Hoshi
61c76a3749
audio/mp3: Fix Get_Main_Dat to return error
2017-06-17 02:50:38 +09:00
Hajime Hoshi
73190062da
audio/mp3: Move Read_Frame to Go
2017-06-17 02:43:13 +09:00
Hajime Hoshi
b08897a4e5
audio/mp3: Make Get_Byte a Go function
2017-06-17 01:36:58 +09:00
Hajime Hoshi
bdb87b0257
audio/mp3: Bug fix: updating cache in getBytes wrongly
2017-06-17 01:32:17 +09:00
Hajime Hoshi
e5fbcd50de
audio/mp3: Refactoring getByte(s)
2017-06-17 00:35:01 +09:00
Hajime Hoshi
e41c0d3514
audio/mp3: Move Read_Header to Go
2017-06-17 00:08:47 +09:00
Hajime Hoshi
f6e7e3601f
audio/mp3: Move Read_Huffman to Go
2017-06-16 23:41:13 +09:00
Hajime Hoshi
4b9242cbd0
audio/mp3: Move Requantize_Process_Long to Go
2017-06-16 22:56:54 +09:00
Hajime Hoshi
8e4abca1f8
audio/mp3: Move Requantize_Process_Short to Go
2017-06-16 22:29:16 +09:00
Hajime Hoshi
bf9a259565
audio/mp3: Bug fix in L3_Hybrid_Synthesis
2017-06-16 20:00:32 +09:00
Hajime Hoshi
74c2953f56
audio/mp3: Move L3_Requantize to Go
2017-06-16 16:43:45 +09:00
Hajime Hoshi
c96b54dbfb
audio/mp3: Refactoring
2017-06-16 16:27:55 +09:00
Hajime Hoshi
3f24b7193a
audio/mp3: Move L3_Reorder to Go
2017-06-15 11:06:58 +09:00
Hajime Hoshi
ef85c9a7bc
audio/mp3: Move L3_Antialias to Go
2017-06-15 03:20:00 +09:00
Hajime Hoshi
53c2c5d810
audio/mp3: Move L3_Stereo to Go
2017-06-15 02:15:17 +09:00
Hajime Hoshi
9e002e3e52
audio/mp3: Move L3_Frequency_Inversion to Go
2017-06-15 01:40:42 +09:00
Hajime Hoshi
91c022dcda
audio/mp3: Move L3_Subband_Synthesis to Go
2017-06-15 01:31:12 +09:00
Hajime Hoshi
b54f711243
audio/mp3: Move L3_Hybrid_Synthesis to Go
2017-06-14 23:45:18 +09:00
Hajime Hoshi
78626426fe
audio/mp3: Move Read_Main_L3 to Go
2017-06-14 11:07:08 +09:00
Hajime Hoshi
746548f5d2
audio/mp3: Move Read_Audio_L3 to Go
2017-06-14 02:29:15 +09:00
Hajime Hoshi
49c95eb69f
audio/mp3: Move IMDCT_Win to Go
2017-06-14 01:38:38 +09:00
Hajime Hoshi
b3e3adb9f0
audio/mp3: Move Read_CRC to Go
2017-06-13 10:28:21 +09:00
Hajime Hoshi
5dd91f6c83
audio/mp3: Move main_data_* to Go
2017-06-13 10:21:55 +09:00
Hajime Hoshi
3e76a77e6b
audio/mp3: Move side_info_* to Go
2017-06-13 02:49:31 +09:00
Hajime Hoshi
68a2625fd2
audio/mp3: Move huffman tables to Go
2017-06-13 02:24:45 +09:00
Hajime Hoshi
bf3f6c9ff6
audio/mp3: Start implementing
2017-06-12 23:32:42 +09:00
Hajime Hoshi
d8f425962c
audio: Bug fix: players' buffer can be empty when seeking before proceeding ( #366 )
2017-06-11 19:13:45 +09:00
Hajime Hoshi
1da2e35b7a
android: Adjust the buffer size to reduce noise on Android
2017-06-04 22:42:12 +09:00
Hajime Hoshi
3b9e6c2708
audio: Use the new oto API
2017-06-04 21:09:42 +09:00
Hajime Hoshi
8957b1b857
audio: Non-blocking reading buffers
2017-06-04 16:46:02 +09:00
Hajime Hoshi
10bd1c1786
audio: byte -> uint8
2017-06-04 16:05:22 +09:00
Hajime Hoshi
17d6ea16de
audio: More narrow critical section
2017-06-04 04:37:59 +09:00
Hajime Hoshi
7ad82dab44
audio: Bug fix: consider seeking streams when reading multiple sources
2017-06-04 04:05:30 +09:00
Hajime Hoshi
e0bc85e790
audio/vorbis: Cause runtime.Gosched more often
2017-06-04 03:44:39 +09:00
Hajime Hoshi
cf452bb709
audio: Bug fix: nosync might cause unexpected panics because of runtime.Gosched
2017-06-04 03:42:26 +09:00
Hajime Hoshi
873b3905df
audio: Split locks
2017-06-04 03:14:48 +09:00
Hajime Hoshi
e7478b794a
audio: Change the spec: Now audio.Player's functions are always concurrent safe
2017-06-04 02:52:11 +09:00
Hajime Hoshi
f53a55b63a
audio: Bug fix: some fields need to be protected by mutex
2017-06-04 02:45:38 +09:00
Hajime Hoshi
579491afbd
audio: Clarify concurrent safety
2017-06-04 01:03:01 +09:00
Hajime Hoshi
98c48463d2
audio: NewPlayerFromBytes now never returns errors
2017-06-03 01:12:58 +09:00
Hajime Hoshi
1b72263ce1
sync: Add sync package
2017-05-27 02:37:01 +09:00
Hajime Hoshi
64862929a9
audio: Fix usage of 'oto'
2017-05-05 15:13:46 +09:00
Hajime Hoshi
766072cdbb
audio: Make 'oto' package and use that ( #351 )
2017-05-04 21:09:02 +09:00
Hajime Hoshi
858824821f
doc: Remove 'concurrent-safe' comments from most of non-global functions
2017-04-18 01:33:03 +09:00
Hajime Hoshi
4d3ad434b3
audio/wav, audio/vorbis: Add comments about errors ( #331 )
2017-04-18 01:25:23 +09:00
Hajime Hoshi
1497d52928
audio: Add comments about errors ( #331 )
2017-04-18 00:59:10 +09:00
Hajime Hoshi
7e4e762d96
audio: Reuse jmethodID objects
2017-04-08 01:41:07 +09:00
Hajime Hoshi
b5a422700a
audio: Reuse jclass objects
2017-04-08 01:35:48 +09:00
Hajime Hoshi
a6c5b98f0f
audio: Release AudioTrack class ( #336 )
2017-04-07 11:36:24 +09:00
Hajime Hoshi
713a537637
audio: Delete local refs explicitly in JNI ( #336 )
2017-04-06 02:12:20 +09:00
Hajime Hoshi
b0454b874e
Fix frame counters to int64 ( #337 )
2017-04-06 00:45:28 +09:00
Hajime Hoshi
ebedb24e43
audio: Update doc for errors ( #331 )
2017-04-05 01:12:02 +09:00
Hajime Hoshi
892d5d07d0
audio: Remove TODO
2017-03-27 22:48:57 +09:00
Hajime Hoshi
5da58fc949
audio: Fix comment
2017-02-18 15:48:31 +09:00
Hajime Hoshi
8bfcea8f42
audio: Fix compile error on macOS ( #324 )
2017-02-18 15:42:35 +09:00
Hajime Hoshi
bd1a486b3a
Bug fix: gopherjs build failed on Windows
2017-02-09 02:37:40 +09:00
Hajime Hoshi
0ef1e61d55
mobile: Fix iOS tag usages ( #310 )
2017-01-26 01:32:33 +09:00
Hajime Hoshi
8c2064c8b7
audio: Apply delaying when initializing
2017-01-22 19:43:03 +09:00
Hajime Hoshi
7201015d02
audio: Bug fix: Noise on Safari because of performance issue ( #307 )
2017-01-22 19:19:24 +09:00
Hajime Hoshi
6ee4b46dbe
audio: Improve delay on browsers ( #299 )
2017-01-17 01:14:09 +09:00
Hajime Hoshi
6437bb28da
audio/wav: Bug fix: header size was wrong
2017-01-16 23:36:09 +09:00
Hajime Hoshi
abd0958566
audio: Better conversion from 8bit to 16bit
2017-01-16 23:08:01 +09:00
Hajime Hoshi
f9ab7d9043
audio: Use consts
2017-01-16 22:48:44 +09:00
Hajime Hoshi
244d8204c5
audio/wav: Bug fix: seek correctly when using io.SeekEnd
2017-01-16 22:29:20 +09:00
Hajime Hoshi
2439d407df
audio: Bug fix: Adjust data size after resampling
2017-01-16 11:25:46 +09:00
Hajime Hoshi
bb435b7296
audio: Remove NopCloser and Add BytesReadSeekCloser
2017-01-16 02:36:18 +09:00
Hajime Hoshi
8b4389856d
audio: Add NopCloser
2017-01-16 02:21:21 +09:00
Hajime Hoshi
ed8d87dd87
audio: Convert 8bit monoral to 16bit stereo ( #282 )
2017-01-16 00:03:18 +09:00
Hajime Hoshi
5bdcd8825c
Rename audio/internal/resampling -> audio/internal/convert
2017-01-15 22:37:59 +09:00
Hajime Hoshi
adde2f459e
audio/wav: Bug fix: fmt header can be more than 16 bytes
2017-01-15 22:02:59 +09:00
Hajime Hoshi
14165cc67e
audio: Fix comment
2017-01-15 18:02:21 +09:00
Hajime Hoshi
71cecea9c9
audio: Auto resampling ( #301 )
2017-01-15 17:49:57 +09:00
Hajime Hoshi
ee3da352db
audio: Bug fix: Fix Seek: wav file can have a tail
2017-01-15 01:30:28 +09:00
Hajime Hoshi
f78f4002fa
audio: Bug fix: wav.Decoder.Seek's returning value was wrong
2017-01-15 01:16:36 +09:00
Hajime Hoshi
9620c4efb2
audio: Add InfiniteLoop ( #291 )
2017-01-14 21:00:20 +09:00
Hajime Hoshi
d80b213184
audio: Bug fix: Touch is required by Chrome 55+ on Android
2016-12-17 00:14:33 +09:00
Hajime Hoshi
924c55ff5c
audio/vorbis: Remove comment
2016-12-12 20:06:54 +09:00
Hajime Hoshi
6d895a2001
audio/vorbis: Remove decode.go
2016-12-12 19:52:52 +09:00
Hajime Hoshi
52f57c4a6a
audio/vorbis: Adjust Gosched timing ( #297 )
2016-12-08 10:56:36 +09:00
Hajime Hoshi
8ed07e0822
audio/vorbis: Avoid appending buffer
2016-12-08 02:14:39 +09:00
Hajime Hoshi
51da710860
audio/vorbis: Read some data before actual using ( #297 )
2016-11-30 12:00:53 +09:00
Hajime Hoshi
741ce9c7b8
audio: Bug fix: Handle touch event for iOS ( #296 )
2016-11-30 03:25:24 +09:00
Hajime Hoshi
604827ed3a
audio/vorbis: Change the capacity of buffer
2016-11-29 12:12:48 +09:00
Hajime Hoshi
7b4af1b12d
doc: Ogg/Vorbis is now available on Safari ( #294 )
2016-11-29 03:42:16 +09:00
Hajime Hoshi
83f19591ca
audio/vorbis: Add decoded.readUntil
2016-11-29 03:37:43 +09:00
Hajime Hoshi
5789ad6920
audio/vorbis: Add comment
2016-11-29 03:36:42 +09:00
Hajime Hoshi
bf4e453cdb
audio: Ignore seeking players
2016-11-29 03:36:16 +09:00
Hajime Hoshi
38af8ce615
audio: Remove unneeded locks
2016-11-29 03:01:52 +09:00
Hajime Hoshi
b454ff6547
audio/vorbis: Use oggvorbis for browsers
2016-11-29 01:02:00 +09:00
Hajime Hoshi
b0231c040e
audio/vorbis: Adopt pure-Go decoder again ( #294 )
2016-11-28 11:34:44 +09:00
Hajime Hoshi
b6a8b5f5c9
audio/vorbis: Bug fix: Noise on browsers
2016-11-27 20:26:13 +09:00
Hajime Hoshi
38f0ec40b4
audio/vorbis: Use consts
2016-11-27 01:06:18 +09:00
Hajime Hoshi
8eba9cfc7f
doc: Update docs for Safari ( #293 )
2016-11-27 00:11:23 +09:00
Hajime Hoshi
d16b5d328a
Revert "audio/vorbis: Adopt pure-Go decoder ( #294 )"
...
This reverts commit 86276d7808
.
2016-11-26 05:43:42 +09:00
Hajime Hoshi
86276d7808
audio/vorbis: Adopt pure-Go decoder ( #294 )
2016-11-26 04:31:56 +09:00
Hajime Hoshi
cf6d843572
vorbis: Return error when decoding fails
2016-11-26 02:06:15 +09:00
Hajime Hoshi
443c58104b
audio: Remove logger on Android
2016-11-16 10:25:04 +09:00
Hajime Hoshi
61676616a7
audio: At most one audio context can exist ( #271 )
2016-10-02 22:18:44 +09:00
Hajime Hoshi
2eac8dca8c
audio/wav: Bug fix: return an error when offset is before the start of the data
2016-09-27 02:13:56 +09:00
Hajime Hoshi
a14b4c8046
audio: Revert "audio/vorbis: Use pure Go decoder ( #247 )": fixing a bug of noisy sound
2016-09-27 01:01:04 +09:00
Hajime Hoshi
c634c588e5
audio: Bug fix: there could be chunks after 'data' chunk
2016-09-27 00:37:40 +09:00
Hajime Hoshi
d162843fbb
audio: Add comment
2016-09-26 23:08:34 +09:00
Hajime Hoshi
1f8cd41326
windows: Add comments
2016-09-11 22:34:39 +09:00
Hajime Hoshi
acb66fffe8
audio: Use timshannon's OpenAL lib
2016-09-10 15:11:11 +09:00
Hajime Hoshi
dd9918d64e
Add comments
2016-08-02 01:47:25 +09:00
Hajime Hoshi
77a1117165
audio/vorbis: Use pure Go decoder ( #247 )
2016-07-22 01:40:08 +09:00
Hajime Hoshi
0c78f2ac48
audio/vorbis: Implement a part in Go to encourage context switch ( #247 )
2016-07-21 03:08:29 +09:00
Hajime Hoshi
9de581f832
audio: Check returning values of write (android)
2016-07-01 22:05:11 +09:00
Hajime Hoshi
d6c1bb2ae8
audio: Fix a comment
2016-06-28 02:50:13 +09:00
Hajime Hoshi
5551a70776
audio: Fix a comment of (*Player).Close
2016-06-27 13:53:29 +09:00
Hajime Hoshi
b02d89cdc3
audio: Add NewPlayerFromBytes ( #231 )
2016-06-27 02:23:08 +09:00
Hajime Hoshi
a2402c32c0
audio: Check the stream can be used or not
2016-06-27 02:02:01 +09:00
Hajime Hoshi
0b8fe25350
opengl: Implement GlslHighpSupported for iOS
2016-06-17 04:13:46 +09:00
Hajime Hoshi
dfe4db67be
Fix for iOS
2016-06-17 02:08:25 +09:00
Hajime Hoshi
a95edaceba
audio: Remove unneeded padding
2016-05-31 22:32:10 +09:00
Hajime Hoshi
3ce8122557
audio: Replace APIs with low level APIs
2016-05-31 22:29:25 +09:00
Hajime Hoshi
84bf1ddf5c
audio: Bug fix: Avoid blocking when sending buffer
2016-05-31 10:17:22 +09:00
Hajime Hoshi
ebac6cbb81
audio: Refactoring for mobiles (reduce calls)
2016-05-29 18:34:52 +09:00
Hajime Hoshi
a329f7939d
audio: Remove confusing comments
2016-05-29 13:19:17 +09:00
Hajime Hoshi
2dd1e9c567
audio: Remove unneeded args
2016-05-28 19:01:26 +09:00
Hajime Hoshi
6a74ea5b30
Introduce internal/jni
2016-05-28 19:01:26 +09:00
Hajime Hoshi
4254e7b70e
audio: Add comment to explain why we don't free memory
2016-05-27 19:43:03 +09:00
Hajime Hoshi
4c2bbd47a1
audio: Fix a comment
2016-05-26 23:33:12 +09:00
Hajime Hoshi
ca2f85f3d1
audio: Refactoring: Add loop
2016-05-26 03:15:51 +09:00
Hajime Hoshi
d6dee0815e
audio: Bug fix: Avoid deadlock
2016-05-26 03:13:56 +09:00
Hajime Hoshi
644dfcd0fd
audio: Create an independent goroutine for enqueuing
2016-05-26 02:50:54 +09:00
Hajime Hoshi
12d62621e9
audio: Bug fix: Play sound correctly on Android
2016-05-26 01:46:26 +09:00
Hajime Hoshi
0ee6b4405c
audio: Bug fix: Lazy initialization of audio context
2016-05-25 03:47:59 +09:00
Hajime Hoshi
b65aeb7ac3
audio/internal/driver: Add driver_android.go (WIP)
2016-05-25 03:40:04 +09:00
Hajime Hoshi
64afa87def
audio: Add driver_mobile.go
2016-05-24 01:24:40 +09:00
Hajime Hoshi
02bf986049
vorbis: Fix misspelling
2016-05-14 03:43:50 +09:00
Hajime Hoshi
1fa89776fc
vorbis: Modify function name styles to make golint happy
2016-05-14 03:41:48 +09:00
Hajime Hoshi
88fc32c070
Pointer arithmetic with a variable index should be in C
2016-05-14 02:53:14 +09:00
Hans Rødtang
b3d43c185b
Fixed shifting on byte instead of int64 ( #214 )
...
Thanks a lot!
2016-05-13 16:19:02 +09:00
Hajime Hoshi
f7211f3391
audio: Refactoring: No need to hold a buffer source
2016-04-23 02:33:13 +09:00
Hajime Hoshi
a14aa6779e
audio: Try supporting Safari (WIP)
2016-04-21 23:57:15 +09:00
Hajime Hoshi
9a7e5683a1
audio: Remove redundant code in JS
2016-04-21 02:54:18 +09:00
Hajime Hoshi
5d5f27bcbf
audio: Bug fix: Reduce noise by using long buffers ( #205 )
2016-04-21 02:48:43 +09:00
Hajime Hoshi
9a18ffe563
audio: Change NewPlayer to be an independent function
2016-04-19 23:43:54 +09:00
Hajime Hoshi
52fe168111
audio/wav: Fix wrong comments ( #208 )
2016-04-19 23:19:31 +09:00
Hajime Hoshi
895c559b8e
audio/vorbis: Bug fix: compible error in JS
2016-04-19 02:43:06 +09:00
Hajime Hoshi
5ae624b891
audio: Add comments ( #199 )
2016-04-19 02:00:16 +09:00
Hajime Hoshi
b0178e8425
audio: Move exp/audio -> audio ( #206 )
2016-04-19 01:26:37 +09:00