Commit Graph

346 Commits

Author SHA1 Message Date
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