Commit Graph

303 Commits

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