"session" has a fixed set of supported codecs with associated IDs.
"connector" must expose the set of codecs during capabilities exchange.
It currently uses hard-codes codec IDs in different places.
Move the BitmapCodecs set to ironrdp-pdu. Shared code will be used by
the server, so this is a suitable common place.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
"update_rectangle" is set to empty(). The surface updates are then added
by "union". But a union with an empty rectangle at (0,0) is still a
rectangle at (0,0). We end up with big region updates rooted at (0,0)...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
As written in the workspace Cargo.toml:
> Note that for better cross-tooling interactions, do not use workspace
dependencies for anything that is not "workspace internal" (e.g.: mostly
dev-dependencies). E.g.: release-plz can’t detect that a dependency has
been
updated in a way warranting a version bump in the dependant if no commit
is
touching a file associated to the crate. It is technically okay to use
that
for "private" (i.e.: not used in the public API) dependencies too, but
we
still want to make follow-up releases to stay up to date with the
community,
even for private dependencies.
Expectation is that release-plz will be able to auto-detect when bumping
dependents is necessary.
Closes#689
Decode to the desired format, instead of converting from BgrX to the
DecodedImage format (typically RgbA) when applying the tile / drawing.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
The Set Error Info PDU is sent as a precursor to a server-side
disconnect and informs the client of the reason for the disconnection
which will follow. Once this PDU has been processed, the client MUST
store the error code so that the reason for the server disconnect
which will follow can be accurately reported to the user.
ironrdp-pdu contains lots of code that we don’t actually need in other crates such as the virtual channels.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Introduce a new error type to split encoding/decoding errors as well as
helper traits and functions to ease porting and conventions.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This message doesn't require a response of any kind, but handling
it here will prevent an unknown PDU error which kills the session.
Co-authored-by: Benoît Cortier <bcortier@proton.me>