Files
UnrealEngineUWP/Engine/Source/Runtime/GameLiveStreaming/GameLiveStreamingFunctionLibrary.cpp

54 lines
1.5 KiB
C++
Raw Normal View History

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
Work in progress: Live streaming support for editor and games This commit adds the framework APIs, editor and rendering features needed to support live streaming. Along with this, we're working on a new plugin that adds Twitch.tv support (waiting for legal approval to commit.) - Game live streaming - Allows general support for live internet streaming of game video and audio - Web cam video feed can be overlaid onto game viewports automatically - New 'Broadcast' Blueprint function library allows you to easily start broadcasting from your game - New IGameLiveStreaming API that allows you to start broadcasting through C++ - Editor live streaming - The editor UI now displays a "broadcast" button automatically when a live streaming service is available - Broadcasting of all desktop editor windows is supported (configured in preferences) - If you have a web cam, video will be displayed automatically while broadcasting in a new editor window - New "Live Streaming" editor preference tab with many new settings for configuring broadcasting - New IEditorLiveStreaming API that lets you control editor broadcasting directly, if needed - Added new 'Broadcast.Start' and 'Broadcast.Stop' console commands - These allow you to easily test live streaming in games without writing UI code - Built-in help is available for these new commands - To implement a live streaming plugin: - Inherit from the new ILiveStreamingService interface - Register your "LiveStreaming" feature with the IModularFeatures system - Other changes: - Eliminated broken screen quad drawing functions; replaced with publicly-exposed DrawRectangle() - Slate: Eliminated legacy code for 'marking windows as drawn' (not used anymore) - Slate: Added Slate rendering callback to find out when a frame buffer is ready to be presented [CL 2115377 by Mike Fricker in Main branch]
2014-06-24 12:11:51 -04:00
#include "GameLiveStreamingModule.h"
#include "GameLiveStreamingFunctionLibrary.h"
#include "Public/IGameLiveStreaming.h"
#define LOCTEXT_NAMESPACE "GameLiveStreaming"
UGameLiveStreamingFunctionLibrary::UGameLiveStreamingFunctionLibrary( const FObjectInitializer& ObjectInitializer )
: Super(ObjectInitializer)
Work in progress: Live streaming support for editor and games This commit adds the framework APIs, editor and rendering features needed to support live streaming. Along with this, we're working on a new plugin that adds Twitch.tv support (waiting for legal approval to commit.) - Game live streaming - Allows general support for live internet streaming of game video and audio - Web cam video feed can be overlaid onto game viewports automatically - New 'Broadcast' Blueprint function library allows you to easily start broadcasting from your game - New IGameLiveStreaming API that allows you to start broadcasting through C++ - Editor live streaming - The editor UI now displays a "broadcast" button automatically when a live streaming service is available - Broadcasting of all desktop editor windows is supported (configured in preferences) - If you have a web cam, video will be displayed automatically while broadcasting in a new editor window - New "Live Streaming" editor preference tab with many new settings for configuring broadcasting - New IEditorLiveStreaming API that lets you control editor broadcasting directly, if needed - Added new 'Broadcast.Start' and 'Broadcast.Stop' console commands - These allow you to easily test live streaming in games without writing UI code - Built-in help is available for these new commands - To implement a live streaming plugin: - Inherit from the new ILiveStreamingService interface - Register your "LiveStreaming" feature with the IModularFeatures system - Other changes: - Eliminated broken screen quad drawing functions; replaced with publicly-exposed DrawRectangle() - Slate: Eliminated legacy code for 'marking windows as drawn' (not used anymore) - Slate: Added Slate rendering callback to find out when a frame buffer is ready to be presented [CL 2115377 by Mike Fricker in Main branch]
2014-06-24 12:11:51 -04:00
{
}
bool UGameLiveStreamingFunctionLibrary::IsBroadcastingGame()
{
return IGameLiveStreaming::Get().IsBroadcastingGame();
}
void UGameLiveStreamingFunctionLibrary::StartBroadcastingGame(
int32 FrameRate,
float ScreenScaling,
bool bEnableWebCam,
int32 DesiredWebCamWidth,
int32 DesiredWebCamHeight,
bool bMirrorWebCamImage,
Work in progress: Live streaming support for editor and games This commit adds the framework APIs, editor and rendering features needed to support live streaming. Along with this, we're working on a new plugin that adds Twitch.tv support (waiting for legal approval to commit.) - Game live streaming - Allows general support for live internet streaming of game video and audio - Web cam video feed can be overlaid onto game viewports automatically - New 'Broadcast' Blueprint function library allows you to easily start broadcasting from your game - New IGameLiveStreaming API that allows you to start broadcasting through C++ - Editor live streaming - The editor UI now displays a "broadcast" button automatically when a live streaming service is available - Broadcasting of all desktop editor windows is supported (configured in preferences) - If you have a web cam, video will be displayed automatically while broadcasting in a new editor window - New "Live Streaming" editor preference tab with many new settings for configuring broadcasting - New IEditorLiveStreaming API that lets you control editor broadcasting directly, if needed - Added new 'Broadcast.Start' and 'Broadcast.Stop' console commands - These allow you to easily test live streaming in games without writing UI code - Built-in help is available for these new commands - To implement a live streaming plugin: - Inherit from the new ILiveStreamingService interface - Register your "LiveStreaming" feature with the IModularFeatures system - Other changes: - Eliminated broken screen quad drawing functions; replaced with publicly-exposed DrawRectangle() - Slate: Eliminated legacy code for 'marking windows as drawn' (not used anymore) - Slate: Added Slate rendering callback to find out when a frame buffer is ready to be presented [CL 2115377 by Mike Fricker in Main branch]
2014-06-24 12:11:51 -04:00
bool bCaptureAudioFromComputer,
bool bCaptureAudioFromMicrophone,
bool bDrawSimpleWebCamVideo )
{
FGameBroadcastConfig Config;
Config.FrameRate = FrameRate;
Config.ScreenScaling = ScreenScaling;
Config.bEnableWebCam = bEnableWebCam;
Config.DesiredWebCamWidth = DesiredWebCamWidth;
Config.DesiredWebCamHeight = DesiredWebCamHeight;
Config.bMirrorWebCamImage = bMirrorWebCamImage;
Work in progress: Live streaming support for editor and games This commit adds the framework APIs, editor and rendering features needed to support live streaming. Along with this, we're working on a new plugin that adds Twitch.tv support (waiting for legal approval to commit.) - Game live streaming - Allows general support for live internet streaming of game video and audio - Web cam video feed can be overlaid onto game viewports automatically - New 'Broadcast' Blueprint function library allows you to easily start broadcasting from your game - New IGameLiveStreaming API that allows you to start broadcasting through C++ - Editor live streaming - The editor UI now displays a "broadcast" button automatically when a live streaming service is available - Broadcasting of all desktop editor windows is supported (configured in preferences) - If you have a web cam, video will be displayed automatically while broadcasting in a new editor window - New "Live Streaming" editor preference tab with many new settings for configuring broadcasting - New IEditorLiveStreaming API that lets you control editor broadcasting directly, if needed - Added new 'Broadcast.Start' and 'Broadcast.Stop' console commands - These allow you to easily test live streaming in games without writing UI code - Built-in help is available for these new commands - To implement a live streaming plugin: - Inherit from the new ILiveStreamingService interface - Register your "LiveStreaming" feature with the IModularFeatures system - Other changes: - Eliminated broken screen quad drawing functions; replaced with publicly-exposed DrawRectangle() - Slate: Eliminated legacy code for 'marking windows as drawn' (not used anymore) - Slate: Added Slate rendering callback to find out when a frame buffer is ready to be presented [CL 2115377 by Mike Fricker in Main branch]
2014-06-24 12:11:51 -04:00
Config.bCaptureAudioFromComputer = bCaptureAudioFromComputer;
Config.bCaptureAudioFromMicrophone = bCaptureAudioFromMicrophone;
Config.bDrawSimpleWebCamVideo = bDrawSimpleWebCamVideo;
IGameLiveStreaming::Get().StartBroadcastingGame( Config );
}
void UGameLiveStreamingFunctionLibrary::StopBroadcastingGame()
{
IGameLiveStreaming::Get().StopBroadcastingGame();
}
#undef LOCTEXT_NAMESPACE