Commit Graph
190 Commits
Author SHA1 Message Date
Manevolent 7889dc0caf Send serverflag0 with new packets as a test of sorts 2018-10-13 16:31:34 -04:00
Manevolent 61ce9df1f8 Compilation issues with jitpack 2018-10-13 16:14:07 -04:00
Manevolent 2202b3ab9a Now that we have discerned the issue with receiving audio packets, I feel better reverting back to only providing the packet body, and not the header also, in the user callbacks. 2018-10-13 16:08:55 -04:00
Manevolent d97b95f021 When the COMPRESSED flag is set by the official Teamspeak Gbmh client on a VOICE or VOICE_WHISPER packet, which is done for the first 5 packets of any decoder session, the packet is always 1 byte longer. More importantly, the final byte is static for those 5 packets.
You have to trim that last byte off, otherwise your audio will be corrupted.  TS3J now does this automatically and stores it in ServerFlag0 for you, as a nullable Byte object. This way you can handle it if you need to. This has also been factored into the output/write stage.

Digging into theory, I believe this ID has something to do with the opening of a new decoder to ensure that the decoder opens cleanly each time. You do NOT have to do anything to your decoder to reset states, etc., from what I can tell. In other words, COMPRESSED being on shouldn't change the behavior of your decoding.
2018-10-13 16:03:51 -04:00
Manevolent d9ce7f21a3 JitPack is broken. Trying one more time to get this to go through. 2018-10-13 02:17:13 -04:00
Manevolent 2f7bf10322 Merge remote-tracking branch 'origin/master' 2018-10-13 01:35:14 -04:00
Manevolent ce77f91c6f I'm changing whisper and voice handlers. I think that the COMPRESSED flag is important, it may signal you to reset your decoder for each incoming packet. Not sure. 2018-10-13 01:35:09 -04:00
Manevolent a85904555e Synchronize the remote counter, and correct an issue with rest() concerning generation IDs 2018-10-02 08:58:29 -04:00
Manevolent 6bf85e3c6c Re-order handleError (handleComplete) 2018-09-20 02:13:05 -04:00
Manevolent 5ee74e6c45 Make step 127 public 2018-09-18 15:13:58 -04:00
Manevolent e4a1e69410 Packet flags for server, setters would apply to wrong object 2018-09-18 00:15:14 -04:00
Manevolent 8ba218f094 Timestamp was not sent right 2018-09-17 23:54:54 -04:00
Manevolent 66bc483490 Init1 changes to make it neater 2018-09-17 23:41:28 -04:00
Manevolent 127ae9bc8f Don't mind me... 2018-09-17 23:01:25 -04:00
Manevolent ec34b59ad3 DatagramPackets are synchronized. This could have caused problems, or would, cause problems. 2018-09-17 22:55:34 -04:00
Manevolent e683ad1bbb Added helper methods to connect()
Refactored packet handlers
2018-09-17 21:43:36 -04:00
Manevolent 4c539e44c7 Proper extension 2018-09-17 19:51:33 -04:00
Manevolent e48a5a0435 Handle notifypermissionlist, Init127 2018-09-17 15:24:30 -04:00
Manevolent 8d74195d42 Support clientinitivexpand and not just expand2 for all TS3 server support (incl. TeaSpeak) 2018-09-17 13:24:09 -04:00
Manevolent d271b7a358 Set transformation before connecting 2018-09-11 08:35:17 -04:00
Manevolent 956344f1c9 Better logging for decryption errors 2018-09-11 08:21:16 -04:00
Manevolent 8e87f8c2c1 Merge remote-tracking branch 'origin/master' 2018-09-06 11:53:55 -04:00
Manevolent 285d6ab9a4 Add setEventMultiThreading(boolean) instead of forcing multi-threading on 2018-09-06 11:53:44 -04:00
Manevolent 15f7485fa9 Moving command execution to a single thread executor. I leave it up to end-users now if they want event processing to be multi-threaded. 2018-09-06 11:49:51 -04:00
mane bcd12026ee Update LICENSE 2018-09-05 15:08:47 -04:00
Manevolent 1dbca2543b Remove -> Deleted 2018-08-31 21:55:55 -04:00
Manevolent 882812ff40 Merge remote-tracking branch 'origin/master' 2018-08-31 21:54:19 -04:00
Manevolent f248faad72 Add support for more missing events 2018-08-31 21:54:15 -04:00
mane 16d6784662 Update README.md 2018-08-31 20:54:44 -04:00
Manevolent b7282cc337 Reconnection issues 2018-08-29 11:44:14 -04:00
Manevolent 2207e65392 Silly imports. 2018-08-23 11:41:39 -04:00
Manevolent 4c235badd5 Server group add/del 2018-08-23 11:34:27 -04:00
Manevolent 61f35951e2 Weak TSDNS support (_udp SRV record type) 2018-08-23 09:18:24 -04:00
Manevolent 09c21b171e Pull up socket role 2018-08-23 08:48:58 -04:00
mane 1ec7796a02 Update README.md 2018-08-20 10:45:55 -04:00
mane eab17b5168 Update README.md 2018-08-20 10:44:47 -04:00
Manevolent becc64f297 Java 8 2018-08-19 10:44:30 -04:00
Manevolent da3495c297 Whisper support 2018-08-17 16:27:18 -04:00
Manevolent 0cd72622a2 latestPacketId exposure for the same reason as the last commit 2018-08-16 13:44:43 -04:00
Manevolent 3898f2658c Expose the remote counter's features for discerning buffer beginning and end. I need this because my bot will be decoding audio for speech recognition. 2018-08-16 10:12:05 -04:00
Manevolent 83e59ab6e9 Exposed voice packets to the client 2018-08-15 11:43:41 -04:00
mane 1038780e68 Update README.md 2018-08-15 10:40:58 -04:00
mane b6c0290388 Update README.md 2018-08-13 20:49:57 -04:00
mane ce4f30b5d7 Update README.md 2018-08-13 20:49:51 -04:00
mane 3d19d94f2d Update README.md 2018-08-13 20:49:40 -04:00
Manevolent 99ed8dda77 Use packet ID instead of key. 2018-08-13 20:30:50 -04:00
Manevolent d0e2ad194f It's possible for a packet's responsible queue to be incorrectly tracked. 2018-08-13 20:30:05 -04:00
Manevolent e4e1b5b4fe Still getting random connection losses. I think it may have to do with the way I set up ACK, ACK_LOW, and PING commands. 2018-08-13 18:18:49 -04:00
Manevolent f041820020 Catch socket exception for code clarity even though I dont think it was causing any problems 2018-08-13 09:58:55 -04:00
Manevolent ca869089cf Reconnection works now 2018-08-13 09:48:30 -04:00