Navigation
Unreal Engine C++ API Reference > Plugins > RemoteSession > Channels
Inheritance Hierarchy
- IRemoteSessionChannel
- FRunnable
- FRemoteSessionImageChannel
References
Module | RemoteSession |
Header | /Engine/Plugins/Experimental/RemoteSession/Source/RemoteSession/Public/Channels/RemoteSessionImageChannel.h |
Include | #include "Channels/RemoteSessionImageChannel.h" |
Syntax
class FRemoteSessionImageChannel :
public IRemoteSessionChannel,
private FRunnable
Remarks
A channel that takes an image (created by an IRemoteSessionImageProvider), then sends it to the client (with a FRemoteSessionImageSender). On the client images are decoded into a double-buffered texture that can be accessed via GetHostScreen.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
FRunnableThread * | BackgroundThread | |
![]() |
TWeakPtr< IBackChannelConnection, ESPMode::ThreadSafe > | Connection | Underlying connection |
![]() |
FCriticalSection | DecodedImageMutex | |
![]() |
TSharedPtr< TAtomic< int32 >, ESPMode::ThreadSafe > | DecodedTextureIndex | |
![]() |
UTexture2D *[2] | DecodedTextures | |
![]() |
FThreadSafeBool | ExitRequested | |
![]() |
bool | HaveConfiguredImageProvider | |
![]() |
TSharedPtr< IRemoteSessionImageProvider > | ImageProvider | |
![]() |
TSharedPtr< FImageSender, ESPMode::ThreadSafe > | ImageSender | Image sender used by the channel |
![]() |
TArray< TUniquePtr< FImageData > > | IncomingDecodedImages | |
![]() |
TArray< TUniquePtr< FImageData > > | IncomingEncodedImages | |
![]() |
FCriticalSection | IncomingImageMutex | |
![]() |
int32 | LastDecodedImageIndex | Last processed decode image |
![]() |
int32 | LastIncomingImageIndex | Last processed incoming image |
![]() |
FDelegateHandle | MessageCallbackHandle | So we can manage callback lifetimes properly |
![]() |
FRemoteSessionImageReceiveStats | ReceiveStats | |
![]() |
ERemoteSessionChannelMode | Role | Our role |
![]() |
FEvent * | ScreenshotEvent |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FRemoteSessionImageChannel
(
ERemoteSessionChannelMode InRole, |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | CreateTexture
(
const int32 InSlot, |
Creates a texture to receive images into |
![]() |
void | ||
![]() ![]() |
UTexture2D * | Get the client Texture2D to display | |
![]() |
TSharedPtr< FRemoteSessionImageChannel::FImageSender, ESPMode::ThreadSafe > | Return the image sender connected to the clients | |
![]() |
void | Decode the incoming images on a dedicated thread | |
![]() |
void | ReceiveHostImage
(
IBackChannelPacket& Message |
Bound to receive incoming images |
![]() |
void | SetCompressQuality
(
int32 InQuality |
Set the jpg compression quality |
![]() |
void | Sets up an image provider that mirrors the games framebuffer. | |
![]() |
void | SetImageProvider
(
TSharedPtr< IRemoteSessionImageProvider > ImageProvider |
Set the ImageProvider that will produce the images that will be sent to the client |
![]() |
void | ||
![]() ![]() |
const TCHAR * | StaticType () |
Begin IRemoteSessionChannel implementation |
Overridden from IRemoteSessionChannel
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
const TCHAR * | GetType () |
|
![]() ![]() |
void | Tick
(
const float InDeltaTime |
Tick this channel |
Overridden from FRunnable
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
uint32 | Run () |
Background thread for decoding incoming images |
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FImageData | ||
![]() |
FImageSender | A helper object responsible to take the raw data, encode it to jpg and send it to the client for the RemoteSessionImageChannel |