Navigation
API > API/Plugins > API/Plugins/RemoteSession > API/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
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 |