Skip to content

[WIP] Use unused bytes in CNetworkTransportProps for EAudioQuality (backwards compatible) - #3898

Draft
dingodoppelt wants to merge 1 commit into
jamulussoftware:mainfrom
dingodoppelt:unused_bytes
Draft

[WIP] Use unused bytes in CNetworkTransportProps for EAudioQuality (backwards compatible)#3898
dingodoppelt wants to merge 1 commit into
jamulussoftware:mainfrom
dingodoppelt:unused_bytes

Conversation

@dingodoppelt

@dingodoppelt dingodoppelt commented Aug 13, 2026

Copy link
Copy Markdown
Member

#3894 surfaced 4 bytes being unused in CNetworkTransportProps, namely iAudioCodingArg.
This uses those bytes to save the selected audio quality in the client. For backwards compatibility we simply leave the old checks in place. This should be improved, hence a work in progress.

CHANGELOG: Use iAudioCodingArg in CNetworkTransportProps for EAudioQuality

Context: Fixes an issue?

fixes #3896

Does this change need documentation? What needs to be documented and how?

No, just a bug fix

Status of this Pull Request

Proof of concept (not to be merged soon);

What is missing until this pull request can be merged?

  • dedicated enum containing all possible audio quality settings combinations (or something similiar for the client and server to share)

Checklist

  • I've verified that this Pull Request follows the general code principles
  • I tested my code and it does what I want
  • My code follows the style guide
  • I waited some time after this Pull Request was opened and all GitHub checks completed without errors.
  • I've filled all the content above

@ann0see

ann0see commented Aug 13, 2026

Copy link
Copy Markdown
Member

You may break backwards compatibility to old betas IMO. There was no real release and we should try to have a clean state for each release.

@dingodoppelt

Copy link
Copy Markdown
Member Author

You may break backwards compatibility to old betas IMO. There was no real release and we should try to have a clean state for each release.

Yes, I'm ok with breaking compatibility with beta clients, but this is an opportunity to overhaul the connection process even for non-raw qualities. We would break compatibility to all clients, if we only rely on those 4 bytes.

@ann0see

ann0see commented Aug 13, 2026

Copy link
Copy Markdown
Member

Ok. That's fair then.

@dingodoppelt

Copy link
Copy Markdown
Member Author

At the moment we collect our info from different enums (EAudChanConf, EAudComprType, ENetwFlags, EAudioQuality) that get used (or not) by client and server independently. We could use the free 4 bytes to create a consolidated source of information that client and server can share.

@dingodoppelt dingodoppelt changed the title [WIP] Use unused bytes in CNetworkTransportProps for raw audio (backwards compatible) [WIP] Use unused bytes in CNetworkTransportProps for ~raw audio~ EAudioQuality (backwards compatible) Aug 13, 2026
@dingodoppelt dingodoppelt changed the title [WIP] Use unused bytes in CNetworkTransportProps for ~raw audio~ EAudioQuality (backwards compatible) [WIP] Use unused bytes in CNetworkTransportProps for EAudioQuality (backwards compatible) Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 bytes unused in CNetworkTransportProps

2 participants