-
Notifications
You must be signed in to change notification settings - Fork 22
refactor(webapp): refactor VNC encoding selection settings #1499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Let maintainers know that an action is required on their side
|
* refactor the encoding selector to is able to select one encoding at a time (we have the same in RDM) * add `Default` encoding to the encoding selector list which defaults to sending all encodings to the server, and let it select one (we have the same in RDM) * added logic to hide the `pixel format` option if _Tight JPEG_ or _Tight PNG_ is selected. These doesn't work well together as Devolutions/IronVNC#924 bug happens. * removed _Tight PNG_ encoding from the encoding selector and added a checkbox with the same appearing only when `Tight` encoding is selected. _Tight PNG_ is more like an extension for _Tight_ (like `JPEG`), rather than a seperate thign. So, it makes sense to keep it as a setting for _Tight_ encoding. * added hiding `JPEG` option for other encodings than _Tight_, as it's only matters when _Tight_ is enabled.
07f6cb6
to
e92a6a4
Compare
In RDM, we have a list of "preferred encodings" ![]() Also, here is what @thenextman said on this topic:
Given this feedback, I think its not really worth supporting the "preferred encodings" of RDM, and instead provide an extension for the "Encoding Profile". Instead of disabling / enabling, we should adapt the ordering. What do you think? Maybe we can talk more deeply on Slack. |
I see, so it should look like |
Something like that! Really appreciated. However, I think we should also consider having multiple "IronEncodingSet"s, to change the ordering rather than filtering out encodings. And we can probably refactor that a bit using a declarative macro. Alternatively, we extend the ironvnc-session crate and offer an API to assign weights to Encodings as a way to change the ordering when sending the SetEncodings packet. |
In
It might be a better solution here, as we wouldn't have to touch the pseudo-encodings. |
I think we can factor that using a declarative macro.
But yes, I have a small preference for this solution as well. I think it’s better than completely relying on the ordering in the enum. |
Another solution can be to have the pseudo-encoding in a separate set(it might be hardcoded, and user code won't be able to change it) |
Default
encoding to the encoding selector list, which defaults to sending all encodings to the server, and let it select one (we have the same in RDM)pixel format
option if Tight JPEG or Tight PNG is selected. These don't work well together, as the https://github.com/Devolutions/IronVNC/issues/924 bug happens.Tight
encoding is selected. Tight PNG is more like an extension for Tight (likeJPEG
), rather than a separate thing. So, it makes sense to keep it as a setting for Tight encoding.JPEG
option for other encodings than Tight, as it's only matters when Tight is enabled.Showcase:
encoding-selector-refactoring.mp4