Commit Graph

7 Commits (newdev)

Author SHA1 Message Date
Simon.Dean bd18165181 Reworked Message Handling
- Have adjusted the buffer mechanism so instead of using the buffer to store a message in the event of an interleaved frame, we basically perform all work on the buffer (albeit we take the existing message for the channel id from the buffer for the frame we're working on and write the message to the buffer if the message isn't resolved).
- Moved writing to buffer to receiveFramePayloadHandler() function if the message is BULK or LAST and therefore not resolved.
- Simplified receiveFrameHeaderHandler() so that we automatically try to find a message from the buffer and then createa message as necessary depending on the frame type.
- Excellent stability with no noticeable artefacts in audio after 1 hour.
- Removed majority of debugging after achieving stability.
2022-02-13 21:06:07 +00:00
Simon.Dean f80e72c480 Rework Message Handling.
Slight tweaks
- Add isInterleaved boolean
- If message is NULL and Frame Type is MIDDLE or LAST, then look for an existing message in buffer (if the message_ is null, then we need a FIRST or BULK frame)
- If message is still NULL, then we will create a new message, but recognise it as a valid frame ONLY if this is a FIRST or BULK frame because we cannot start on a MIDDLE or LAST.
- Rename recentFrameType to thisFrameType for more accuracy
- Only Resolve the Frame if the frame is BULK or LAST and the frame is valid.
- If the frame is interleaved, then we will use our interleavedPromise handler. Only resolve the main promise if the frame is not interleaved.
- Also reset message once resolved.
- Carry on reading if the original promise is not resolved (ie FIRST, MIDDLE, or Interleaved frame)
- Add some counters for debugging purposes.
2022-02-11 12:35:07 +00:00
Simon.Dean 5f4220b059 Support FrameType descriptor 2022-02-11 10:33:36 +00:00
Simon.Dean b8bbdf1288 Switch decrypt() to read the number of bytes from the frame size. 2022-02-11 10:29:02 +00:00
Simon.Dean a897fc1a8b Swap getSize() to getFrameSize() and add totalSize() for completeness. 2022-02-11 10:19:12 +00:00
Cole Brinsfield 1f561aa711
voice session and ping (#13) 2020-08-28 17:26:03 -05:00
Jason Wenger f9f02815d0 Rearrange directory structure 2020-07-04 09:37:43 -05:00