2019-01-17 18:54:05 -05:00
|
|
|
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
|
2017-07-11 18:04:24 -04:00
|
|
|
|
|
|
|
|
#include "IOSTargetDevice.h"
|
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642)
#lockdown nick.penwarden
#rb none
Change 3235667 on 2016/12/14 by Max.Preussner
Media: Moved enums into separate header file, so they can be shared
Change 3259266 on 2017/01/16 by Max.Preussner
Core: Added timespan ratio
Change 3267229 on 2017/01/21 by Max.Preussner
Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed
Change 3274773 on 2017/01/27 by Max.Preussner
Core: Added TLruCache template
Change 3281579 on 2017/02/01 by Max.Preussner
Core: Added scalar division to FTimespan
Change 3289522 on 2017/02/07 by Max.Preussner
MediaAssets: Added looping for play lists
Change 3290664 on 2017/02/07 by Max.Preussner
Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.
Change 3290688 on 2017/02/07 by Max.Preussner
MediaAssets: Notifying materials when media texture properties changed.
Change 3291171 on 2017/02/07 by Max.Preussner
MediaAssets: Filtering unused UTexture properties
Change 3291229 on 2017/02/07 by Max.Preussner
ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0
Change 3298520 on 2017/02/11 by Max.Preussner
Sequencer: Fixed skylight and reflection components off by one frame in PIE
Change 3298778 on 2017/02/12 by Max.Preussner
MediaUtils: Experimenting with dynamic pitch adjustment
Change 3298987 on 2017/02/13 by Max.Chen
Editor: Add matrix and transform properties to property editor test object
Change 3298997 on 2017/02/13 by Max.Chen
Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
- Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
- Added percentage unit type
- Multiplier unit types can now be converted between
Change 3298998 on 2017/02/13 by Max.Chen
Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible
Change 3348678 on 2017/03/15 by Max.Preussner
Media: Added Buffering media event
Change 3355268 on 2017/03/20 by Max.Preussner
Core: TQueue documentation updates
Change 3359055 on 2017/03/22 by Max.Preussner
Portal: Removed dependency to Messaging.h
Change 3359060 on 2017/03/22 by Max.Preussner
Messaging: Modernization pass
- added missing includes & forward declarations
- include what you use
- deprecated shared pointer typedefs
- replaced some delegates with callback interfaces
- documentation fixes
Change 3359189 on 2017/03/22 by Max.Preussner
Automation: Modernization pass
- include what you use
- removed molothic header
- documentation fixes
#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory
Change 3359718 on 2017/03/22 by Max.Preussner
Messaging: Moved common helper classes into MessagingCommon module
#upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").
Change 3359793 on 2017/03/23 by Max.Preussner
TargetDeviceServices: Modernization pass
- include what you use
- removed boilerplate header
- deprecated selected shared pointer typedefs
- reorganized files
- documentation fixes
Change 3361028 on 2017/03/23 by Max.Preussner
DeviceManager: Modernization pass
- include what you use
- reduced shared pointer typedef usage
- documentation fixes
Change 3361197 on 2017/03/23 by Max.Preussner
Messaging: Waking up message router thread on shutdown
Change 3361246 on 2017/03/23 by Max.Preussner
AutomationWindow: Removed boilerplate header
#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h
Change 3361428 on 2017/03/23 by Max.Preussner
AutomationController: Removed boilerplate header
#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.
Change 3363206 on 2017/03/24 by Max.Preussner
ProfileLauncher: Modernization pass
- include what you use (selected files)
- reduced shared pointer typedef usages
- removed dead code
- cleaned up file organization
- documentation fixes
Change 3363290 on 2017/03/24 by Max.Preussner
LauncherServices: Removed boilerplate header
#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes
Change 3363305 on 2017/03/24 by Max.Preussner
LauncherCheck: Removed boilerplate header
#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions
Change 3363708 on 2017/03/24 by Max.Preussner
ImageWrapper: Removed boilerplate header
#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes
Change 3363966 on 2017/03/24 by Max.Preussner
ImageWrapper: Modernization pass
- include what you use
- reorganized internal files
- documentation fixes
Change 3364579 on 2017/03/24 by Max.Preussner
ImageWrapper: Deprecated shared pointer typedef and removed usages
#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr
Change 3364582 on 2017/03/24 by Max.Preussner
NetworkFileSystem: Removed monolithic boilerplate header
#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes
Change 3381440 on 2017/04/05 by Max.Preussner
Oculus: Removed illegal pragmas
Change 3391731 on 2017/04/12 by Max.Preussner
ImgMedia: Added support for BMP, JPG and PNG image sequences
Change 3401146 on 2017/04/19 by Max.Preussner
Core: Cleanup pass for FTimespan usages; updated documentation
When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.
Change 3401504 on 2017/04/20 by Max.Preussner
MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds
Change 3401833 on 2017/04/20 by Max.Preussner
Core: Various improvements to FTimespan
- added proper serialization
- updated documentation
- access fractions as milli-, micro- or nanoseconds
- removed the following string formatters as they were not useful: %D %H %M %S %F
- updated documentation
#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.
#jira UE-43990
#jira UE-44163
Change 3437543 on 2017/05/12 by Max.Preussner
PS4Media: Added audio error codes conversion
Change 3446564 on 2017/05/18 by Max.Preussner
Networking: Fixed nullpointer crash if socket initialization fails
Change 3459978 on 2017/05/25 by Max.Preussner
ImgMedia: Renamed frame cache to frame loader
Change 3463311 on 2017/05/26 by Max.Preussner
Core: Added iterators & predicate based methods to LRU Cache
Change 3464452 on 2017/05/29 by Max.Preussner
ImgMedia: Added video sample output
Change 3464468 on 2017/05/29 by Max.Preussner
Media: Added separate cache visualization for loaded and cached samples
Change 3464592 on 2017/05/29 by Max.Preussner
Core: Added TLruCache::FindAndTouch
Change 3464607 on 2017/05/29 by Max.Preussner
Core: Added TRange::Inclusive / ::Exclusive
Change 3464608 on 2017/05/29 by Max.Preussner
Media: Fixed incorrect upper bound in support play rates of various players
Change 3466732 on 2017/05/30 by Max.Preussner
ImgMedia: Added image compression type to info string
Change 3466871 on 2017/05/31 by Max.Preussner
WmfMedia: Fixed session capabilities not showing up; added initialization logging
Change 3467785 on 2017/05/31 by Max.Preussner
MfMedia: Fixed sample stride calculated from media input instead of output
Change 3467963 on 2017/05/31 by Max.Preussner
WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly
Change 3468110 on 2017/05/31 by Max.Preussner
WmfMedia: Added MPEG-2 media sub types to utils
Change 3468516 on 2017/05/31 by Max.Preussner
AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)
Change 3468554 on 2017/05/31 by Max.Preussner
MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded
Change 3468627 on 2017/05/31 by Max.Preussner
ImgMedia: Allowing for auto-selection of EXR decoder thread count
Change 3468648 on 2017/05/31 by Max.Preussner
ImgMedia: Reorganized OpenExrWrapper files
Change 3471789 on 2017/06/02 by Max.Preussner
WmfMedia: Fixed potential concurrency issue in session state management
Change 3472918 on 2017/06/03 by Max.Preussner
Core: Allowing zero sized LRU cache; added default constructor
Change 3472919 on 2017/06/03 by Max.Preussner
Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching
Change 3473704 on 2017/06/05 by Max.Preussner
AndroidMedia: Added settings class
Change 3474407 on 2017/06/05 by Max.Preussner
AndroidMedia: Implemented video sample processing
Change 3474934 on 2017/06/05 by Max.Preussner
ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)
#jira UE-45705
Change 3476925 on 2017/06/06 by Max.Preussner
Media: Added return values to media view interface; documentation fixes
Change 3477158 on 2017/06/06 by Max.Preussner
SwitchMedia: Implemented sample pooling
Change 3477201 on 2017/06/07 by Max.Preussner
PS4Media: Implemented video sample pooling
Change 3481470 on 2017/06/08 by Max.Preussner
Media: Fixed time stamps not set in recycled texture samples
Change 3481472 on 2017/06/08 by Max.Preussner
MediaAssets: Fixed no video samples fetched while player is in buffering state
Change 3481473 on 2017/06/08 by Max.Preussner
MediaUtils: Added default constructor to MediaSampleQueue
Change 3481584 on 2017/06/08 by Max.Preussner
MediaUtils: Paused state is considered forward for sample lookup as this is the common case.
Change 3481588 on 2017/06/08 by Max.Preussner
PS4Media: Redesigned the PS4 media player to support async file loading & track switching
Change 3481627 on 2017/06/08 by Max.Preussner
PS4Media: Opening media sources in thread pool if not precaching
Change 3481666 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed SequencePath property file picker always opening default path
Change 3481669 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed crash when quering cache state of empty image sequence
Change 3481685 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)
#jira UE-45719
Change 3483623 on 2017/06/10 by Max.Preussner
Media: Added getters for 360 view settings; added support for relative view updates
Change 3483624 on 2017/06/10 by Max.Preussner
Media: Added Blueprint support for 360 videos
Change 3483626 on 2017/06/10 by Max.Preussner
MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.
Change 3483627 on 2017/06/10 by Max.Preussner
Core: Using system start time instead of current time for renamed log file names
Change 3483630 on 2017/06/10 by Max.Preussner
Core: Grouping log files by log name and processing each group separately when deleting old log files
Change 3483816 on 2017/06/10 by Max.Preussner
WmfMedia: Detecting audio device availability to prevent lockup of audio tracks
Change 3483939 on 2017/06/11 by Max.Preussner
AvfMedia: Finished Media Framework 3.0 upgrade
- overhauled track switching
- removed render thread flushes
- reduced nesting
- code cleanup pass
Change 3483940 on 2017/06/11 by Max.Preussner
Media: Consistent track switching behavior across platforms
Change 3484172 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Removed obsolete asset type actions
Change 3484180 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture
Change 3484248 on 2017/06/11 by Max.Preussner
MediaAssets: Media players now always have a playlist
Change 3484249 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Added UI controls to Playlist tab
Change 3484250 on 2017/06/11 by Max.Preussner
Media: Implemented overlay sample caching
Change 3484252 on 2017/06/11 by Max.Preussner
WmfMedia: Enabled support for .smi and .sami subtitle files
Change 3485433 on 2017/06/12 by Max.Preussner
ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it
Change 3485720 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Added ability to save playlists
Change 3485828 on 2017/06/12 by Max.Preussner
AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread
Change 3485926 on 2017/06/12 by Max.Preussner
MediaUtils: Draining all unconsumed samples at the end of a frame
Change 3486043 on 2017/06/12 by Max.Preussner
Media: Consistent behavior for playlist navigation (UE-45964)
#jira UE-45964
Change 3486104 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Implemented simple overlay text positioning
Change 3486145 on 2017/06/12 by Max.Preussner
AndroidMediaPlayer: Moved video sample handling into render thread
Change 3486147 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Moved overlay texts into separate layer
Change 3486188 on 2017/06/12 by Max.Preussner
Media: Enabling media factory modules in Editor for all players
Change 3486223 on 2017/06/12 by Max.Preussner
Media: Defaulting players to select first audio and video tracks by default
Change 3486473 on 2017/06/13 by Max.Preussner
Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)
Change 3486475 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing busy bar when buffering or preparing
Change 3487237 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed video sample not getting processed on render thread
Change 3487507 on 2017/06/13 by Michael.Trepka
AvfMedia - small cleanup of the code for passing video frame rate to the video sampler
Change 3487719 on 2017/06/13 by Michael.Trepka
Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH
Change 3487842 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed texture swizzle disabled on non-Engine builds
Change 3488006 on 2017/06/13 by Michael.Trepka
AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file
Change 3488308 on 2017/06/13 by Chris.Babcock
AndroidMedia: Fixed flicker issue
#jira UE-45736
Change 3488335 on 2017/06/13 by Max.Preussner
MediaAssets: Made UFileMediaSource::GetFullPath public
Change 3488338 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources
Change 3488339 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing a throbber when buffering player
Change 3488768 on 2017/06/14 by Max.Preussner
Core: Inlined FTimespan static functions
hange 3490203 on 2017/06/14 by Max.Preussner
Core: Force inlined TComPtr operators
Change 3494083 on 2017/06/15 by Chris.Babcock
AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
#jira UE-46086
Change 3497017 on 2017/06/16 by Max.Preussner
MediaAssets: Playlists now auto advance with PlayOnOpen off
Change 3497075 on 2017/06/17 by Chris.Babcock
MediaPlayer Sampler node and external texture support for Android MediaPlayer
- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
- supports MediaSample node in material editor with scale/bias handled if above flag enabled
- fixed looping problems, including eventual crashes
- track switching fixed (lockups and missing video)
- corrected resource leaks and crash switching maps
#jira UE-46055
#jira UE-45744
#jira UE-46086
Change 3497163 on 2017/06/17 by Max.Preussner
MediaUtils: Processing media events immediately if on game thread
Change 3497170 on 2017/06/17 by Max.Preussner
Media: All Media Framework interfaces are pure virtual
Change 3498603 on 2017/06/19 by Ben.Marsh
UBT: Prevent plugins which list modules multiple times from adding them twice.
Change 3500870 on 2017/06/20 by Max.Preussner
WmfMedia: Rewrote WMF state machine; now with track switching
#jira UE-20209
#jira UE-35385
#jira UE-38337
#jira UE-45676
Change 3502181 on 2017/06/20 by Chris.Babcock
MediaSampler node updates
- fixed issue with ExternalTexture singleton for DLL compatiblity
- now works for all players (registers texture samples with ExternalTexture by player GUID)
- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler
Change 3503182 on 2017/06/21 by Max.Preussner
Media: Refactored status flags into an enum; exposed connecting status
Change 3503724 on 2017/06/21 by Chris.Babcock
Improvement in MediaPlayer Sampler node
- RGB, R, G, B, A output pins like normal texture sampler
- allow preview in material editor
- fix OES detection for Android
Change 3509088 on 2017/06/26 by Max.Preussner
MediaAssets: Added AddFile and AddUrl to UMediaPlaylist
Change 3510256 on 2017/06/26 by Max.Preussner
WmfMedia: Fixed play rate not set to zero when end reached
Change 3510273 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Removed obsolete Slate culling rectangle code
Change 3510413 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Showing frame rate if available
Change 3510533 on 2017/06/26 by Max.Preussner
MediaUtils: Preventing media cache filling up when scrubbing
Change 3510859 on 2017/06/26 by Max.Preussner
PS4Media: Fixed track switching crashes (UE-45960)
#jira UE-45960
Change 3514173 on 2017/06/28 by Max.Preussner
WmfMedia: Optimized player capabilities check
Change 3514174 on 2017/06/28 by Max.Preussner
WmfMedia: Moved media source resolver code into utility class
Change 3514714 on 2017/06/28 by Max.Preussner
Core: Added TComPointer.IsValid; code cleanup pass
Change 3517912 on 2017/06/30 by Max.Preussner
MediaUtils: Added GetVideoAspectRatio to player facade
Change 3524957 on 2017/07/06 by Max.Preussner
ImgMedia: Decoding image frames only when video track is selected
Change 3525252 on 2017/07/06 by Max.Preussner
ImgMedia: Async image sequence initialization
Change 3525266 on 2017/07/06 by Max.Preussner
ImgMedia: Enabled reverse playback
Change 3525722 on 2017/07/06 by Max.Preussner
WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport
Change 3525800 on 2017/07/07 by Max.Preussner
WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.
Change 3525801 on 2017/07/07 by Max.Preussner
MediaPlayerEditor: Made scrubbing more responsive
Change 3526500 on 2017/07/07 by Max.Preussner
WmfMedia: Using NULL for Windows pointers
Change 3527323 on 2017/07/07 by Max.Preussner
WmfMedia: Added support for audio and video capture media sources
Change 3530197 on 2017/07/10 by Max.Preussner
WmfMedia: Added utility functions for enumerating audio and video capture devices
Change 3533465 on 2017/07/12 by Max.Preussner
Media: Added media capture device support API & implementation for WMF
Change 3533469 on 2017/07/12 by Max.Preussner
MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar
Change 3533540 on 2017/07/12 by Max.Preussner
MediaAssets: Blueprint support for media capture device discovery
Change 3533574 on 2017/07/12 by Max.Preussner
WmfMedia: Using cached supported play rates; more strict pausing support check
Change 3533924 on 2017/07/12 by Max.Preussner
WmfMedia: Added global LowLatency setting (UEVR-859)
Note that this setting is only supported when compiling for Windows 8 or newer.
Change 3534027 on 2017/07/12 by Max.Preussner
WmfMedia: Compile time support for low latency session attribute on < Windows8
#jira UEVR-859
Change 3538744 on 2017/07/14 by Max.Preussner
MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource
Change 3542818 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed race condition on session shutdown
Change 3543082 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed track selection in media that doesn't support seeking
Change 3543092 on 2017/07/18 by Max.Preussner
Media: Implemented media track format API
Enables multiple formats per media track. By default, the first usable format is selected.
This feature is currently only implemented for WmfMedia. All other players assume a single format per track.
Change 3543794 on 2017/07/19 by Max.Preussner
WmfMedia: Added string conversion for null GUIDs
Change 3543796 on 2017/07/19 by Max.Preussner
MfMedia: Copied GUID string conversion updates from WmfMedia
Change 3543797 on 2017/07/19 by Max.Preussner
WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support
Change 3544390 on 2017/07/19 by Max.Preussner
Media: Allowing INDEX_NONE as 'current selection' index in track format related functions
Change 3545368 on 2017/07/19 by Max.Preussner
WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting
Change 3545388 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed RGB input sources rendered upside down
Change 3545430 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed incorrect sRGB conversion on BMP inputs
Change 3547362 on 2017/07/20 by Max.Preussner
Core: Added IsGraph and IsPrint to TCHAR utilities
Change 3547376 on 2017/07/20 by Max.Preussner
WmfMedia: Better log messages for non-standard video types (UE-47533)
#jira UE-47533
Change 3547404 on 2017/07/20 by Max.Preussner
QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)
#jira UE-47542
Change 3547466 on 2017/07/20 by Max.Preussner
WmfMedia: Fixed edge case for detecting whether pause is available
Change 3548742 on 2017/07/21 by Max.Preussner
Media: Added API for changing the input frame rate
Change 3548743 on 2017/07/21 by Max.Preussner
WmfMedia: Implemented ability to change input frame rate
Change 3554411 on 2017/07/25 by Max.Preussner
AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property
Change 3554818 on 2017/07/25 by Max.Preussner
Media: Added per track-type cache queries
Change 3557284 on 2017/07/26 by Max.Preussner
WmfMedia: Added buffer size check in texture sample as well
Change 3560530 on 2017/07/27 by Max.Preussner
WmfMedia: Made COM object destructors private and added assertions
Change 3560580 on 2017/07/27 by Max.Preussner
MediaUtils: Added method for querying number of objects in pool
Change 3562572 on 2017/07/28 by Max.Preussner
WmfMedia: Properly handling topology status errors when opening media
Change 3576710 on 2017/08/08 by Chris.Babcock
bug fixes for mediaplayer
- rare cases in Android media tracks
- make FMediaCaptureDevice members available in blueprints
Change 3577736 on 2017/08/08 by Chris.Babcock
Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)
Change 3578831 on 2017/08/09 by Max.Preussner
MediaAssets: Made media sound component BP spawnable
Change 3579210 on 2017/08/09 by Max.Preussner
UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults
Change 3579547 on 2017/08/09 by Chris.Babcock
Better support for Android external texture detection
Change 3579567 on 2017/08/09 by Chris.Babcock
Android camera plugin
#jira UEMOB-215
Change 3580035 on 2017/08/10 by Andrew.Rodham
Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
- Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
- Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
- Made UTexture::GetMaterialType const-correct
#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.
Change 3581552 on 2017/08/10 by Chris.Babcock
Use bilinear sampling instead of point for external texture (Android media and camera)
Change 3581628 on 2017/08/10 by Max.Preussner
Core: Fixed FTimespan import/export/copypaste (UE-43990)
#jira UE-43990
#jira UE-44163
Change 3581909 on 2017/08/11 by Andrew.Rodham
Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
- This prevents destroyed proxies from remaining in the texture registry
#jira UE-48307
Change 3582451 on 2017/08/11 by Max.Preussner
AudioMixer: Fixed initialization order of synth components
This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.
#jira UE-48055
Change 3582453 on 2017/08/11 by Max.Preussner
MediaAssets: Enabling ticking in media sound component (UE-48055)
#jira UE-48055
Change 3583101 on 2017/08/11 by Chris.Babcock
Android camera improvements
- return correct capture device type (webcamfront/rear)
- remove seek (not supported)
- support track formats
- better framerate selection
Change 3590109 on 2017/08/16 by Chris.Babcock
Move external texture coordinate update to improve accuracy and save a uniform in final shader
Change 3590530 on 2017/08/16 by Max.Preussner
MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks
#jira UE-48166
Change 3590547 on 2017/08/16 by Max.Preussner
MediaPlayerEditor: Ticking sound component directly
Change 3590628 on 2017/08/16 by Max.Preussner
Switch: Fixed media decoder asserting when attempting to pause without having started
Change 3591816 on 2017/08/16 by Aaron.McLeran
#jira UE-48470 Disabling async processing for procedural sound waves on mac.
Change 3592266 on 2017/08/16 by Max.Preussner
Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia
This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.
#jira UE-48474
#jira UE-45677
Change 3592355 on 2017/08/17 by Max.Preussner
MediaUtils: Added sample sink collection to remove code duplication
Change 3592739 on 2017/08/17 by Max.Preussner
ImgMedia: Fetching only one video sample per frame
Change 3592741 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample fetching when paused
Change 3592761 on 2017/08/17 by Max.Preussner
MediaUtils: Fixed overflow detection in sample sinks
Change 3592762 on 2017/08/17 by Max.Preussner
ImgMedia: Sending end reached event when looping
Change 3592885 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed reverse play
Change 3592887 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample range calculation for audio samples
Change 3593010 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed async loading of non-EXR image sequences
Change 3593193 on 2017/08/17 by Max.Preussner
AndroidMedia: Fixed typo
Change 3593230 on 2017/08/17 by Max.Preussner
Media: Implemented flushing for player sample queues
Change 3593346 on 2017/08/17 by Max.Preussner
Media: Proper sample processing for reverse playback
Change 3593482 on 2017/08/17 by Max.Preussner
Switch: Fixed sample range check for reverse playback
Change 3594428 on 2017/08/17 by Max.Preussner
PS4Media: Fixed video not playing/crashing
#jira UE-48547
#jira UE-48549
Change 3595404 on 2017/08/17 by Max.Preussner
MediaAssets: Not requesting audio samples if not playing
#jira UE-48557
Change 3595624 on 2017/08/17 by Max.Preussner
PS4Media: Fixed no looping after track switching
#jira UE-46524
#jira UE-48557
Change 3595704 on 2017/08/17 by Max.Preussner
MediaUtils: Improved sample queue flushing
Eventually this needs to be event-driven.
#jira UE-48557
Change 3595706 on 2017/08/17 by Max.Preussner
PS4Media: Flushing queues when track switching
#jira UE-48557
Change 3595909 on 2017/08/17 by Max.Preussner
Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
https://github.com/EpicGames/UnrealEngine/pull/3382
#jira UE-42906
#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
Change 3597480 on 2017/08/18 by Max.Preussner
ImgMediaPlayer: Fixed presentation time calculation for very large delta times
Change 3597669 on 2017/08/18 by Max.Preussner
ImgMedia: Setting player stopped instead of paused when end reached
Change 3597709 on 2017/08/18 by Max.Preussner
SwitchMedia: Fixed audio sample duration calculation
Change 3598479 on 2017/08/18 by Max.Preussner
ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging
Change 3598629 on 2017/08/18 by Max.Preussner
MediaUtils: Properly handling pending flushes when peeking sample queues
Change 3598633 on 2017/08/18 by Max.Preussner
WmfMedia: Fixed occasional WMF deadlock when scrubbing
Change 3598653 on 2017/08/18 by Max.Preussner
MediaUtils: Fixed audio resampling in reverse playback
Change 3598659 on 2017/08/18 by Max.Preussner
MediaPlayerEditor: Creating sound output only if audio device available
Change 3598688 on 2017/08/18 by Max.Preussner
MediaUtils: Flushing sample queues on direction change regardless of paused state
Change 3599444 on 2017/08/20 by Max.Preussner
WmfMedia: Added missing check for rate control when quering supported rates
Change 3603661 on 2017/08/22 by Max.Preussner
WmfMedia: Fixed NV12 output
Change 3604345 on 2017/08/23 by Max.Preussner
MediaUtils: Added subtitle samples to media sample collection; fixed documentation
Change 3604987 on 2017/08/23 by Max.Preussner
PS4Media: Setting correct track format types
Change 3605117 on 2017/08/23 by Joe.Barnes
Fix issue where presentation time was being treated as milliseconds instead of microseconds.
Change 3605128 on 2017/08/23 by Joe.Barnes
Fix potential issue calculating total (looped) play time after seek or reset.
Track last video presentation time
Change 3605139 on 2017/08/23 by Joe.Barnes
Support audio type DType_Setup.
Fix issue with procedural sounds popping. Consume more samples if necessary.
#jira ue-48544
Change 3605197 on 2017/08/23 by Max.Preussner
Media: Fixed track display name formatting (UE-48767)
#jira UE-48767
Change 3605817 on 2017/08/23 by Max.Chen
Auto set sampler type on drop on actor.
#jira UE-48769
Change 3605999 on 2017/08/23 by Max.Preussner
MfMedia: Restarting source reader when switching tracks
#jira UE-48766
Change 3606416 on 2017/08/23 by Max.Preussner
PS4Media: Various player improvements
#jira UE-48586
Change 3607656 on 2017/08/24 by Max.Preussner
WmfMedia: Improved logging for Seek and SetRate
Change 3607855 on 2017/08/24 by Max.Preussner
MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\
#jira UE-48766
Change 3608029 on 2017/08/24 by Max.Preussner
PS4Media: Fixed streaming media not playing; improved result checks & logging
#jira UE-48610
Change 3608473 on 2017/08/24 by Max.Preussner
MfMedia: Fixed audio sample duration calculation
#jira UE-48756
Change 3609316 on 2017/08/24 by Chris.Babcock
Provide external texture RotationScale and Offset from sample
Change 3610067 on 2017/08/25 by Richard.Wallis
Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.
- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.
#jira UE-48590, UE-48604
Change 3610267 on 2017/08/25 by Max.Preussner
PS4Media: Added missing track selection validation
#jira UE-48765
Change 3610399 on 2017/08/25 by Max.Preussner
PS4Media: Fixed infinite player re-initialization loop if track selection failed
Change 3610809 on 2017/08/25 by Chris.Babcock
Fixes for Android media player and camera player
- buffer samples copy proper bytecount
- realloc sets new buffer ptr
- refcount of Java buffers fixed
Change 3610953 on 2017/08/25 by Chris.Babcock
Fix audio disable before play on Android media player
Change 3611405 on 2017/08/25 by Max.Preussner
WmfMedia: Resetting supported rates if RateSupport unavailable
Change 3611406 on 2017/08/25 by Max.Preussner
MfMedia: Resetting supported rates if RateSupport unavailable
Change 3611453 on 2017/08/25 by Chris.Babcock
Android external texture extension updates for compatibility
Change 3611719 on 2017/08/26 by Max.Preussner
Media: Added media event for completed seek operations; flushing sinks on seek
Change 3611764 on 2017/08/26 by Max.Preussner
AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously
Change 3611802 on 2017/08/26 by Max.Preussner
Media: Exposed error state in media player
Change 3611803 on 2017/08/26 by Max.Preussner
MediaPlayerEditor: Showing error state in UI
Change 3611887 on 2017/08/26 by Max.Preussner
MediaUtils: Corrected media sample sink overflow check
Change 3611892 on 2017/08/27 by Max.Preussner
WmfMedia: Leaving session in error state after error
Change 3611929 on 2017/08/27 by Max.Preussner
MediaPlayerEditor: Fixed sound stopping on looping
Change 3611930 on 2017/08/27 by Max.Preussner
MfMedia: Rewrote async sample processing to fix various playback issues
Change 3611942 on 2017/08/27 by Max.Preussner
Media: Sending suspension event when playback ended
Change 3611957 on 2017/08/27 by Max.Preussner
UnrealEd: Allowed transient assets to be resaved to disk
Change 3611981 on 2017/08/27 by Max.Preussner
PS4Media: Rewrote sample processing to fix various playback issues
#jira UE-48596
#jira UE-48793
Change 3612035 on 2017/08/27 by Max.Preussner
UnrealEd: Picking standard default names when resaving transient packages
Change 3612045 on 2017/08/27 by Max.Preussner
Media: Fixed playlists not getting saved correctly from Editor (UE-35382)
#jira UE-35382
Change 3612212 on 2017/08/28 by Richard.Wallis
Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close.
#jira UE-47602
Change 3613531 on 2017/08/28 by Max.Preussner
MediaAssets: Fixed external texture related crash on shutdown (UE-48918)
Also no longer creating clock sink for media player CDO
#jira UE-48918
Change 3613677 on 2017/08/28 by Andrew.Porter
Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object
#jira UE-48937
Change 3615917 on 2017/08/29 by Max.Preussner
MfMedia: Added compile options for DXVA and falling back to synchronous sample reading
[CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
|
|
|
|
|
|
|
|
#include "HAL/PlatformProcess.h"
|
2017-07-11 18:04:24 -04:00
|
|
|
#include "IOSMessageProtocol.h"
|
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642)
#lockdown nick.penwarden
#rb none
Change 3235667 on 2016/12/14 by Max.Preussner
Media: Moved enums into separate header file, so they can be shared
Change 3259266 on 2017/01/16 by Max.Preussner
Core: Added timespan ratio
Change 3267229 on 2017/01/21 by Max.Preussner
Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed
Change 3274773 on 2017/01/27 by Max.Preussner
Core: Added TLruCache template
Change 3281579 on 2017/02/01 by Max.Preussner
Core: Added scalar division to FTimespan
Change 3289522 on 2017/02/07 by Max.Preussner
MediaAssets: Added looping for play lists
Change 3290664 on 2017/02/07 by Max.Preussner
Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.
Change 3290688 on 2017/02/07 by Max.Preussner
MediaAssets: Notifying materials when media texture properties changed.
Change 3291171 on 2017/02/07 by Max.Preussner
MediaAssets: Filtering unused UTexture properties
Change 3291229 on 2017/02/07 by Max.Preussner
ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0
Change 3298520 on 2017/02/11 by Max.Preussner
Sequencer: Fixed skylight and reflection components off by one frame in PIE
Change 3298778 on 2017/02/12 by Max.Preussner
MediaUtils: Experimenting with dynamic pitch adjustment
Change 3298987 on 2017/02/13 by Max.Chen
Editor: Add matrix and transform properties to property editor test object
Change 3298997 on 2017/02/13 by Max.Chen
Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
- Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
- Added percentage unit type
- Multiplier unit types can now be converted between
Change 3298998 on 2017/02/13 by Max.Chen
Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible
Change 3348678 on 2017/03/15 by Max.Preussner
Media: Added Buffering media event
Change 3355268 on 2017/03/20 by Max.Preussner
Core: TQueue documentation updates
Change 3359055 on 2017/03/22 by Max.Preussner
Portal: Removed dependency to Messaging.h
Change 3359060 on 2017/03/22 by Max.Preussner
Messaging: Modernization pass
- added missing includes & forward declarations
- include what you use
- deprecated shared pointer typedefs
- replaced some delegates with callback interfaces
- documentation fixes
Change 3359189 on 2017/03/22 by Max.Preussner
Automation: Modernization pass
- include what you use
- removed molothic header
- documentation fixes
#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory
Change 3359718 on 2017/03/22 by Max.Preussner
Messaging: Moved common helper classes into MessagingCommon module
#upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").
Change 3359793 on 2017/03/23 by Max.Preussner
TargetDeviceServices: Modernization pass
- include what you use
- removed boilerplate header
- deprecated selected shared pointer typedefs
- reorganized files
- documentation fixes
Change 3361028 on 2017/03/23 by Max.Preussner
DeviceManager: Modernization pass
- include what you use
- reduced shared pointer typedef usage
- documentation fixes
Change 3361197 on 2017/03/23 by Max.Preussner
Messaging: Waking up message router thread on shutdown
Change 3361246 on 2017/03/23 by Max.Preussner
AutomationWindow: Removed boilerplate header
#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h
Change 3361428 on 2017/03/23 by Max.Preussner
AutomationController: Removed boilerplate header
#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.
Change 3363206 on 2017/03/24 by Max.Preussner
ProfileLauncher: Modernization pass
- include what you use (selected files)
- reduced shared pointer typedef usages
- removed dead code
- cleaned up file organization
- documentation fixes
Change 3363290 on 2017/03/24 by Max.Preussner
LauncherServices: Removed boilerplate header
#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes
Change 3363305 on 2017/03/24 by Max.Preussner
LauncherCheck: Removed boilerplate header
#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions
Change 3363708 on 2017/03/24 by Max.Preussner
ImageWrapper: Removed boilerplate header
#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes
Change 3363966 on 2017/03/24 by Max.Preussner
ImageWrapper: Modernization pass
- include what you use
- reorganized internal files
- documentation fixes
Change 3364579 on 2017/03/24 by Max.Preussner
ImageWrapper: Deprecated shared pointer typedef and removed usages
#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr
Change 3364582 on 2017/03/24 by Max.Preussner
NetworkFileSystem: Removed monolithic boilerplate header
#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes
Change 3381440 on 2017/04/05 by Max.Preussner
Oculus: Removed illegal pragmas
Change 3391731 on 2017/04/12 by Max.Preussner
ImgMedia: Added support for BMP, JPG and PNG image sequences
Change 3401146 on 2017/04/19 by Max.Preussner
Core: Cleanup pass for FTimespan usages; updated documentation
When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.
Change 3401504 on 2017/04/20 by Max.Preussner
MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds
Change 3401833 on 2017/04/20 by Max.Preussner
Core: Various improvements to FTimespan
- added proper serialization
- updated documentation
- access fractions as milli-, micro- or nanoseconds
- removed the following string formatters as they were not useful: %D %H %M %S %F
- updated documentation
#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.
#jira UE-43990
#jira UE-44163
Change 3437543 on 2017/05/12 by Max.Preussner
PS4Media: Added audio error codes conversion
Change 3446564 on 2017/05/18 by Max.Preussner
Networking: Fixed nullpointer crash if socket initialization fails
Change 3459978 on 2017/05/25 by Max.Preussner
ImgMedia: Renamed frame cache to frame loader
Change 3463311 on 2017/05/26 by Max.Preussner
Core: Added iterators & predicate based methods to LRU Cache
Change 3464452 on 2017/05/29 by Max.Preussner
ImgMedia: Added video sample output
Change 3464468 on 2017/05/29 by Max.Preussner
Media: Added separate cache visualization for loaded and cached samples
Change 3464592 on 2017/05/29 by Max.Preussner
Core: Added TLruCache::FindAndTouch
Change 3464607 on 2017/05/29 by Max.Preussner
Core: Added TRange::Inclusive / ::Exclusive
Change 3464608 on 2017/05/29 by Max.Preussner
Media: Fixed incorrect upper bound in support play rates of various players
Change 3466732 on 2017/05/30 by Max.Preussner
ImgMedia: Added image compression type to info string
Change 3466871 on 2017/05/31 by Max.Preussner
WmfMedia: Fixed session capabilities not showing up; added initialization logging
Change 3467785 on 2017/05/31 by Max.Preussner
MfMedia: Fixed sample stride calculated from media input instead of output
Change 3467963 on 2017/05/31 by Max.Preussner
WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly
Change 3468110 on 2017/05/31 by Max.Preussner
WmfMedia: Added MPEG-2 media sub types to utils
Change 3468516 on 2017/05/31 by Max.Preussner
AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)
Change 3468554 on 2017/05/31 by Max.Preussner
MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded
Change 3468627 on 2017/05/31 by Max.Preussner
ImgMedia: Allowing for auto-selection of EXR decoder thread count
Change 3468648 on 2017/05/31 by Max.Preussner
ImgMedia: Reorganized OpenExrWrapper files
Change 3471789 on 2017/06/02 by Max.Preussner
WmfMedia: Fixed potential concurrency issue in session state management
Change 3472918 on 2017/06/03 by Max.Preussner
Core: Allowing zero sized LRU cache; added default constructor
Change 3472919 on 2017/06/03 by Max.Preussner
Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching
Change 3473704 on 2017/06/05 by Max.Preussner
AndroidMedia: Added settings class
Change 3474407 on 2017/06/05 by Max.Preussner
AndroidMedia: Implemented video sample processing
Change 3474934 on 2017/06/05 by Max.Preussner
ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)
#jira UE-45705
Change 3476925 on 2017/06/06 by Max.Preussner
Media: Added return values to media view interface; documentation fixes
Change 3477158 on 2017/06/06 by Max.Preussner
SwitchMedia: Implemented sample pooling
Change 3477201 on 2017/06/07 by Max.Preussner
PS4Media: Implemented video sample pooling
Change 3481470 on 2017/06/08 by Max.Preussner
Media: Fixed time stamps not set in recycled texture samples
Change 3481472 on 2017/06/08 by Max.Preussner
MediaAssets: Fixed no video samples fetched while player is in buffering state
Change 3481473 on 2017/06/08 by Max.Preussner
MediaUtils: Added default constructor to MediaSampleQueue
Change 3481584 on 2017/06/08 by Max.Preussner
MediaUtils: Paused state is considered forward for sample lookup as this is the common case.
Change 3481588 on 2017/06/08 by Max.Preussner
PS4Media: Redesigned the PS4 media player to support async file loading & track switching
Change 3481627 on 2017/06/08 by Max.Preussner
PS4Media: Opening media sources in thread pool if not precaching
Change 3481666 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed SequencePath property file picker always opening default path
Change 3481669 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed crash when quering cache state of empty image sequence
Change 3481685 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)
#jira UE-45719
Change 3483623 on 2017/06/10 by Max.Preussner
Media: Added getters for 360 view settings; added support for relative view updates
Change 3483624 on 2017/06/10 by Max.Preussner
Media: Added Blueprint support for 360 videos
Change 3483626 on 2017/06/10 by Max.Preussner
MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.
Change 3483627 on 2017/06/10 by Max.Preussner
Core: Using system start time instead of current time for renamed log file names
Change 3483630 on 2017/06/10 by Max.Preussner
Core: Grouping log files by log name and processing each group separately when deleting old log files
Change 3483816 on 2017/06/10 by Max.Preussner
WmfMedia: Detecting audio device availability to prevent lockup of audio tracks
Change 3483939 on 2017/06/11 by Max.Preussner
AvfMedia: Finished Media Framework 3.0 upgrade
- overhauled track switching
- removed render thread flushes
- reduced nesting
- code cleanup pass
Change 3483940 on 2017/06/11 by Max.Preussner
Media: Consistent track switching behavior across platforms
Change 3484172 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Removed obsolete asset type actions
Change 3484180 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture
Change 3484248 on 2017/06/11 by Max.Preussner
MediaAssets: Media players now always have a playlist
Change 3484249 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Added UI controls to Playlist tab
Change 3484250 on 2017/06/11 by Max.Preussner
Media: Implemented overlay sample caching
Change 3484252 on 2017/06/11 by Max.Preussner
WmfMedia: Enabled support for .smi and .sami subtitle files
Change 3485433 on 2017/06/12 by Max.Preussner
ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it
Change 3485720 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Added ability to save playlists
Change 3485828 on 2017/06/12 by Max.Preussner
AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread
Change 3485926 on 2017/06/12 by Max.Preussner
MediaUtils: Draining all unconsumed samples at the end of a frame
Change 3486043 on 2017/06/12 by Max.Preussner
Media: Consistent behavior for playlist navigation (UE-45964)
#jira UE-45964
Change 3486104 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Implemented simple overlay text positioning
Change 3486145 on 2017/06/12 by Max.Preussner
AndroidMediaPlayer: Moved video sample handling into render thread
Change 3486147 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Moved overlay texts into separate layer
Change 3486188 on 2017/06/12 by Max.Preussner
Media: Enabling media factory modules in Editor for all players
Change 3486223 on 2017/06/12 by Max.Preussner
Media: Defaulting players to select first audio and video tracks by default
Change 3486473 on 2017/06/13 by Max.Preussner
Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)
Change 3486475 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing busy bar when buffering or preparing
Change 3487237 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed video sample not getting processed on render thread
Change 3487507 on 2017/06/13 by Michael.Trepka
AvfMedia - small cleanup of the code for passing video frame rate to the video sampler
Change 3487719 on 2017/06/13 by Michael.Trepka
Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH
Change 3487842 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed texture swizzle disabled on non-Engine builds
Change 3488006 on 2017/06/13 by Michael.Trepka
AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file
Change 3488308 on 2017/06/13 by Chris.Babcock
AndroidMedia: Fixed flicker issue
#jira UE-45736
Change 3488335 on 2017/06/13 by Max.Preussner
MediaAssets: Made UFileMediaSource::GetFullPath public
Change 3488338 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources
Change 3488339 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing a throbber when buffering player
Change 3488768 on 2017/06/14 by Max.Preussner
Core: Inlined FTimespan static functions
hange 3490203 on 2017/06/14 by Max.Preussner
Core: Force inlined TComPtr operators
Change 3494083 on 2017/06/15 by Chris.Babcock
AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
#jira UE-46086
Change 3497017 on 2017/06/16 by Max.Preussner
MediaAssets: Playlists now auto advance with PlayOnOpen off
Change 3497075 on 2017/06/17 by Chris.Babcock
MediaPlayer Sampler node and external texture support for Android MediaPlayer
- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
- supports MediaSample node in material editor with scale/bias handled if above flag enabled
- fixed looping problems, including eventual crashes
- track switching fixed (lockups and missing video)
- corrected resource leaks and crash switching maps
#jira UE-46055
#jira UE-45744
#jira UE-46086
Change 3497163 on 2017/06/17 by Max.Preussner
MediaUtils: Processing media events immediately if on game thread
Change 3497170 on 2017/06/17 by Max.Preussner
Media: All Media Framework interfaces are pure virtual
Change 3498603 on 2017/06/19 by Ben.Marsh
UBT: Prevent plugins which list modules multiple times from adding them twice.
Change 3500870 on 2017/06/20 by Max.Preussner
WmfMedia: Rewrote WMF state machine; now with track switching
#jira UE-20209
#jira UE-35385
#jira UE-38337
#jira UE-45676
Change 3502181 on 2017/06/20 by Chris.Babcock
MediaSampler node updates
- fixed issue with ExternalTexture singleton for DLL compatiblity
- now works for all players (registers texture samples with ExternalTexture by player GUID)
- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler
Change 3503182 on 2017/06/21 by Max.Preussner
Media: Refactored status flags into an enum; exposed connecting status
Change 3503724 on 2017/06/21 by Chris.Babcock
Improvement in MediaPlayer Sampler node
- RGB, R, G, B, A output pins like normal texture sampler
- allow preview in material editor
- fix OES detection for Android
Change 3509088 on 2017/06/26 by Max.Preussner
MediaAssets: Added AddFile and AddUrl to UMediaPlaylist
Change 3510256 on 2017/06/26 by Max.Preussner
WmfMedia: Fixed play rate not set to zero when end reached
Change 3510273 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Removed obsolete Slate culling rectangle code
Change 3510413 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Showing frame rate if available
Change 3510533 on 2017/06/26 by Max.Preussner
MediaUtils: Preventing media cache filling up when scrubbing
Change 3510859 on 2017/06/26 by Max.Preussner
PS4Media: Fixed track switching crashes (UE-45960)
#jira UE-45960
Change 3514173 on 2017/06/28 by Max.Preussner
WmfMedia: Optimized player capabilities check
Change 3514174 on 2017/06/28 by Max.Preussner
WmfMedia: Moved media source resolver code into utility class
Change 3514714 on 2017/06/28 by Max.Preussner
Core: Added TComPointer.IsValid; code cleanup pass
Change 3517912 on 2017/06/30 by Max.Preussner
MediaUtils: Added GetVideoAspectRatio to player facade
Change 3524957 on 2017/07/06 by Max.Preussner
ImgMedia: Decoding image frames only when video track is selected
Change 3525252 on 2017/07/06 by Max.Preussner
ImgMedia: Async image sequence initialization
Change 3525266 on 2017/07/06 by Max.Preussner
ImgMedia: Enabled reverse playback
Change 3525722 on 2017/07/06 by Max.Preussner
WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport
Change 3525800 on 2017/07/07 by Max.Preussner
WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.
Change 3525801 on 2017/07/07 by Max.Preussner
MediaPlayerEditor: Made scrubbing more responsive
Change 3526500 on 2017/07/07 by Max.Preussner
WmfMedia: Using NULL for Windows pointers
Change 3527323 on 2017/07/07 by Max.Preussner
WmfMedia: Added support for audio and video capture media sources
Change 3530197 on 2017/07/10 by Max.Preussner
WmfMedia: Added utility functions for enumerating audio and video capture devices
Change 3533465 on 2017/07/12 by Max.Preussner
Media: Added media capture device support API & implementation for WMF
Change 3533469 on 2017/07/12 by Max.Preussner
MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar
Change 3533540 on 2017/07/12 by Max.Preussner
MediaAssets: Blueprint support for media capture device discovery
Change 3533574 on 2017/07/12 by Max.Preussner
WmfMedia: Using cached supported play rates; more strict pausing support check
Change 3533924 on 2017/07/12 by Max.Preussner
WmfMedia: Added global LowLatency setting (UEVR-859)
Note that this setting is only supported when compiling for Windows 8 or newer.
Change 3534027 on 2017/07/12 by Max.Preussner
WmfMedia: Compile time support for low latency session attribute on < Windows8
#jira UEVR-859
Change 3538744 on 2017/07/14 by Max.Preussner
MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource
Change 3542818 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed race condition on session shutdown
Change 3543082 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed track selection in media that doesn't support seeking
Change 3543092 on 2017/07/18 by Max.Preussner
Media: Implemented media track format API
Enables multiple formats per media track. By default, the first usable format is selected.
This feature is currently only implemented for WmfMedia. All other players assume a single format per track.
Change 3543794 on 2017/07/19 by Max.Preussner
WmfMedia: Added string conversion for null GUIDs
Change 3543796 on 2017/07/19 by Max.Preussner
MfMedia: Copied GUID string conversion updates from WmfMedia
Change 3543797 on 2017/07/19 by Max.Preussner
WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support
Change 3544390 on 2017/07/19 by Max.Preussner
Media: Allowing INDEX_NONE as 'current selection' index in track format related functions
Change 3545368 on 2017/07/19 by Max.Preussner
WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting
Change 3545388 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed RGB input sources rendered upside down
Change 3545430 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed incorrect sRGB conversion on BMP inputs
Change 3547362 on 2017/07/20 by Max.Preussner
Core: Added IsGraph and IsPrint to TCHAR utilities
Change 3547376 on 2017/07/20 by Max.Preussner
WmfMedia: Better log messages for non-standard video types (UE-47533)
#jira UE-47533
Change 3547404 on 2017/07/20 by Max.Preussner
QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)
#jira UE-47542
Change 3547466 on 2017/07/20 by Max.Preussner
WmfMedia: Fixed edge case for detecting whether pause is available
Change 3548742 on 2017/07/21 by Max.Preussner
Media: Added API for changing the input frame rate
Change 3548743 on 2017/07/21 by Max.Preussner
WmfMedia: Implemented ability to change input frame rate
Change 3554411 on 2017/07/25 by Max.Preussner
AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property
Change 3554818 on 2017/07/25 by Max.Preussner
Media: Added per track-type cache queries
Change 3557284 on 2017/07/26 by Max.Preussner
WmfMedia: Added buffer size check in texture sample as well
Change 3560530 on 2017/07/27 by Max.Preussner
WmfMedia: Made COM object destructors private and added assertions
Change 3560580 on 2017/07/27 by Max.Preussner
MediaUtils: Added method for querying number of objects in pool
Change 3562572 on 2017/07/28 by Max.Preussner
WmfMedia: Properly handling topology status errors when opening media
Change 3576710 on 2017/08/08 by Chris.Babcock
bug fixes for mediaplayer
- rare cases in Android media tracks
- make FMediaCaptureDevice members available in blueprints
Change 3577736 on 2017/08/08 by Chris.Babcock
Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)
Change 3578831 on 2017/08/09 by Max.Preussner
MediaAssets: Made media sound component BP spawnable
Change 3579210 on 2017/08/09 by Max.Preussner
UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults
Change 3579547 on 2017/08/09 by Chris.Babcock
Better support for Android external texture detection
Change 3579567 on 2017/08/09 by Chris.Babcock
Android camera plugin
#jira UEMOB-215
Change 3580035 on 2017/08/10 by Andrew.Rodham
Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
- Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
- Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
- Made UTexture::GetMaterialType const-correct
#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.
Change 3581552 on 2017/08/10 by Chris.Babcock
Use bilinear sampling instead of point for external texture (Android media and camera)
Change 3581628 on 2017/08/10 by Max.Preussner
Core: Fixed FTimespan import/export/copypaste (UE-43990)
#jira UE-43990
#jira UE-44163
Change 3581909 on 2017/08/11 by Andrew.Rodham
Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
- This prevents destroyed proxies from remaining in the texture registry
#jira UE-48307
Change 3582451 on 2017/08/11 by Max.Preussner
AudioMixer: Fixed initialization order of synth components
This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.
#jira UE-48055
Change 3582453 on 2017/08/11 by Max.Preussner
MediaAssets: Enabling ticking in media sound component (UE-48055)
#jira UE-48055
Change 3583101 on 2017/08/11 by Chris.Babcock
Android camera improvements
- return correct capture device type (webcamfront/rear)
- remove seek (not supported)
- support track formats
- better framerate selection
Change 3590109 on 2017/08/16 by Chris.Babcock
Move external texture coordinate update to improve accuracy and save a uniform in final shader
Change 3590530 on 2017/08/16 by Max.Preussner
MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks
#jira UE-48166
Change 3590547 on 2017/08/16 by Max.Preussner
MediaPlayerEditor: Ticking sound component directly
Change 3590628 on 2017/08/16 by Max.Preussner
Switch: Fixed media decoder asserting when attempting to pause without having started
Change 3591816 on 2017/08/16 by Aaron.McLeran
#jira UE-48470 Disabling async processing for procedural sound waves on mac.
Change 3592266 on 2017/08/16 by Max.Preussner
Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia
This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.
#jira UE-48474
#jira UE-45677
Change 3592355 on 2017/08/17 by Max.Preussner
MediaUtils: Added sample sink collection to remove code duplication
Change 3592739 on 2017/08/17 by Max.Preussner
ImgMedia: Fetching only one video sample per frame
Change 3592741 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample fetching when paused
Change 3592761 on 2017/08/17 by Max.Preussner
MediaUtils: Fixed overflow detection in sample sinks
Change 3592762 on 2017/08/17 by Max.Preussner
ImgMedia: Sending end reached event when looping
Change 3592885 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed reverse play
Change 3592887 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample range calculation for audio samples
Change 3593010 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed async loading of non-EXR image sequences
Change 3593193 on 2017/08/17 by Max.Preussner
AndroidMedia: Fixed typo
Change 3593230 on 2017/08/17 by Max.Preussner
Media: Implemented flushing for player sample queues
Change 3593346 on 2017/08/17 by Max.Preussner
Media: Proper sample processing for reverse playback
Change 3593482 on 2017/08/17 by Max.Preussner
Switch: Fixed sample range check for reverse playback
Change 3594428 on 2017/08/17 by Max.Preussner
PS4Media: Fixed video not playing/crashing
#jira UE-48547
#jira UE-48549
Change 3595404 on 2017/08/17 by Max.Preussner
MediaAssets: Not requesting audio samples if not playing
#jira UE-48557
Change 3595624 on 2017/08/17 by Max.Preussner
PS4Media: Fixed no looping after track switching
#jira UE-46524
#jira UE-48557
Change 3595704 on 2017/08/17 by Max.Preussner
MediaUtils: Improved sample queue flushing
Eventually this needs to be event-driven.
#jira UE-48557
Change 3595706 on 2017/08/17 by Max.Preussner
PS4Media: Flushing queues when track switching
#jira UE-48557
Change 3595909 on 2017/08/17 by Max.Preussner
Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
https://github.com/EpicGames/UnrealEngine/pull/3382
#jira UE-42906
#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
Change 3597480 on 2017/08/18 by Max.Preussner
ImgMediaPlayer: Fixed presentation time calculation for very large delta times
Change 3597669 on 2017/08/18 by Max.Preussner
ImgMedia: Setting player stopped instead of paused when end reached
Change 3597709 on 2017/08/18 by Max.Preussner
SwitchMedia: Fixed audio sample duration calculation
Change 3598479 on 2017/08/18 by Max.Preussner
ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging
Change 3598629 on 2017/08/18 by Max.Preussner
MediaUtils: Properly handling pending flushes when peeking sample queues
Change 3598633 on 2017/08/18 by Max.Preussner
WmfMedia: Fixed occasional WMF deadlock when scrubbing
Change 3598653 on 2017/08/18 by Max.Preussner
MediaUtils: Fixed audio resampling in reverse playback
Change 3598659 on 2017/08/18 by Max.Preussner
MediaPlayerEditor: Creating sound output only if audio device available
Change 3598688 on 2017/08/18 by Max.Preussner
MediaUtils: Flushing sample queues on direction change regardless of paused state
Change 3599444 on 2017/08/20 by Max.Preussner
WmfMedia: Added missing check for rate control when quering supported rates
Change 3603661 on 2017/08/22 by Max.Preussner
WmfMedia: Fixed NV12 output
Change 3604345 on 2017/08/23 by Max.Preussner
MediaUtils: Added subtitle samples to media sample collection; fixed documentation
Change 3604987 on 2017/08/23 by Max.Preussner
PS4Media: Setting correct track format types
Change 3605117 on 2017/08/23 by Joe.Barnes
Fix issue where presentation time was being treated as milliseconds instead of microseconds.
Change 3605128 on 2017/08/23 by Joe.Barnes
Fix potential issue calculating total (looped) play time after seek or reset.
Track last video presentation time
Change 3605139 on 2017/08/23 by Joe.Barnes
Support audio type DType_Setup.
Fix issue with procedural sounds popping. Consume more samples if necessary.
#jira ue-48544
Change 3605197 on 2017/08/23 by Max.Preussner
Media: Fixed track display name formatting (UE-48767)
#jira UE-48767
Change 3605817 on 2017/08/23 by Max.Chen
Auto set sampler type on drop on actor.
#jira UE-48769
Change 3605999 on 2017/08/23 by Max.Preussner
MfMedia: Restarting source reader when switching tracks
#jira UE-48766
Change 3606416 on 2017/08/23 by Max.Preussner
PS4Media: Various player improvements
#jira UE-48586
Change 3607656 on 2017/08/24 by Max.Preussner
WmfMedia: Improved logging for Seek and SetRate
Change 3607855 on 2017/08/24 by Max.Preussner
MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\
#jira UE-48766
Change 3608029 on 2017/08/24 by Max.Preussner
PS4Media: Fixed streaming media not playing; improved result checks & logging
#jira UE-48610
Change 3608473 on 2017/08/24 by Max.Preussner
MfMedia: Fixed audio sample duration calculation
#jira UE-48756
Change 3609316 on 2017/08/24 by Chris.Babcock
Provide external texture RotationScale and Offset from sample
Change 3610067 on 2017/08/25 by Richard.Wallis
Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.
- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.
#jira UE-48590, UE-48604
Change 3610267 on 2017/08/25 by Max.Preussner
PS4Media: Added missing track selection validation
#jira UE-48765
Change 3610399 on 2017/08/25 by Max.Preussner
PS4Media: Fixed infinite player re-initialization loop if track selection failed
Change 3610809 on 2017/08/25 by Chris.Babcock
Fixes for Android media player and camera player
- buffer samples copy proper bytecount
- realloc sets new buffer ptr
- refcount of Java buffers fixed
Change 3610953 on 2017/08/25 by Chris.Babcock
Fix audio disable before play on Android media player
Change 3611405 on 2017/08/25 by Max.Preussner
WmfMedia: Resetting supported rates if RateSupport unavailable
Change 3611406 on 2017/08/25 by Max.Preussner
MfMedia: Resetting supported rates if RateSupport unavailable
Change 3611453 on 2017/08/25 by Chris.Babcock
Android external texture extension updates for compatibility
Change 3611719 on 2017/08/26 by Max.Preussner
Media: Added media event for completed seek operations; flushing sinks on seek
Change 3611764 on 2017/08/26 by Max.Preussner
AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously
Change 3611802 on 2017/08/26 by Max.Preussner
Media: Exposed error state in media player
Change 3611803 on 2017/08/26 by Max.Preussner
MediaPlayerEditor: Showing error state in UI
Change 3611887 on 2017/08/26 by Max.Preussner
MediaUtils: Corrected media sample sink overflow check
Change 3611892 on 2017/08/27 by Max.Preussner
WmfMedia: Leaving session in error state after error
Change 3611929 on 2017/08/27 by Max.Preussner
MediaPlayerEditor: Fixed sound stopping on looping
Change 3611930 on 2017/08/27 by Max.Preussner
MfMedia: Rewrote async sample processing to fix various playback issues
Change 3611942 on 2017/08/27 by Max.Preussner
Media: Sending suspension event when playback ended
Change 3611957 on 2017/08/27 by Max.Preussner
UnrealEd: Allowed transient assets to be resaved to disk
Change 3611981 on 2017/08/27 by Max.Preussner
PS4Media: Rewrote sample processing to fix various playback issues
#jira UE-48596
#jira UE-48793
Change 3612035 on 2017/08/27 by Max.Preussner
UnrealEd: Picking standard default names when resaving transient packages
Change 3612045 on 2017/08/27 by Max.Preussner
Media: Fixed playlists not getting saved correctly from Editor (UE-35382)
#jira UE-35382
Change 3612212 on 2017/08/28 by Richard.Wallis
Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close.
#jira UE-47602
Change 3613531 on 2017/08/28 by Max.Preussner
MediaAssets: Fixed external texture related crash on shutdown (UE-48918)
Also no longer creating clock sink for media player CDO
#jira UE-48918
Change 3613677 on 2017/08/28 by Andrew.Porter
Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object
#jira UE-48937
Change 3615917 on 2017/08/29 by Max.Preussner
MfMedia: Added compile options for DXVA and falling back to synchronous sample reading
[CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
|
|
|
#include "Interfaces/ITargetPlatform.h"
|
2019-02-28 18:18:53 -05:00
|
|
|
#include "Async/Async.h"
|
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642)
#lockdown nick.penwarden
#rb none
Change 3235667 on 2016/12/14 by Max.Preussner
Media: Moved enums into separate header file, so they can be shared
Change 3259266 on 2017/01/16 by Max.Preussner
Core: Added timespan ratio
Change 3267229 on 2017/01/21 by Max.Preussner
Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed
Change 3274773 on 2017/01/27 by Max.Preussner
Core: Added TLruCache template
Change 3281579 on 2017/02/01 by Max.Preussner
Core: Added scalar division to FTimespan
Change 3289522 on 2017/02/07 by Max.Preussner
MediaAssets: Added looping for play lists
Change 3290664 on 2017/02/07 by Max.Preussner
Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.
Change 3290688 on 2017/02/07 by Max.Preussner
MediaAssets: Notifying materials when media texture properties changed.
Change 3291171 on 2017/02/07 by Max.Preussner
MediaAssets: Filtering unused UTexture properties
Change 3291229 on 2017/02/07 by Max.Preussner
ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0
Change 3298520 on 2017/02/11 by Max.Preussner
Sequencer: Fixed skylight and reflection components off by one frame in PIE
Change 3298778 on 2017/02/12 by Max.Preussner
MediaUtils: Experimenting with dynamic pitch adjustment
Change 3298987 on 2017/02/13 by Max.Chen
Editor: Add matrix and transform properties to property editor test object
Change 3298997 on 2017/02/13 by Max.Chen
Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
- Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
- Added percentage unit type
- Multiplier unit types can now be converted between
Change 3298998 on 2017/02/13 by Max.Chen
Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible
Change 3348678 on 2017/03/15 by Max.Preussner
Media: Added Buffering media event
Change 3355268 on 2017/03/20 by Max.Preussner
Core: TQueue documentation updates
Change 3359055 on 2017/03/22 by Max.Preussner
Portal: Removed dependency to Messaging.h
Change 3359060 on 2017/03/22 by Max.Preussner
Messaging: Modernization pass
- added missing includes & forward declarations
- include what you use
- deprecated shared pointer typedefs
- replaced some delegates with callback interfaces
- documentation fixes
Change 3359189 on 2017/03/22 by Max.Preussner
Automation: Modernization pass
- include what you use
- removed molothic header
- documentation fixes
#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory
Change 3359718 on 2017/03/22 by Max.Preussner
Messaging: Moved common helper classes into MessagingCommon module
#upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").
Change 3359793 on 2017/03/23 by Max.Preussner
TargetDeviceServices: Modernization pass
- include what you use
- removed boilerplate header
- deprecated selected shared pointer typedefs
- reorganized files
- documentation fixes
Change 3361028 on 2017/03/23 by Max.Preussner
DeviceManager: Modernization pass
- include what you use
- reduced shared pointer typedef usage
- documentation fixes
Change 3361197 on 2017/03/23 by Max.Preussner
Messaging: Waking up message router thread on shutdown
Change 3361246 on 2017/03/23 by Max.Preussner
AutomationWindow: Removed boilerplate header
#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h
Change 3361428 on 2017/03/23 by Max.Preussner
AutomationController: Removed boilerplate header
#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.
Change 3363206 on 2017/03/24 by Max.Preussner
ProfileLauncher: Modernization pass
- include what you use (selected files)
- reduced shared pointer typedef usages
- removed dead code
- cleaned up file organization
- documentation fixes
Change 3363290 on 2017/03/24 by Max.Preussner
LauncherServices: Removed boilerplate header
#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes
Change 3363305 on 2017/03/24 by Max.Preussner
LauncherCheck: Removed boilerplate header
#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions
Change 3363708 on 2017/03/24 by Max.Preussner
ImageWrapper: Removed boilerplate header
#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes
Change 3363966 on 2017/03/24 by Max.Preussner
ImageWrapper: Modernization pass
- include what you use
- reorganized internal files
- documentation fixes
Change 3364579 on 2017/03/24 by Max.Preussner
ImageWrapper: Deprecated shared pointer typedef and removed usages
#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr
Change 3364582 on 2017/03/24 by Max.Preussner
NetworkFileSystem: Removed monolithic boilerplate header
#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes
Change 3381440 on 2017/04/05 by Max.Preussner
Oculus: Removed illegal pragmas
Change 3391731 on 2017/04/12 by Max.Preussner
ImgMedia: Added support for BMP, JPG and PNG image sequences
Change 3401146 on 2017/04/19 by Max.Preussner
Core: Cleanup pass for FTimespan usages; updated documentation
When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.
Change 3401504 on 2017/04/20 by Max.Preussner
MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds
Change 3401833 on 2017/04/20 by Max.Preussner
Core: Various improvements to FTimespan
- added proper serialization
- updated documentation
- access fractions as milli-, micro- or nanoseconds
- removed the following string formatters as they were not useful: %D %H %M %S %F
- updated documentation
#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.
#jira UE-43990
#jira UE-44163
Change 3437543 on 2017/05/12 by Max.Preussner
PS4Media: Added audio error codes conversion
Change 3446564 on 2017/05/18 by Max.Preussner
Networking: Fixed nullpointer crash if socket initialization fails
Change 3459978 on 2017/05/25 by Max.Preussner
ImgMedia: Renamed frame cache to frame loader
Change 3463311 on 2017/05/26 by Max.Preussner
Core: Added iterators & predicate based methods to LRU Cache
Change 3464452 on 2017/05/29 by Max.Preussner
ImgMedia: Added video sample output
Change 3464468 on 2017/05/29 by Max.Preussner
Media: Added separate cache visualization for loaded and cached samples
Change 3464592 on 2017/05/29 by Max.Preussner
Core: Added TLruCache::FindAndTouch
Change 3464607 on 2017/05/29 by Max.Preussner
Core: Added TRange::Inclusive / ::Exclusive
Change 3464608 on 2017/05/29 by Max.Preussner
Media: Fixed incorrect upper bound in support play rates of various players
Change 3466732 on 2017/05/30 by Max.Preussner
ImgMedia: Added image compression type to info string
Change 3466871 on 2017/05/31 by Max.Preussner
WmfMedia: Fixed session capabilities not showing up; added initialization logging
Change 3467785 on 2017/05/31 by Max.Preussner
MfMedia: Fixed sample stride calculated from media input instead of output
Change 3467963 on 2017/05/31 by Max.Preussner
WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly
Change 3468110 on 2017/05/31 by Max.Preussner
WmfMedia: Added MPEG-2 media sub types to utils
Change 3468516 on 2017/05/31 by Max.Preussner
AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)
Change 3468554 on 2017/05/31 by Max.Preussner
MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded
Change 3468627 on 2017/05/31 by Max.Preussner
ImgMedia: Allowing for auto-selection of EXR decoder thread count
Change 3468648 on 2017/05/31 by Max.Preussner
ImgMedia: Reorganized OpenExrWrapper files
Change 3471789 on 2017/06/02 by Max.Preussner
WmfMedia: Fixed potential concurrency issue in session state management
Change 3472918 on 2017/06/03 by Max.Preussner
Core: Allowing zero sized LRU cache; added default constructor
Change 3472919 on 2017/06/03 by Max.Preussner
Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching
Change 3473704 on 2017/06/05 by Max.Preussner
AndroidMedia: Added settings class
Change 3474407 on 2017/06/05 by Max.Preussner
AndroidMedia: Implemented video sample processing
Change 3474934 on 2017/06/05 by Max.Preussner
ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)
#jira UE-45705
Change 3476925 on 2017/06/06 by Max.Preussner
Media: Added return values to media view interface; documentation fixes
Change 3477158 on 2017/06/06 by Max.Preussner
SwitchMedia: Implemented sample pooling
Change 3477201 on 2017/06/07 by Max.Preussner
PS4Media: Implemented video sample pooling
Change 3481470 on 2017/06/08 by Max.Preussner
Media: Fixed time stamps not set in recycled texture samples
Change 3481472 on 2017/06/08 by Max.Preussner
MediaAssets: Fixed no video samples fetched while player is in buffering state
Change 3481473 on 2017/06/08 by Max.Preussner
MediaUtils: Added default constructor to MediaSampleQueue
Change 3481584 on 2017/06/08 by Max.Preussner
MediaUtils: Paused state is considered forward for sample lookup as this is the common case.
Change 3481588 on 2017/06/08 by Max.Preussner
PS4Media: Redesigned the PS4 media player to support async file loading & track switching
Change 3481627 on 2017/06/08 by Max.Preussner
PS4Media: Opening media sources in thread pool if not precaching
Change 3481666 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed SequencePath property file picker always opening default path
Change 3481669 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed crash when quering cache state of empty image sequence
Change 3481685 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)
#jira UE-45719
Change 3483623 on 2017/06/10 by Max.Preussner
Media: Added getters for 360 view settings; added support for relative view updates
Change 3483624 on 2017/06/10 by Max.Preussner
Media: Added Blueprint support for 360 videos
Change 3483626 on 2017/06/10 by Max.Preussner
MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.
Change 3483627 on 2017/06/10 by Max.Preussner
Core: Using system start time instead of current time for renamed log file names
Change 3483630 on 2017/06/10 by Max.Preussner
Core: Grouping log files by log name and processing each group separately when deleting old log files
Change 3483816 on 2017/06/10 by Max.Preussner
WmfMedia: Detecting audio device availability to prevent lockup of audio tracks
Change 3483939 on 2017/06/11 by Max.Preussner
AvfMedia: Finished Media Framework 3.0 upgrade
- overhauled track switching
- removed render thread flushes
- reduced nesting
- code cleanup pass
Change 3483940 on 2017/06/11 by Max.Preussner
Media: Consistent track switching behavior across platforms
Change 3484172 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Removed obsolete asset type actions
Change 3484180 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture
Change 3484248 on 2017/06/11 by Max.Preussner
MediaAssets: Media players now always have a playlist
Change 3484249 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Added UI controls to Playlist tab
Change 3484250 on 2017/06/11 by Max.Preussner
Media: Implemented overlay sample caching
Change 3484252 on 2017/06/11 by Max.Preussner
WmfMedia: Enabled support for .smi and .sami subtitle files
Change 3485433 on 2017/06/12 by Max.Preussner
ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it
Change 3485720 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Added ability to save playlists
Change 3485828 on 2017/06/12 by Max.Preussner
AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread
Change 3485926 on 2017/06/12 by Max.Preussner
MediaUtils: Draining all unconsumed samples at the end of a frame
Change 3486043 on 2017/06/12 by Max.Preussner
Media: Consistent behavior for playlist navigation (UE-45964)
#jira UE-45964
Change 3486104 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Implemented simple overlay text positioning
Change 3486145 on 2017/06/12 by Max.Preussner
AndroidMediaPlayer: Moved video sample handling into render thread
Change 3486147 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Moved overlay texts into separate layer
Change 3486188 on 2017/06/12 by Max.Preussner
Media: Enabling media factory modules in Editor for all players
Change 3486223 on 2017/06/12 by Max.Preussner
Media: Defaulting players to select first audio and video tracks by default
Change 3486473 on 2017/06/13 by Max.Preussner
Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)
Change 3486475 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing busy bar when buffering or preparing
Change 3487237 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed video sample not getting processed on render thread
Change 3487507 on 2017/06/13 by Michael.Trepka
AvfMedia - small cleanup of the code for passing video frame rate to the video sampler
Change 3487719 on 2017/06/13 by Michael.Trepka
Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH
Change 3487842 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed texture swizzle disabled on non-Engine builds
Change 3488006 on 2017/06/13 by Michael.Trepka
AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file
Change 3488308 on 2017/06/13 by Chris.Babcock
AndroidMedia: Fixed flicker issue
#jira UE-45736
Change 3488335 on 2017/06/13 by Max.Preussner
MediaAssets: Made UFileMediaSource::GetFullPath public
Change 3488338 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources
Change 3488339 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing a throbber when buffering player
Change 3488768 on 2017/06/14 by Max.Preussner
Core: Inlined FTimespan static functions
hange 3490203 on 2017/06/14 by Max.Preussner
Core: Force inlined TComPtr operators
Change 3494083 on 2017/06/15 by Chris.Babcock
AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
#jira UE-46086
Change 3497017 on 2017/06/16 by Max.Preussner
MediaAssets: Playlists now auto advance with PlayOnOpen off
Change 3497075 on 2017/06/17 by Chris.Babcock
MediaPlayer Sampler node and external texture support for Android MediaPlayer
- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
- supports MediaSample node in material editor with scale/bias handled if above flag enabled
- fixed looping problems, including eventual crashes
- track switching fixed (lockups and missing video)
- corrected resource leaks and crash switching maps
#jira UE-46055
#jira UE-45744
#jira UE-46086
Change 3497163 on 2017/06/17 by Max.Preussner
MediaUtils: Processing media events immediately if on game thread
Change 3497170 on 2017/06/17 by Max.Preussner
Media: All Media Framework interfaces are pure virtual
Change 3498603 on 2017/06/19 by Ben.Marsh
UBT: Prevent plugins which list modules multiple times from adding them twice.
Change 3500870 on 2017/06/20 by Max.Preussner
WmfMedia: Rewrote WMF state machine; now with track switching
#jira UE-20209
#jira UE-35385
#jira UE-38337
#jira UE-45676
Change 3502181 on 2017/06/20 by Chris.Babcock
MediaSampler node updates
- fixed issue with ExternalTexture singleton for DLL compatiblity
- now works for all players (registers texture samples with ExternalTexture by player GUID)
- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler
Change 3503182 on 2017/06/21 by Max.Preussner
Media: Refactored status flags into an enum; exposed connecting status
Change 3503724 on 2017/06/21 by Chris.Babcock
Improvement in MediaPlayer Sampler node
- RGB, R, G, B, A output pins like normal texture sampler
- allow preview in material editor
- fix OES detection for Android
Change 3509088 on 2017/06/26 by Max.Preussner
MediaAssets: Added AddFile and AddUrl to UMediaPlaylist
Change 3510256 on 2017/06/26 by Max.Preussner
WmfMedia: Fixed play rate not set to zero when end reached
Change 3510273 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Removed obsolete Slate culling rectangle code
Change 3510413 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Showing frame rate if available
Change 3510533 on 2017/06/26 by Max.Preussner
MediaUtils: Preventing media cache filling up when scrubbing
Change 3510859 on 2017/06/26 by Max.Preussner
PS4Media: Fixed track switching crashes (UE-45960)
#jira UE-45960
Change 3514173 on 2017/06/28 by Max.Preussner
WmfMedia: Optimized player capabilities check
Change 3514174 on 2017/06/28 by Max.Preussner
WmfMedia: Moved media source resolver code into utility class
Change 3514714 on 2017/06/28 by Max.Preussner
Core: Added TComPointer.IsValid; code cleanup pass
Change 3517912 on 2017/06/30 by Max.Preussner
MediaUtils: Added GetVideoAspectRatio to player facade
Change 3524957 on 2017/07/06 by Max.Preussner
ImgMedia: Decoding image frames only when video track is selected
Change 3525252 on 2017/07/06 by Max.Preussner
ImgMedia: Async image sequence initialization
Change 3525266 on 2017/07/06 by Max.Preussner
ImgMedia: Enabled reverse playback
Change 3525722 on 2017/07/06 by Max.Preussner
WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport
Change 3525800 on 2017/07/07 by Max.Preussner
WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.
Change 3525801 on 2017/07/07 by Max.Preussner
MediaPlayerEditor: Made scrubbing more responsive
Change 3526500 on 2017/07/07 by Max.Preussner
WmfMedia: Using NULL for Windows pointers
Change 3527323 on 2017/07/07 by Max.Preussner
WmfMedia: Added support for audio and video capture media sources
Change 3530197 on 2017/07/10 by Max.Preussner
WmfMedia: Added utility functions for enumerating audio and video capture devices
Change 3533465 on 2017/07/12 by Max.Preussner
Media: Added media capture device support API & implementation for WMF
Change 3533469 on 2017/07/12 by Max.Preussner
MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar
Change 3533540 on 2017/07/12 by Max.Preussner
MediaAssets: Blueprint support for media capture device discovery
Change 3533574 on 2017/07/12 by Max.Preussner
WmfMedia: Using cached supported play rates; more strict pausing support check
Change 3533924 on 2017/07/12 by Max.Preussner
WmfMedia: Added global LowLatency setting (UEVR-859)
Note that this setting is only supported when compiling for Windows 8 or newer.
Change 3534027 on 2017/07/12 by Max.Preussner
WmfMedia: Compile time support for low latency session attribute on < Windows8
#jira UEVR-859
Change 3538744 on 2017/07/14 by Max.Preussner
MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource
Change 3542818 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed race condition on session shutdown
Change 3543082 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed track selection in media that doesn't support seeking
Change 3543092 on 2017/07/18 by Max.Preussner
Media: Implemented media track format API
Enables multiple formats per media track. By default, the first usable format is selected.
This feature is currently only implemented for WmfMedia. All other players assume a single format per track.
Change 3543794 on 2017/07/19 by Max.Preussner
WmfMedia: Added string conversion for null GUIDs
Change 3543796 on 2017/07/19 by Max.Preussner
MfMedia: Copied GUID string conversion updates from WmfMedia
Change 3543797 on 2017/07/19 by Max.Preussner
WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support
Change 3544390 on 2017/07/19 by Max.Preussner
Media: Allowing INDEX_NONE as 'current selection' index in track format related functions
Change 3545368 on 2017/07/19 by Max.Preussner
WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting
Change 3545388 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed RGB input sources rendered upside down
Change 3545430 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed incorrect sRGB conversion on BMP inputs
Change 3547362 on 2017/07/20 by Max.Preussner
Core: Added IsGraph and IsPrint to TCHAR utilities
Change 3547376 on 2017/07/20 by Max.Preussner
WmfMedia: Better log messages for non-standard video types (UE-47533)
#jira UE-47533
Change 3547404 on 2017/07/20 by Max.Preussner
QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)
#jira UE-47542
Change 3547466 on 2017/07/20 by Max.Preussner
WmfMedia: Fixed edge case for detecting whether pause is available
Change 3548742 on 2017/07/21 by Max.Preussner
Media: Added API for changing the input frame rate
Change 3548743 on 2017/07/21 by Max.Preussner
WmfMedia: Implemented ability to change input frame rate
Change 3554411 on 2017/07/25 by Max.Preussner
AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property
Change 3554818 on 2017/07/25 by Max.Preussner
Media: Added per track-type cache queries
Change 3557284 on 2017/07/26 by Max.Preussner
WmfMedia: Added buffer size check in texture sample as well
Change 3560530 on 2017/07/27 by Max.Preussner
WmfMedia: Made COM object destructors private and added assertions
Change 3560580 on 2017/07/27 by Max.Preussner
MediaUtils: Added method for querying number of objects in pool
Change 3562572 on 2017/07/28 by Max.Preussner
WmfMedia: Properly handling topology status errors when opening media
Change 3576710 on 2017/08/08 by Chris.Babcock
bug fixes for mediaplayer
- rare cases in Android media tracks
- make FMediaCaptureDevice members available in blueprints
Change 3577736 on 2017/08/08 by Chris.Babcock
Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)
Change 3578831 on 2017/08/09 by Max.Preussner
MediaAssets: Made media sound component BP spawnable
Change 3579210 on 2017/08/09 by Max.Preussner
UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults
Change 3579547 on 2017/08/09 by Chris.Babcock
Better support for Android external texture detection
Change 3579567 on 2017/08/09 by Chris.Babcock
Android camera plugin
#jira UEMOB-215
Change 3580035 on 2017/08/10 by Andrew.Rodham
Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
- Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
- Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
- Made UTexture::GetMaterialType const-correct
#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.
Change 3581552 on 2017/08/10 by Chris.Babcock
Use bilinear sampling instead of point for external texture (Android media and camera)
Change 3581628 on 2017/08/10 by Max.Preussner
Core: Fixed FTimespan import/export/copypaste (UE-43990)
#jira UE-43990
#jira UE-44163
Change 3581909 on 2017/08/11 by Andrew.Rodham
Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
- This prevents destroyed proxies from remaining in the texture registry
#jira UE-48307
Change 3582451 on 2017/08/11 by Max.Preussner
AudioMixer: Fixed initialization order of synth components
This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.
#jira UE-48055
Change 3582453 on 2017/08/11 by Max.Preussner
MediaAssets: Enabling ticking in media sound component (UE-48055)
#jira UE-48055
Change 3583101 on 2017/08/11 by Chris.Babcock
Android camera improvements
- return correct capture device type (webcamfront/rear)
- remove seek (not supported)
- support track formats
- better framerate selection
Change 3590109 on 2017/08/16 by Chris.Babcock
Move external texture coordinate update to improve accuracy and save a uniform in final shader
Change 3590530 on 2017/08/16 by Max.Preussner
MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks
#jira UE-48166
Change 3590547 on 2017/08/16 by Max.Preussner
MediaPlayerEditor: Ticking sound component directly
Change 3590628 on 2017/08/16 by Max.Preussner
Switch: Fixed media decoder asserting when attempting to pause without having started
Change 3591816 on 2017/08/16 by Aaron.McLeran
#jira UE-48470 Disabling async processing for procedural sound waves on mac.
Change 3592266 on 2017/08/16 by Max.Preussner
Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia
This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.
#jira UE-48474
#jira UE-45677
Change 3592355 on 2017/08/17 by Max.Preussner
MediaUtils: Added sample sink collection to remove code duplication
Change 3592739 on 2017/08/17 by Max.Preussner
ImgMedia: Fetching only one video sample per frame
Change 3592741 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample fetching when paused
Change 3592761 on 2017/08/17 by Max.Preussner
MediaUtils: Fixed overflow detection in sample sinks
Change 3592762 on 2017/08/17 by Max.Preussner
ImgMedia: Sending end reached event when looping
Change 3592885 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed reverse play
Change 3592887 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample range calculation for audio samples
Change 3593010 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed async loading of non-EXR image sequences
Change 3593193 on 2017/08/17 by Max.Preussner
AndroidMedia: Fixed typo
Change 3593230 on 2017/08/17 by Max.Preussner
Media: Implemented flushing for player sample queues
Change 3593346 on 2017/08/17 by Max.Preussner
Media: Proper sample processing for reverse playback
Change 3593482 on 2017/08/17 by Max.Preussner
Switch: Fixed sample range check for reverse playback
Change 3594428 on 2017/08/17 by Max.Preussner
PS4Media: Fixed video not playing/crashing
#jira UE-48547
#jira UE-48549
Change 3595404 on 2017/08/17 by Max.Preussner
MediaAssets: Not requesting audio samples if not playing
#jira UE-48557
Change 3595624 on 2017/08/17 by Max.Preussner
PS4Media: Fixed no looping after track switching
#jira UE-46524
#jira UE-48557
Change 3595704 on 2017/08/17 by Max.Preussner
MediaUtils: Improved sample queue flushing
Eventually this needs to be event-driven.
#jira UE-48557
Change 3595706 on 2017/08/17 by Max.Preussner
PS4Media: Flushing queues when track switching
#jira UE-48557
Change 3595909 on 2017/08/17 by Max.Preussner
Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
https://github.com/EpicGames/UnrealEngine/pull/3382
#jira UE-42906
#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
Change 3597480 on 2017/08/18 by Max.Preussner
ImgMediaPlayer: Fixed presentation time calculation for very large delta times
Change 3597669 on 2017/08/18 by Max.Preussner
ImgMedia: Setting player stopped instead of paused when end reached
Change 3597709 on 2017/08/18 by Max.Preussner
SwitchMedia: Fixed audio sample duration calculation
Change 3598479 on 2017/08/18 by Max.Preussner
ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging
Change 3598629 on 2017/08/18 by Max.Preussner
MediaUtils: Properly handling pending flushes when peeking sample queues
Change 3598633 on 2017/08/18 by Max.Preussner
WmfMedia: Fixed occasional WMF deadlock when scrubbing
Change 3598653 on 2017/08/18 by Max.Preussner
MediaUtils: Fixed audio resampling in reverse playback
Change 3598659 on 2017/08/18 by Max.Preussner
MediaPlayerEditor: Creating sound output only if audio device available
Change 3598688 on 2017/08/18 by Max.Preussner
MediaUtils: Flushing sample queues on direction change regardless of paused state
Change 3599444 on 2017/08/20 by Max.Preussner
WmfMedia: Added missing check for rate control when quering supported rates
Change 3603661 on 2017/08/22 by Max.Preussner
WmfMedia: Fixed NV12 output
Change 3604345 on 2017/08/23 by Max.Preussner
MediaUtils: Added subtitle samples to media sample collection; fixed documentation
Change 3604987 on 2017/08/23 by Max.Preussner
PS4Media: Setting correct track format types
Change 3605117 on 2017/08/23 by Joe.Barnes
Fix issue where presentation time was being treated as milliseconds instead of microseconds.
Change 3605128 on 2017/08/23 by Joe.Barnes
Fix potential issue calculating total (looped) play time after seek or reset.
Track last video presentation time
Change 3605139 on 2017/08/23 by Joe.Barnes
Support audio type DType_Setup.
Fix issue with procedural sounds popping. Consume more samples if necessary.
#jira ue-48544
Change 3605197 on 2017/08/23 by Max.Preussner
Media: Fixed track display name formatting (UE-48767)
#jira UE-48767
Change 3605817 on 2017/08/23 by Max.Chen
Auto set sampler type on drop on actor.
#jira UE-48769
Change 3605999 on 2017/08/23 by Max.Preussner
MfMedia: Restarting source reader when switching tracks
#jira UE-48766
Change 3606416 on 2017/08/23 by Max.Preussner
PS4Media: Various player improvements
#jira UE-48586
Change 3607656 on 2017/08/24 by Max.Preussner
WmfMedia: Improved logging for Seek and SetRate
Change 3607855 on 2017/08/24 by Max.Preussner
MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\
#jira UE-48766
Change 3608029 on 2017/08/24 by Max.Preussner
PS4Media: Fixed streaming media not playing; improved result checks & logging
#jira UE-48610
Change 3608473 on 2017/08/24 by Max.Preussner
MfMedia: Fixed audio sample duration calculation
#jira UE-48756
Change 3609316 on 2017/08/24 by Chris.Babcock
Provide external texture RotationScale and Offset from sample
Change 3610067 on 2017/08/25 by Richard.Wallis
Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.
- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.
#jira UE-48590, UE-48604
Change 3610267 on 2017/08/25 by Max.Preussner
PS4Media: Added missing track selection validation
#jira UE-48765
Change 3610399 on 2017/08/25 by Max.Preussner
PS4Media: Fixed infinite player re-initialization loop if track selection failed
Change 3610809 on 2017/08/25 by Chris.Babcock
Fixes for Android media player and camera player
- buffer samples copy proper bytecount
- realloc sets new buffer ptr
- refcount of Java buffers fixed
Change 3610953 on 2017/08/25 by Chris.Babcock
Fix audio disable before play on Android media player
Change 3611405 on 2017/08/25 by Max.Preussner
WmfMedia: Resetting supported rates if RateSupport unavailable
Change 3611406 on 2017/08/25 by Max.Preussner
MfMedia: Resetting supported rates if RateSupport unavailable
Change 3611453 on 2017/08/25 by Chris.Babcock
Android external texture extension updates for compatibility
Change 3611719 on 2017/08/26 by Max.Preussner
Media: Added media event for completed seek operations; flushing sinks on seek
Change 3611764 on 2017/08/26 by Max.Preussner
AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously
Change 3611802 on 2017/08/26 by Max.Preussner
Media: Exposed error state in media player
Change 3611803 on 2017/08/26 by Max.Preussner
MediaPlayerEditor: Showing error state in UI
Change 3611887 on 2017/08/26 by Max.Preussner
MediaUtils: Corrected media sample sink overflow check
Change 3611892 on 2017/08/27 by Max.Preussner
WmfMedia: Leaving session in error state after error
Change 3611929 on 2017/08/27 by Max.Preussner
MediaPlayerEditor: Fixed sound stopping on looping
Change 3611930 on 2017/08/27 by Max.Preussner
MfMedia: Rewrote async sample processing to fix various playback issues
Change 3611942 on 2017/08/27 by Max.Preussner
Media: Sending suspension event when playback ended
Change 3611957 on 2017/08/27 by Max.Preussner
UnrealEd: Allowed transient assets to be resaved to disk
Change 3611981 on 2017/08/27 by Max.Preussner
PS4Media: Rewrote sample processing to fix various playback issues
#jira UE-48596
#jira UE-48793
Change 3612035 on 2017/08/27 by Max.Preussner
UnrealEd: Picking standard default names when resaving transient packages
Change 3612045 on 2017/08/27 by Max.Preussner
Media: Fixed playlists not getting saved correctly from Editor (UE-35382)
#jira UE-35382
Change 3612212 on 2017/08/28 by Richard.Wallis
Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close.
#jira UE-47602
Change 3613531 on 2017/08/28 by Max.Preussner
MediaAssets: Fixed external texture related crash on shutdown (UE-48918)
Also no longer creating clock sink for media player CDO
#jira UE-48918
Change 3613677 on 2017/08/28 by Andrew.Porter
Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object
#jira UE-48937
Change 3615917 on 2017/08/29 by Max.Preussner
MfMedia: Added compile options for DXVA and falling back to synchronous sample reading
[CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
|
|
|
#include "MessageEndpoint.h"
|
|
|
|
|
#include "MessageEndpointBuilder.h"
|
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile [at] 4355761)
#lockdown Nick.Penwarden
#rb Jack.Porter
============================
MAJOR FEATURES & CHANGES
============================
Change 4066430 by Nick.Shin
HTML5 - fix merge stomping and add in missing SC.Metadatadir (null) object to last {if else} block
#jira UE-58423 HTML5 Quicklaunch through UnrealFrontEnd fails on Stage Command: Error: System.NullReferenceExeception
Change 4067037 by Bogdan.Vasilache
#jira UE-57406
Shaders compiled for GLSL_ES2 with CFLAG_FeatureLevelES31 compiler flag will now shift to GLSL_ES3_1_ANDROID profile instead of GLSL_310_ES_EXT.
Change 4067649 by Jack.Porter
Remove obsolete cvars from ini files
#jira UE-54768
Change 4071833 by Bogdan.Vasilache
#jira UE-57406
ShaderVersion guid updated to reflect changes in the OpenGL shader compiler.
Change 4075162 by Bogdan.Vasilache
#jira UE-53195
Change 4099176 by Jack.Porter
Fix SpeedTree node not working on ES3_1 (Contributed by PicaroonX)
#jira UE-59685
PR #4761
Change 4124398 by Mi.Wang
Add particle cutout support for feature level es31.
Change 4129400 by Sorin.Gradinaru
UE-60226 Web Browser widget is completely white on Android
#jira UE-60226
#jira UE-53247
#Android
#4.21
from Release-4.20 CL 4122319
The URL from the sample app is malformed (http:www.google.com).
Since the phone's default browser is able to correct this problem for http and https URLs, I've added this exception to the code that checks the URL prefix, re-writing the fix for UE-53247.
Change 4164212 by Nick.Shin
minor fixes to merge from Main
#jira none
Change 4165606 by Nick.Shin
#jira UE-57006 QA-Promotion WebGL1 HTML5 Launch On has numerous graphical errors
in order for UNROLL to work -- break statement needs to be removed
Change 4165823 by Nick.Shin
HTML5 - split single large template file to smaller component (e.g. js & css) files
custom template files are also supported on a per-project basis:
copy
.../Engine/Build/HTML5/GameX.*.template
to
<project>/Build/HTML5/.
build will automatically pick it the project's path (otherwise fallback to the Engine's version)
this is based on GitHub PR #4780
#jira UE-60136 GitHub 4780 : Proposed HTML5 Changes
Change 4202481 by Sorin.Gradinaru
UE-50492 OnUrlChanged does not fire on mobile
#jira UE-50492
#iOS
#4.21
Adding the events for load started & finished with errors
Change 4202484 by Sorin.Gradinaru
UEMOB-454 Move the virtual keyboard out of Experimental and make it enabled by default
#jira UEMOB-454
#4.21
Change 4202583 by Bogdan.Vasilache
[UE-53816] Allow texture sampling in vertex shaders for ES2 feature level
#jira UE-53816
Change 4214064 by Nick.Shin
Epic's GitHub policy is to treat "unknown" file extensions as "binary"
changing filenames so that they will show up GitHub's repo
this is in reference to GitHub PR #4780
#jira UE-60136 GitHub 4780 : Proposed HTML5 Changes
Change 4224514 by Mi.Wang
We should not Tick USceneCaptureComponent on DS by default.
Change 4230192 by Nick.Shin
HTML5 READMEs
updating old ones - and putting new ones in
these originally came from (mostly) onboarding the chrome team on UE4 emails. capturing most of that in markdown format.
#jria UEMOB-255 HTML5 Multithreading
Change 4232460 by Nick.Shin
HTML5 - fix UE_MakeHTTPDataRequest() crash
#jira UE-38351 ( Pri:1 - 4.21 ) Red and Blue color channels flipped on materials called from HTML5 server
Change 4234647 by Nick.Shin
HTML5 - ERGBFormat::RGBA vs ERGBFormat::BGRA
- make use of the enums in UAsyncTaskDownloadImage::HandleImageRequest()
- enable RGBA vs BGRA options for JPG decoder
#jira UE-38351 ( Pri:1 - 4.21 ) Red and Blue color channels flipped on materials called from HTML5 server
Change 4240086 by Sorin.Gradinaru
UE-61345 Decals in Remote Session are not rendering on some iOS devices
#jira UE-61345
#4.21
#iOS
Changed the texture compression from DXT5 to RGBA
Change 4240234 by Sorin.Gradinaru
UE-61838 Android 'Launch On All' can't run during an existing launch on session on Windows
#jira UE-61838
#4.21
Cancel previous sessions before launching the selected configuration.
Change 4244686 by Nick.Shin
HTML5 - syncing build scripts
#jria UEMOB-255 HTML5 Multithreading
Change 4246399 by Nick.Shin
HTML5 - syncing PhysX build scripts
#jria UEMOB-255 HTML5 Multithreading
Change 4267990 by Bogdan.Vasilache
[UEMOB-405] - Mobile PIE polishing - Bezel & Rotation + related subtasks
#jira UEMOB-405
#jira UEMOB-458
#jira UEMOB-459
#jira UEMOB-460
Change 4280211 by Chris.Babcock
Fix FD_SET macro invoke crash when Socket FD exceed 1023 (contributed by scahp)
#jira UE-62290
#PR #4912
#ue4
#android
Change 4300275 by Nick.Shin
HTML5 - Unreal File Server - css response header fixes
#jira UE-63009 HTML5 template page has non-centered viewport and loading banner stretches the entire screen
Change 4302328 by Nick.Shin
#jira UE-63108 HTML5 RunMacHTML5LauncherHelper.command files do not have appropriate permissions to run on Mac
Change 4303428 by Jack.Porter
Fixed crash during cooking for certain landscapes with collision data out of sync with render data.
Change 4307517 by Jack.Porter
Fix warning on Mac/Linux
#jira UE-62993
Change 4311437 by Nick.Shin
HTML5 : re-enabling [ -s BINARYEN_TRAP_MODE='clamp'; ]
warning: this is technically slower performing -- but, this fixes a lot of 64-bit issues (HTML5 is "only" 32-bits)
#jira UE-63049 HTML5 Quicklaunch to Chrome crashes with RuntimeError: float unrepresentable in integer range
Change 4312602 by Chris.Babcock
Allow some hardware buttons through if hardware keyboard disabled
#jira UE-63260
#ue4
#android
Change 4312711 by Chris.Babcock
Fix string formatting for some locales in GetMetaDataString Method (contributed by IlinAleksey)
#jira UE-63252
#PR #5026
#ue4
#android
Change 4321719 by Bogdan.Vasilache
UE-63378 - Fixed static analysis warnings
#jira UE-63378
Change 4331224 by Jack.Porter
Fixed Mobile PIE resolution for iPhone 8 Plus
#jira UE-63191
Change 4339446 by Jack.Porter
Modified foliage thumbnail color to better show when it is inactive
#jira UE-30824
#5057
Change 4339458 by Dmitriy.Dyomin
Fixed typos in glObjectPtrLabel type definitions (contributed by TheCodez)
#4920
#jira UE-62368
Change 4339460 by Dmitriy.Dyomin
Fixed: bRenderInMainPass on SkeletalMeshes doesn't work on Mobile
#jira UE-59077
Change 4339523 by Sorin.Gradinaru
UE-61351 Error: Failed to send -1 bytes of data to RemoteConnection spammed in the editor log when closing RemoteSession on device during connection
#jira UE-61351
#4.21
Not an real issue. The message is issued whenever the host (or the client) tries to send messages through an inactive channel. There is a "/ping" message sent back and forth between the host and the client, with high frequency (hence the spam) - if this message is no longer received, the host (or the client) decides to terminate the connection.
"Downgrading" the message from Error to Log, to avoid spamming the log on release builds.
Change 4339590 by Sorin.Gradinaru
UE-61554 Web Browser: No Transparency in 3D Widget Component on Mobile
#jira UE-61554
#Android
#4.21
Modified Web Texture Material's blend mode to "Translucent"
Change 4339595 by Sorin.Gradinaru
[Build] UE4 Dev-Mobile - CL 4339590 - Incremental Editor Win64
Change 4339597 by Jack.Porter
Fix static analysis CIS
This function should be moved to SceneUtils.h and the dependency in AsyncTaskDownloadImage resolved another way.
#jira UE-63378
Change 4339599 by Sorin.Gradinaru
UE-56076 Android Launch On "Running..." toast intermittently doesn't appear
#jira UE-56076
#Android
#4.21
wait before getting the process list with "adb shell ps" - on some devices the list is not yet ready
Change 4339647 by Sorin.Gradinaru
UE-54791 Planar Reflection gamma / brightness incorrect on Samsung Galaxy S5
#jira UE-54791
#Android
#4.21
The planar texture contains encoded data:
- decode it immediately after sampling the texture
- alpha channel was inverted during the PrefilterPlanarReflectionPS step
Change 4339654 by Sorin.Gradinaru
UE-59697 WebBrowser SetVisibility not working on Android & iOS
#jira UE-59697
#4.21
#iOS
#Android
SetVisibility implemented on iOS and Android's web browsers, by extending the implementation on Windows: use a list to store references to the webbrowsers in the scene , then in WebBrowserSingleton::Tick check if the cached web browsers windows or widgets ticked on the last frame
Change 4339656 by Sorin.Gradinaru
Remove unnecessary comment in IOSPlatformWebBrowser.cpp
Change 4339666 by Bogdan.Vasilache
[UEMOB-455] Make editor tool to dump out a device .json file for a connected Android device
#jira UEMOB-455
Change 4339667 by Bogdan.Vasilache
Mobile PIE bugfixes
#jira UE-63288
#jira UE-63282
Change 4339700 by Bogdan.Vasilache
[bugfix] Accidentally disabled SetPreviewPlatform() call for mobile PIE simulation.
Change 4339733 by Sorin.Gradinaru
UE-59381 Ios application default orientation
#jira UE-59381
#iOS
#4.21
- added Initial interface orientation in the generated Plist file (UIInterfaceOrientation key)
- implemented preferredInterfaceOrientationForPresentation in the IOSViewController
- re-arranged the orientation list in the Plist file
Change 4339781 by Sorin.Gradinaru
UE-60716 Show cursor in Editor text boxes when focused on Android
#jira UE-60716
#Android
#4.21
Updating the widget's cursor position from the native code.
This also overrides the fix for UE49124 Cursor in virtual keyboard and UMG don't match - initially the solution was to hide the widget's cursor.
Change 4340037 by Jack.Porter
Added an Android Project Settings checkbox to enable detection of Vulkan device support by default. If unchecked, the -detectvulkan command line parameter can be used.
Change 4340076 by Jack.Porter
Fix warning seen by CIS
#jira UE-63377
Change 4340212 by Sorin.Gradinaru
UE-63224 Android DLC profile in Project Launcher fails if there is a space in the path for the destination directory
#jira UE-63224
#4.21
#Android
Avoid enclosing path arguments in double quotes (""<path>""). MakePathSafeToUseWithCommandLine(<path>) already adds quotes when needed.
Change 4340721 by Andrew.Grant
Fixed -vsmac argument not working with GenerateProjectFiles
#jira nojira
Change 4340822 by Andrew.Grant
Replaced default iOS splashcreens with UE logo
Added missing resolutions (iPhone 5 portrait, iPad 10.5")
Removed custom splash images from RemoteSessionApp
#jira UE-59864, UE-61939
Change 4340857 by Chris.Babcock
Fix virtual keyboard crashes on Android
#jira none
Change 4341047 by Andrew.Grant
Prevent Xcode upgrade warnings for >9.0 versions
Change 4343797 by Cosmin.Sulea
iOS - iPhonePackager ExportCertificate command failing 100%
Change 4343823 by Sorin.Gradinaru
UE-63334 Unreal Remote 2 does not send information about motion control
#jira UE-63334
#iOS
#Android
The functionality was commented out. Tested it for performance and it seems OK (despite the high frequency of /motion signals)
Change 4343824 by Sorin.Gradinaru
UEMOB-185 Implement the equivalent of FAndroidJSScripting for iOS
UE-59488 FWebBrowserWindow::UnbindUObject of IOSPlatformWebBrowser.cpp is not implemented yet
#jira UEMOB-185
#jira UE-59488
#4.21
#iOS
New methods (using WebKit, matching the Android implementation):
- Go back/forward
- HandlePageLoading (loading/didCommitNavigation, loaded/didFinishNavigation)
- HandleReceivedError (didFailNavigation)
- execute JS code
- controlling the client using JS commands (WKWebViewConfiguration & WKUserContentController):
- in Android we using shouldInterceptRequest to intercept a custom resource URL (JS: XMLHttpRequest.send, document.location)
- iOS will register handlers (JS: window.webkit.messageHandlers.<FMobileJSScripting::JSMessageHandler>.postMessage)
Change 4343845 by Sorin.Gradinaru
Adding the signatures for FJavaWrapper's CallLongMethod, CallFloatMethod and CallDoubleMethod in the AndroidJNI.h
#4.21
#Android
Change 4343893 by Cosmin.Sulea
UEMOB-465 - Add Device Output Log support for iOS
#jira UEMOB-465
Change 4343895 by Dmitriy.Dyomin
Fixed: DepthFade does not work in mobile emulation while MobileMSAA enabled
#jira UE-60404
Change 4343899 by Dmitriy.Dyomin
GitHub 4851 : Fix layer info property bNoWeightBlend not being saved after tiled landscape import (contributed by cmp-)
#4851
#jira UE-61437
Change 4343906 by Bogdan.Vasilache
Editor's feature level is now saved and restored between sessions
#jira UE-55506
#jira UE-59688
Change 4346729 by Jack.Porter
Fix CIS
#jira UE-63716
Change 4347811 by Jack.Porter
Fix dependency chain while including PIEPreviewDeviceSpecification
#jira UE-63755
Change 4348580 by Jack.Porter
Fix CIS issues in IOSPlatformWebBrowser
#jira UE-63809
Change 4350092 by Jack.Porter
Fix null pointer exception in iPhonePackager when a matching certificate cannot be found
#jira UE-63821
Change 4350968 by Jack.Porter
Update binaries for deployment server
#jira UEMOB-332
Change 4353925 by Jack.Porter
Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
Rework PR 4912 from CL 4280211
#jira UE-62290
Change 4354034 by Jack.Porter
Rebuilt deployment server after backing out changes
#jira UE-63826
Change 4354338 by Ben.Marsh
Attempted fix for incorrect certificate errors when compiling remotely.
* Overloaded meaning of the -Certificate argument (ie. as the output path rather than as the desired certificate when selecting a provision) was causing certificate name check to fail. Now uses a different parameter to specify the output path.
* TVOS argument was not being passed when exporting the certificate, also causing the wrong provision/certificate pair to be selected.
* Add support for the -bundlename argument, though it shouldn't be necessary when invoked from UBT since the UUID discovered in a previous invocation of IPP is explicitly specified.
Since the provision UUID is already being specified to IPP, it should be able to identify the correct provision on phase -1 using this info.
#jira UE-63859
Change 4354459 by Chris.Babcock
Fix issue with Android PCH include files
#jira UE-63909
#ue4
#android
Change 4255761 by Peter.Sauerbrei
fix for space in manifest name
#jira UE-63868
#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4356719 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 4356730 by chris babcock in Dev-VR branch]
2018-09-10 21:28:08 -04:00
|
|
|
#include "IOSTargetDeviceOutput.h"
|
2019-02-22 00:59:43 -05:00
|
|
|
#if PLATFORM_WINDOWS
|
|
|
|
|
// for windows mutex
|
|
|
|
|
#include "Windows/AllowWindowsPlatformTypes.h"
|
|
|
|
|
#endif // #if PLATFORM_WINDOWS
|
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642)
#lockdown nick.penwarden
#rb none
Change 3235667 on 2016/12/14 by Max.Preussner
Media: Moved enums into separate header file, so they can be shared
Change 3259266 on 2017/01/16 by Max.Preussner
Core: Added timespan ratio
Change 3267229 on 2017/01/21 by Max.Preussner
Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed
Change 3274773 on 2017/01/27 by Max.Preussner
Core: Added TLruCache template
Change 3281579 on 2017/02/01 by Max.Preussner
Core: Added scalar division to FTimespan
Change 3289522 on 2017/02/07 by Max.Preussner
MediaAssets: Added looping for play lists
Change 3290664 on 2017/02/07 by Max.Preussner
Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.
Change 3290688 on 2017/02/07 by Max.Preussner
MediaAssets: Notifying materials when media texture properties changed.
Change 3291171 on 2017/02/07 by Max.Preussner
MediaAssets: Filtering unused UTexture properties
Change 3291229 on 2017/02/07 by Max.Preussner
ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0
Change 3298520 on 2017/02/11 by Max.Preussner
Sequencer: Fixed skylight and reflection components off by one frame in PIE
Change 3298778 on 2017/02/12 by Max.Preussner
MediaUtils: Experimenting with dynamic pitch adjustment
Change 3298987 on 2017/02/13 by Max.Chen
Editor: Add matrix and transform properties to property editor test object
Change 3298997 on 2017/02/13 by Max.Chen
Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
- Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
- Added percentage unit type
- Multiplier unit types can now be converted between
Change 3298998 on 2017/02/13 by Max.Chen
Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible
Change 3348678 on 2017/03/15 by Max.Preussner
Media: Added Buffering media event
Change 3355268 on 2017/03/20 by Max.Preussner
Core: TQueue documentation updates
Change 3359055 on 2017/03/22 by Max.Preussner
Portal: Removed dependency to Messaging.h
Change 3359060 on 2017/03/22 by Max.Preussner
Messaging: Modernization pass
- added missing includes & forward declarations
- include what you use
- deprecated shared pointer typedefs
- replaced some delegates with callback interfaces
- documentation fixes
Change 3359189 on 2017/03/22 by Max.Preussner
Automation: Modernization pass
- include what you use
- removed molothic header
- documentation fixes
#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory
Change 3359718 on 2017/03/22 by Max.Preussner
Messaging: Moved common helper classes into MessagingCommon module
#upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").
Change 3359793 on 2017/03/23 by Max.Preussner
TargetDeviceServices: Modernization pass
- include what you use
- removed boilerplate header
- deprecated selected shared pointer typedefs
- reorganized files
- documentation fixes
Change 3361028 on 2017/03/23 by Max.Preussner
DeviceManager: Modernization pass
- include what you use
- reduced shared pointer typedef usage
- documentation fixes
Change 3361197 on 2017/03/23 by Max.Preussner
Messaging: Waking up message router thread on shutdown
Change 3361246 on 2017/03/23 by Max.Preussner
AutomationWindow: Removed boilerplate header
#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h
Change 3361428 on 2017/03/23 by Max.Preussner
AutomationController: Removed boilerplate header
#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.
Change 3363206 on 2017/03/24 by Max.Preussner
ProfileLauncher: Modernization pass
- include what you use (selected files)
- reduced shared pointer typedef usages
- removed dead code
- cleaned up file organization
- documentation fixes
Change 3363290 on 2017/03/24 by Max.Preussner
LauncherServices: Removed boilerplate header
#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes
Change 3363305 on 2017/03/24 by Max.Preussner
LauncherCheck: Removed boilerplate header
#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions
Change 3363708 on 2017/03/24 by Max.Preussner
ImageWrapper: Removed boilerplate header
#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes
Change 3363966 on 2017/03/24 by Max.Preussner
ImageWrapper: Modernization pass
- include what you use
- reorganized internal files
- documentation fixes
Change 3364579 on 2017/03/24 by Max.Preussner
ImageWrapper: Deprecated shared pointer typedef and removed usages
#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr
Change 3364582 on 2017/03/24 by Max.Preussner
NetworkFileSystem: Removed monolithic boilerplate header
#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes
Change 3381440 on 2017/04/05 by Max.Preussner
Oculus: Removed illegal pragmas
Change 3391731 on 2017/04/12 by Max.Preussner
ImgMedia: Added support for BMP, JPG and PNG image sequences
Change 3401146 on 2017/04/19 by Max.Preussner
Core: Cleanup pass for FTimespan usages; updated documentation
When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.
Change 3401504 on 2017/04/20 by Max.Preussner
MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds
Change 3401833 on 2017/04/20 by Max.Preussner
Core: Various improvements to FTimespan
- added proper serialization
- updated documentation
- access fractions as milli-, micro- or nanoseconds
- removed the following string formatters as they were not useful: %D %H %M %S %F
- updated documentation
#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.
#jira UE-43990
#jira UE-44163
Change 3437543 on 2017/05/12 by Max.Preussner
PS4Media: Added audio error codes conversion
Change 3446564 on 2017/05/18 by Max.Preussner
Networking: Fixed nullpointer crash if socket initialization fails
Change 3459978 on 2017/05/25 by Max.Preussner
ImgMedia: Renamed frame cache to frame loader
Change 3463311 on 2017/05/26 by Max.Preussner
Core: Added iterators & predicate based methods to LRU Cache
Change 3464452 on 2017/05/29 by Max.Preussner
ImgMedia: Added video sample output
Change 3464468 on 2017/05/29 by Max.Preussner
Media: Added separate cache visualization for loaded and cached samples
Change 3464592 on 2017/05/29 by Max.Preussner
Core: Added TLruCache::FindAndTouch
Change 3464607 on 2017/05/29 by Max.Preussner
Core: Added TRange::Inclusive / ::Exclusive
Change 3464608 on 2017/05/29 by Max.Preussner
Media: Fixed incorrect upper bound in support play rates of various players
Change 3466732 on 2017/05/30 by Max.Preussner
ImgMedia: Added image compression type to info string
Change 3466871 on 2017/05/31 by Max.Preussner
WmfMedia: Fixed session capabilities not showing up; added initialization logging
Change 3467785 on 2017/05/31 by Max.Preussner
MfMedia: Fixed sample stride calculated from media input instead of output
Change 3467963 on 2017/05/31 by Max.Preussner
WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly
Change 3468110 on 2017/05/31 by Max.Preussner
WmfMedia: Added MPEG-2 media sub types to utils
Change 3468516 on 2017/05/31 by Max.Preussner
AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)
Change 3468554 on 2017/05/31 by Max.Preussner
MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded
Change 3468627 on 2017/05/31 by Max.Preussner
ImgMedia: Allowing for auto-selection of EXR decoder thread count
Change 3468648 on 2017/05/31 by Max.Preussner
ImgMedia: Reorganized OpenExrWrapper files
Change 3471789 on 2017/06/02 by Max.Preussner
WmfMedia: Fixed potential concurrency issue in session state management
Change 3472918 on 2017/06/03 by Max.Preussner
Core: Allowing zero sized LRU cache; added default constructor
Change 3472919 on 2017/06/03 by Max.Preussner
Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching
Change 3473704 on 2017/06/05 by Max.Preussner
AndroidMedia: Added settings class
Change 3474407 on 2017/06/05 by Max.Preussner
AndroidMedia: Implemented video sample processing
Change 3474934 on 2017/06/05 by Max.Preussner
ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)
#jira UE-45705
Change 3476925 on 2017/06/06 by Max.Preussner
Media: Added return values to media view interface; documentation fixes
Change 3477158 on 2017/06/06 by Max.Preussner
SwitchMedia: Implemented sample pooling
Change 3477201 on 2017/06/07 by Max.Preussner
PS4Media: Implemented video sample pooling
Change 3481470 on 2017/06/08 by Max.Preussner
Media: Fixed time stamps not set in recycled texture samples
Change 3481472 on 2017/06/08 by Max.Preussner
MediaAssets: Fixed no video samples fetched while player is in buffering state
Change 3481473 on 2017/06/08 by Max.Preussner
MediaUtils: Added default constructor to MediaSampleQueue
Change 3481584 on 2017/06/08 by Max.Preussner
MediaUtils: Paused state is considered forward for sample lookup as this is the common case.
Change 3481588 on 2017/06/08 by Max.Preussner
PS4Media: Redesigned the PS4 media player to support async file loading & track switching
Change 3481627 on 2017/06/08 by Max.Preussner
PS4Media: Opening media sources in thread pool if not precaching
Change 3481666 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed SequencePath property file picker always opening default path
Change 3481669 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed crash when quering cache state of empty image sequence
Change 3481685 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)
#jira UE-45719
Change 3483623 on 2017/06/10 by Max.Preussner
Media: Added getters for 360 view settings; added support for relative view updates
Change 3483624 on 2017/06/10 by Max.Preussner
Media: Added Blueprint support for 360 videos
Change 3483626 on 2017/06/10 by Max.Preussner
MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.
Change 3483627 on 2017/06/10 by Max.Preussner
Core: Using system start time instead of current time for renamed log file names
Change 3483630 on 2017/06/10 by Max.Preussner
Core: Grouping log files by log name and processing each group separately when deleting old log files
Change 3483816 on 2017/06/10 by Max.Preussner
WmfMedia: Detecting audio device availability to prevent lockup of audio tracks
Change 3483939 on 2017/06/11 by Max.Preussner
AvfMedia: Finished Media Framework 3.0 upgrade
- overhauled track switching
- removed render thread flushes
- reduced nesting
- code cleanup pass
Change 3483940 on 2017/06/11 by Max.Preussner
Media: Consistent track switching behavior across platforms
Change 3484172 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Removed obsolete asset type actions
Change 3484180 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture
Change 3484248 on 2017/06/11 by Max.Preussner
MediaAssets: Media players now always have a playlist
Change 3484249 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Added UI controls to Playlist tab
Change 3484250 on 2017/06/11 by Max.Preussner
Media: Implemented overlay sample caching
Change 3484252 on 2017/06/11 by Max.Preussner
WmfMedia: Enabled support for .smi and .sami subtitle files
Change 3485433 on 2017/06/12 by Max.Preussner
ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it
Change 3485720 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Added ability to save playlists
Change 3485828 on 2017/06/12 by Max.Preussner
AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread
Change 3485926 on 2017/06/12 by Max.Preussner
MediaUtils: Draining all unconsumed samples at the end of a frame
Change 3486043 on 2017/06/12 by Max.Preussner
Media: Consistent behavior for playlist navigation (UE-45964)
#jira UE-45964
Change 3486104 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Implemented simple overlay text positioning
Change 3486145 on 2017/06/12 by Max.Preussner
AndroidMediaPlayer: Moved video sample handling into render thread
Change 3486147 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Moved overlay texts into separate layer
Change 3486188 on 2017/06/12 by Max.Preussner
Media: Enabling media factory modules in Editor for all players
Change 3486223 on 2017/06/12 by Max.Preussner
Media: Defaulting players to select first audio and video tracks by default
Change 3486473 on 2017/06/13 by Max.Preussner
Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)
Change 3486475 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing busy bar when buffering or preparing
Change 3487237 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed video sample not getting processed on render thread
Change 3487507 on 2017/06/13 by Michael.Trepka
AvfMedia - small cleanup of the code for passing video frame rate to the video sampler
Change 3487719 on 2017/06/13 by Michael.Trepka
Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH
Change 3487842 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed texture swizzle disabled on non-Engine builds
Change 3488006 on 2017/06/13 by Michael.Trepka
AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file
Change 3488308 on 2017/06/13 by Chris.Babcock
AndroidMedia: Fixed flicker issue
#jira UE-45736
Change 3488335 on 2017/06/13 by Max.Preussner
MediaAssets: Made UFileMediaSource::GetFullPath public
Change 3488338 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources
Change 3488339 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing a throbber when buffering player
Change 3488768 on 2017/06/14 by Max.Preussner
Core: Inlined FTimespan static functions
hange 3490203 on 2017/06/14 by Max.Preussner
Core: Force inlined TComPtr operators
Change 3494083 on 2017/06/15 by Chris.Babcock
AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
#jira UE-46086
Change 3497017 on 2017/06/16 by Max.Preussner
MediaAssets: Playlists now auto advance with PlayOnOpen off
Change 3497075 on 2017/06/17 by Chris.Babcock
MediaPlayer Sampler node and external texture support for Android MediaPlayer
- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
- supports MediaSample node in material editor with scale/bias handled if above flag enabled
- fixed looping problems, including eventual crashes
- track switching fixed (lockups and missing video)
- corrected resource leaks and crash switching maps
#jira UE-46055
#jira UE-45744
#jira UE-46086
Change 3497163 on 2017/06/17 by Max.Preussner
MediaUtils: Processing media events immediately if on game thread
Change 3497170 on 2017/06/17 by Max.Preussner
Media: All Media Framework interfaces are pure virtual
Change 3498603 on 2017/06/19 by Ben.Marsh
UBT: Prevent plugins which list modules multiple times from adding them twice.
Change 3500870 on 2017/06/20 by Max.Preussner
WmfMedia: Rewrote WMF state machine; now with track switching
#jira UE-20209
#jira UE-35385
#jira UE-38337
#jira UE-45676
Change 3502181 on 2017/06/20 by Chris.Babcock
MediaSampler node updates
- fixed issue with ExternalTexture singleton for DLL compatiblity
- now works for all players (registers texture samples with ExternalTexture by player GUID)
- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler
Change 3503182 on 2017/06/21 by Max.Preussner
Media: Refactored status flags into an enum; exposed connecting status
Change 3503724 on 2017/06/21 by Chris.Babcock
Improvement in MediaPlayer Sampler node
- RGB, R, G, B, A output pins like normal texture sampler
- allow preview in material editor
- fix OES detection for Android
Change 3509088 on 2017/06/26 by Max.Preussner
MediaAssets: Added AddFile and AddUrl to UMediaPlaylist
Change 3510256 on 2017/06/26 by Max.Preussner
WmfMedia: Fixed play rate not set to zero when end reached
Change 3510273 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Removed obsolete Slate culling rectangle code
Change 3510413 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Showing frame rate if available
Change 3510533 on 2017/06/26 by Max.Preussner
MediaUtils: Preventing media cache filling up when scrubbing
Change 3510859 on 2017/06/26 by Max.Preussner
PS4Media: Fixed track switching crashes (UE-45960)
#jira UE-45960
Change 3514173 on 2017/06/28 by Max.Preussner
WmfMedia: Optimized player capabilities check
Change 3514174 on 2017/06/28 by Max.Preussner
WmfMedia: Moved media source resolver code into utility class
Change 3514714 on 2017/06/28 by Max.Preussner
Core: Added TComPointer.IsValid; code cleanup pass
Change 3517912 on 2017/06/30 by Max.Preussner
MediaUtils: Added GetVideoAspectRatio to player facade
Change 3524957 on 2017/07/06 by Max.Preussner
ImgMedia: Decoding image frames only when video track is selected
Change 3525252 on 2017/07/06 by Max.Preussner
ImgMedia: Async image sequence initialization
Change 3525266 on 2017/07/06 by Max.Preussner
ImgMedia: Enabled reverse playback
Change 3525722 on 2017/07/06 by Max.Preussner
WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport
Change 3525800 on 2017/07/07 by Max.Preussner
WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.
Change 3525801 on 2017/07/07 by Max.Preussner
MediaPlayerEditor: Made scrubbing more responsive
Change 3526500 on 2017/07/07 by Max.Preussner
WmfMedia: Using NULL for Windows pointers
Change 3527323 on 2017/07/07 by Max.Preussner
WmfMedia: Added support for audio and video capture media sources
Change 3530197 on 2017/07/10 by Max.Preussner
WmfMedia: Added utility functions for enumerating audio and video capture devices
Change 3533465 on 2017/07/12 by Max.Preussner
Media: Added media capture device support API & implementation for WMF
Change 3533469 on 2017/07/12 by Max.Preussner
MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar
Change 3533540 on 2017/07/12 by Max.Preussner
MediaAssets: Blueprint support for media capture device discovery
Change 3533574 on 2017/07/12 by Max.Preussner
WmfMedia: Using cached supported play rates; more strict pausing support check
Change 3533924 on 2017/07/12 by Max.Preussner
WmfMedia: Added global LowLatency setting (UEVR-859)
Note that this setting is only supported when compiling for Windows 8 or newer.
Change 3534027 on 2017/07/12 by Max.Preussner
WmfMedia: Compile time support for low latency session attribute on < Windows8
#jira UEVR-859
Change 3538744 on 2017/07/14 by Max.Preussner
MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource
Change 3542818 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed race condition on session shutdown
Change 3543082 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed track selection in media that doesn't support seeking
Change 3543092 on 2017/07/18 by Max.Preussner
Media: Implemented media track format API
Enables multiple formats per media track. By default, the first usable format is selected.
This feature is currently only implemented for WmfMedia. All other players assume a single format per track.
Change 3543794 on 2017/07/19 by Max.Preussner
WmfMedia: Added string conversion for null GUIDs
Change 3543796 on 2017/07/19 by Max.Preussner
MfMedia: Copied GUID string conversion updates from WmfMedia
Change 3543797 on 2017/07/19 by Max.Preussner
WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support
Change 3544390 on 2017/07/19 by Max.Preussner
Media: Allowing INDEX_NONE as 'current selection' index in track format related functions
Change 3545368 on 2017/07/19 by Max.Preussner
WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting
Change 3545388 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed RGB input sources rendered upside down
Change 3545430 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed incorrect sRGB conversion on BMP inputs
Change 3547362 on 2017/07/20 by Max.Preussner
Core: Added IsGraph and IsPrint to TCHAR utilities
Change 3547376 on 2017/07/20 by Max.Preussner
WmfMedia: Better log messages for non-standard video types (UE-47533)
#jira UE-47533
Change 3547404 on 2017/07/20 by Max.Preussner
QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)
#jira UE-47542
Change 3547466 on 2017/07/20 by Max.Preussner
WmfMedia: Fixed edge case for detecting whether pause is available
Change 3548742 on 2017/07/21 by Max.Preussner
Media: Added API for changing the input frame rate
Change 3548743 on 2017/07/21 by Max.Preussner
WmfMedia: Implemented ability to change input frame rate
Change 3554411 on 2017/07/25 by Max.Preussner
AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property
Change 3554818 on 2017/07/25 by Max.Preussner
Media: Added per track-type cache queries
Change 3557284 on 2017/07/26 by Max.Preussner
WmfMedia: Added buffer size check in texture sample as well
Change 3560530 on 2017/07/27 by Max.Preussner
WmfMedia: Made COM object destructors private and added assertions
Change 3560580 on 2017/07/27 by Max.Preussner
MediaUtils: Added method for querying number of objects in pool
Change 3562572 on 2017/07/28 by Max.Preussner
WmfMedia: Properly handling topology status errors when opening media
Change 3576710 on 2017/08/08 by Chris.Babcock
bug fixes for mediaplayer
- rare cases in Android media tracks
- make FMediaCaptureDevice members available in blueprints
Change 3577736 on 2017/08/08 by Chris.Babcock
Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)
Change 3578831 on 2017/08/09 by Max.Preussner
MediaAssets: Made media sound component BP spawnable
Change 3579210 on 2017/08/09 by Max.Preussner
UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults
Change 3579547 on 2017/08/09 by Chris.Babcock
Better support for Android external texture detection
Change 3579567 on 2017/08/09 by Chris.Babcock
Android camera plugin
#jira UEMOB-215
Change 3580035 on 2017/08/10 by Andrew.Rodham
Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
- Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
- Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
- Made UTexture::GetMaterialType const-correct
#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.
Change 3581552 on 2017/08/10 by Chris.Babcock
Use bilinear sampling instead of point for external texture (Android media and camera)
Change 3581628 on 2017/08/10 by Max.Preussner
Core: Fixed FTimespan import/export/copypaste (UE-43990)
#jira UE-43990
#jira UE-44163
Change 3581909 on 2017/08/11 by Andrew.Rodham
Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
- This prevents destroyed proxies from remaining in the texture registry
#jira UE-48307
Change 3582451 on 2017/08/11 by Max.Preussner
AudioMixer: Fixed initialization order of synth components
This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.
#jira UE-48055
Change 3582453 on 2017/08/11 by Max.Preussner
MediaAssets: Enabling ticking in media sound component (UE-48055)
#jira UE-48055
Change 3583101 on 2017/08/11 by Chris.Babcock
Android camera improvements
- return correct capture device type (webcamfront/rear)
- remove seek (not supported)
- support track formats
- better framerate selection
Change 3590109 on 2017/08/16 by Chris.Babcock
Move external texture coordinate update to improve accuracy and save a uniform in final shader
Change 3590530 on 2017/08/16 by Max.Preussner
MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks
#jira UE-48166
Change 3590547 on 2017/08/16 by Max.Preussner
MediaPlayerEditor: Ticking sound component directly
Change 3590628 on 2017/08/16 by Max.Preussner
Switch: Fixed media decoder asserting when attempting to pause without having started
Change 3591816 on 2017/08/16 by Aaron.McLeran
#jira UE-48470 Disabling async processing for procedural sound waves on mac.
Change 3592266 on 2017/08/16 by Max.Preussner
Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia
This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.
#jira UE-48474
#jira UE-45677
Change 3592355 on 2017/08/17 by Max.Preussner
MediaUtils: Added sample sink collection to remove code duplication
Change 3592739 on 2017/08/17 by Max.Preussner
ImgMedia: Fetching only one video sample per frame
Change 3592741 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample fetching when paused
Change 3592761 on 2017/08/17 by Max.Preussner
MediaUtils: Fixed overflow detection in sample sinks
Change 3592762 on 2017/08/17 by Max.Preussner
ImgMedia: Sending end reached event when looping
Change 3592885 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed reverse play
Change 3592887 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample range calculation for audio samples
Change 3593010 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed async loading of non-EXR image sequences
Change 3593193 on 2017/08/17 by Max.Preussner
AndroidMedia: Fixed typo
Change 3593230 on 2017/08/17 by Max.Preussner
Media: Implemented flushing for player sample queues
Change 3593346 on 2017/08/17 by Max.Preussner
Media: Proper sample processing for reverse playback
Change 3593482 on 2017/08/17 by Max.Preussner
Switch: Fixed sample range check for reverse playback
Change 3594428 on 2017/08/17 by Max.Preussner
PS4Media: Fixed video not playing/crashing
#jira UE-48547
#jira UE-48549
Change 3595404 on 2017/08/17 by Max.Preussner
MediaAssets: Not requesting audio samples if not playing
#jira UE-48557
Change 3595624 on 2017/08/17 by Max.Preussner
PS4Media: Fixed no looping after track switching
#jira UE-46524
#jira UE-48557
Change 3595704 on 2017/08/17 by Max.Preussner
MediaUtils: Improved sample queue flushing
Eventually this needs to be event-driven.
#jira UE-48557
Change 3595706 on 2017/08/17 by Max.Preussner
PS4Media: Flushing queues when track switching
#jira UE-48557
Change 3595909 on 2017/08/17 by Max.Preussner
Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
https://github.com/EpicGames/UnrealEngine/pull/3382
#jira UE-42906
#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
Change 3597480 on 2017/08/18 by Max.Preussner
ImgMediaPlayer: Fixed presentation time calculation for very large delta times
Change 3597669 on 2017/08/18 by Max.Preussner
ImgMedia: Setting player stopped instead of paused when end reached
Change 3597709 on 2017/08/18 by Max.Preussner
SwitchMedia: Fixed audio sample duration calculation
Change 3598479 on 2017/08/18 by Max.Preussner
ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging
Change 3598629 on 2017/08/18 by Max.Preussner
MediaUtils: Properly handling pending flushes when peeking sample queues
Change 3598633 on 2017/08/18 by Max.Preussner
WmfMedia: Fixed occasional WMF deadlock when scrubbing
Change 3598653 on 2017/08/18 by Max.Preussner
MediaUtils: Fixed audio resampling in reverse playback
Change 3598659 on 2017/08/18 by Max.Preussner
MediaPlayerEditor: Creating sound output only if audio device available
Change 3598688 on 2017/08/18 by Max.Preussner
MediaUtils: Flushing sample queues on direction change regardless of paused state
Change 3599444 on 2017/08/20 by Max.Preussner
WmfMedia: Added missing check for rate control when quering supported rates
Change 3603661 on 2017/08/22 by Max.Preussner
WmfMedia: Fixed NV12 output
Change 3604345 on 2017/08/23 by Max.Preussner
MediaUtils: Added subtitle samples to media sample collection; fixed documentation
Change 3604987 on 2017/08/23 by Max.Preussner
PS4Media: Setting correct track format types
Change 3605117 on 2017/08/23 by Joe.Barnes
Fix issue where presentation time was being treated as milliseconds instead of microseconds.
Change 3605128 on 2017/08/23 by Joe.Barnes
Fix potential issue calculating total (looped) play time after seek or reset.
Track last video presentation time
Change 3605139 on 2017/08/23 by Joe.Barnes
Support audio type DType_Setup.
Fix issue with procedural sounds popping. Consume more samples if necessary.
#jira ue-48544
Change 3605197 on 2017/08/23 by Max.Preussner
Media: Fixed track display name formatting (UE-48767)
#jira UE-48767
Change 3605817 on 2017/08/23 by Max.Chen
Auto set sampler type on drop on actor.
#jira UE-48769
Change 3605999 on 2017/08/23 by Max.Preussner
MfMedia: Restarting source reader when switching tracks
#jira UE-48766
Change 3606416 on 2017/08/23 by Max.Preussner
PS4Media: Various player improvements
#jira UE-48586
Change 3607656 on 2017/08/24 by Max.Preussner
WmfMedia: Improved logging for Seek and SetRate
Change 3607855 on 2017/08/24 by Max.Preussner
MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\
#jira UE-48766
Change 3608029 on 2017/08/24 by Max.Preussner
PS4Media: Fixed streaming media not playing; improved result checks & logging
#jira UE-48610
Change 3608473 on 2017/08/24 by Max.Preussner
MfMedia: Fixed audio sample duration calculation
#jira UE-48756
Change 3609316 on 2017/08/24 by Chris.Babcock
Provide external texture RotationScale and Offset from sample
Change 3610067 on 2017/08/25 by Richard.Wallis
Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.
- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.
#jira UE-48590, UE-48604
Change 3610267 on 2017/08/25 by Max.Preussner
PS4Media: Added missing track selection validation
#jira UE-48765
Change 3610399 on 2017/08/25 by Max.Preussner
PS4Media: Fixed infinite player re-initialization loop if track selection failed
Change 3610809 on 2017/08/25 by Chris.Babcock
Fixes for Android media player and camera player
- buffer samples copy proper bytecount
- realloc sets new buffer ptr
- refcount of Java buffers fixed
Change 3610953 on 2017/08/25 by Chris.Babcock
Fix audio disable before play on Android media player
Change 3611405 on 2017/08/25 by Max.Preussner
WmfMedia: Resetting supported rates if RateSupport unavailable
Change 3611406 on 2017/08/25 by Max.Preussner
MfMedia: Resetting supported rates if RateSupport unavailable
Change 3611453 on 2017/08/25 by Chris.Babcock
Android external texture extension updates for compatibility
Change 3611719 on 2017/08/26 by Max.Preussner
Media: Added media event for completed seek operations; flushing sinks on seek
Change 3611764 on 2017/08/26 by Max.Preussner
AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously
Change 3611802 on 2017/08/26 by Max.Preussner
Media: Exposed error state in media player
Change 3611803 on 2017/08/26 by Max.Preussner
MediaPlayerEditor: Showing error state in UI
Change 3611887 on 2017/08/26 by Max.Preussner
MediaUtils: Corrected media sample sink overflow check
Change 3611892 on 2017/08/27 by Max.Preussner
WmfMedia: Leaving session in error state after error
Change 3611929 on 2017/08/27 by Max.Preussner
MediaPlayerEditor: Fixed sound stopping on looping
Change 3611930 on 2017/08/27 by Max.Preussner
MfMedia: Rewrote async sample processing to fix various playback issues
Change 3611942 on 2017/08/27 by Max.Preussner
Media: Sending suspension event when playback ended
Change 3611957 on 2017/08/27 by Max.Preussner
UnrealEd: Allowed transient assets to be resaved to disk
Change 3611981 on 2017/08/27 by Max.Preussner
PS4Media: Rewrote sample processing to fix various playback issues
#jira UE-48596
#jira UE-48793
Change 3612035 on 2017/08/27 by Max.Preussner
UnrealEd: Picking standard default names when resaving transient packages
Change 3612045 on 2017/08/27 by Max.Preussner
Media: Fixed playlists not getting saved correctly from Editor (UE-35382)
#jira UE-35382
Change 3612212 on 2017/08/28 by Richard.Wallis
Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close.
#jira UE-47602
Change 3613531 on 2017/08/28 by Max.Preussner
MediaAssets: Fixed external texture related crash on shutdown (UE-48918)
Also no longer creating clock sink for media player CDO
#jira UE-48918
Change 3613677 on 2017/08/28 by Andrew.Porter
Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object
#jira UE-48937
Change 3615917 on 2017/08/29 by Max.Preussner
MfMedia: Added compile options for DXVA and falling back to synchronous sample reading
[CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
|
|
|
|
2019-02-22 00:59:43 -05:00
|
|
|
enum
|
|
|
|
|
{
|
|
|
|
|
DEFAULT_DS_COMMANDER_PORT = 41000, // default port to use when issuing DeploymentServer commands
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
FTcpDSCommander::FTcpDSCommander(const uint8* Data, int32 Count, void* WPipe)
|
|
|
|
|
: bStopping(false)
|
|
|
|
|
, bStoped(true)
|
|
|
|
|
, bIsSuccess(false)
|
2019-02-26 22:33:31 -05:00
|
|
|
, bIsSystemError(false)
|
2019-02-22 00:59:43 -05:00
|
|
|
, DSSocket(nullptr)
|
|
|
|
|
, Thread(nullptr)
|
|
|
|
|
, WritePipe(WPipe)
|
|
|
|
|
, DSCommand(nullptr)
|
|
|
|
|
, DSCommandLen(Count + 1)
|
|
|
|
|
, LastActivity(0.0)
|
|
|
|
|
{
|
2019-02-26 22:33:31 -05:00
|
|
|
if (Count > 0)
|
2019-02-22 00:59:43 -05:00
|
|
|
{
|
|
|
|
|
DSCommand = (uint8*)FMemory::Malloc(Count + 1);
|
|
|
|
|
FPlatformMemory::Memcpy(DSCommand, Data, Count);
|
|
|
|
|
DSCommand[Count] = '\n';
|
|
|
|
|
Thread = FRunnableThread::Create(this, TEXT("FTcpDSCommander"), 128 * 1024, TPri_Normal);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Virtual destructor. */
|
|
|
|
|
FTcpDSCommander::~FTcpDSCommander()
|
|
|
|
|
{
|
|
|
|
|
if (Thread != nullptr)
|
|
|
|
|
{
|
|
|
|
|
Thread->Kill(true);
|
|
|
|
|
delete Thread;
|
|
|
|
|
}
|
|
|
|
|
if (DSCommand)
|
|
|
|
|
{
|
|
|
|
|
FMemory::Free(DSCommand);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FTcpDSCommander::Exit()
|
|
|
|
|
{
|
|
|
|
|
// do nothing
|
|
|
|
|
bStoped = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FTcpDSCommander::Init()
|
|
|
|
|
{
|
2019-02-26 22:33:31 -05:00
|
|
|
if (DSCommandLen < 1)
|
|
|
|
|
{
|
|
|
|
|
bIsSuccess = true;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2019-02-22 05:41:22 -05:00
|
|
|
ISocketSubsystem* SSS = ISocketSubsystem::Get();
|
2019-02-26 22:33:31 -05:00
|
|
|
DSSocket = SSS->CreateSocket(NAME_Stream, TEXT("DSCommander tcp"));
|
|
|
|
|
if (DSSocket == nullptr)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
TSharedRef<FInternetAddr> Addr = SSS->CreateInternetAddr(0, DEFAULT_DS_COMMANDER_PORT);
|
|
|
|
|
bool bIsValid;
|
|
|
|
|
Addr->SetIp(TEXT("127.0.0.1"), bIsValid);
|
|
|
|
|
|
|
|
|
|
#if PLATFORM_WINDOWS
|
|
|
|
|
// using the mutex to detect if the DeploymentServer is running
|
|
|
|
|
// only on windows
|
|
|
|
|
if (!IsDSRunning())
|
|
|
|
|
{
|
|
|
|
|
StartDSProcess();
|
|
|
|
|
|
|
|
|
|
int TimeoutSeconds = 5;
|
|
|
|
|
while (!IsDSRunning() && TimeoutSeconds > 0)
|
|
|
|
|
{
|
|
|
|
|
TimeoutSeconds--;
|
|
|
|
|
FPlatformProcess::Sleep(1.0f);
|
|
|
|
|
}
|
|
|
|
|
if (!IsDSRunning())
|
|
|
|
|
{
|
|
|
|
|
bIsSystemError = true;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (DSSocket->Connect(*Addr) == false)
|
|
|
|
|
{
|
|
|
|
|
{ // extra bracked for cleaner ifdefs
|
|
|
|
|
#else
|
|
|
|
|
// try to connect to the server
|
|
|
|
|
// on mac we use the old way to try a TCP connection
|
|
|
|
|
if (DSSocket->Connect(*Addr) == false)
|
|
|
|
|
{
|
|
|
|
|
StartDSProcess();
|
|
|
|
|
if (DSSocket->Connect(*Addr) == false)
|
|
|
|
|
{
|
|
|
|
|
#endif // PLATFORM_WINDOWS
|
|
|
|
|
// on failure, shut it all down
|
|
|
|
|
SSS->DestroySocket(DSSocket);
|
|
|
|
|
DSSocket = nullptr;
|
2019-02-26 16:54:13 -05:00
|
|
|
ESocketErrors LastError = SSS->GetLastErrorCode();
|
|
|
|
|
const TCHAR* SocketErr = SSS->GetSocketError(LastError);
|
2019-02-26 22:33:31 -05:00
|
|
|
//UE_LOG(LogTemp, Display, TEXT("Failed to connect to deployment server at %s (%s)."), *Addr->ToString(true), SocketErr);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2019-02-22 00:59:43 -05:00
|
|
|
}
|
|
|
|
|
LastActivity = FPlatformTime::Seconds();
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uint32 FTcpDSCommander::Run()
|
|
|
|
|
{
|
|
|
|
|
if (!DSSocket)
|
|
|
|
|
{
|
2019-02-26 22:33:31 -05:00
|
|
|
//UE_LOG(LogTemp, Log, TEXT("Socket not created."));
|
2019-02-22 00:59:43 -05:00
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
int32 NSent = 0;
|
|
|
|
|
bool BSent = DSSocket->Send(DSCommand, DSCommandLen, NSent);
|
|
|
|
|
if (NSent != DSCommandLen || !BSent)
|
|
|
|
|
{
|
|
|
|
|
Stop();
|
2019-02-26 22:33:31 -05:00
|
|
|
//UE_LOG(LogTemp, Log, TEXT("Socket send error."));
|
2019-02-22 00:59:43 -05:00
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
bStoped = false;
|
|
|
|
|
|
|
|
|
|
static const SIZE_T CommandSize = 1024;
|
|
|
|
|
uint8 RecvBuffer[CommandSize];
|
|
|
|
|
|
|
|
|
|
while (!bStopping)
|
|
|
|
|
{
|
|
|
|
|
uint32 Pending = 0;
|
|
|
|
|
if (DSSocket->GetConnectionState() != ESocketConnectionState::SCS_Connected)
|
|
|
|
|
{
|
|
|
|
|
Stop();
|
2019-02-26 22:33:31 -05:00
|
|
|
//UE_LOG(LogTemp, Log, TEXT("Socket connection error."));
|
2019-02-22 00:59:43 -05:00
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
if (DSSocket->HasPendingData(Pending))
|
|
|
|
|
{
|
|
|
|
|
NSent = 0;
|
|
|
|
|
FMemory::Memset(RecvBuffer, 0, CommandSize);
|
|
|
|
|
LastActivity = FPlatformTime::Seconds();
|
|
|
|
|
if (DSSocket->Recv(RecvBuffer, CommandSize, NSent))
|
|
|
|
|
{
|
|
|
|
|
FString Result = UTF8_TO_TCHAR(RecvBuffer);
|
|
|
|
|
TArray<FString> TagArray;
|
|
|
|
|
Result.ParseIntoArray(TagArray, TEXT("\n"), false);
|
|
|
|
|
int i;
|
|
|
|
|
for (i = 0; i < TagArray.Num() - 1; i++)
|
|
|
|
|
{
|
|
|
|
|
if (TagArray[i].EndsWith(TEXT("CMDOK\r")))
|
|
|
|
|
{
|
|
|
|
|
bIsSuccess = true;
|
2019-02-26 16:54:13 -05:00
|
|
|
//UE_LOG(LogTemp, Log, TEXT("Socket command completed."));
|
2019-02-22 00:59:43 -05:00
|
|
|
Stop();
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
else if (TagArray[i].StartsWith(TEXT("[DSDIR]")))
|
|
|
|
|
{
|
|
|
|
|
// just ignore the folder check
|
|
|
|
|
}
|
|
|
|
|
else if (TagArray[i].EndsWith(TEXT("CMDFAIL\r")))
|
|
|
|
|
{
|
|
|
|
|
Stop();
|
2019-02-26 22:33:31 -05:00
|
|
|
//UE_LOG(LogTemp, Display, TEXT("Socket command failed."));
|
2019-02-22 00:59:43 -05:00
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
FPlatformProcess::WritePipe(WritePipe, *TagArray[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
double CurrentTime = FPlatformTime::Seconds();
|
2019-02-26 22:33:31 -05:00
|
|
|
if (CurrentTime - LastActivity > 120.0)
|
2019-02-22 00:59:43 -05:00
|
|
|
{
|
2019-02-26 22:33:31 -05:00
|
|
|
//UE_LOG(LogTemp, Display, TEXT("Socket command timeouted."));
|
2019-02-22 00:59:43 -05:00
|
|
|
Stop();
|
2019-02-26 22:33:31 -05:00
|
|
|
return 0;
|
2019-02-22 00:59:43 -05:00
|
|
|
}
|
|
|
|
|
FPlatformProcess::Sleep(0.01f);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FTcpDSCommander::Stop()
|
|
|
|
|
{
|
|
|
|
|
if (DSSocket)
|
|
|
|
|
{
|
2019-02-26 22:33:31 -05:00
|
|
|
DSSocket->Shutdown(ESocketShutdownMode::ReadWrite);
|
2019-02-22 00:59:43 -05:00
|
|
|
DSSocket->Close();
|
|
|
|
|
ISocketSubsystem::Get()->DestroySocket(DSSocket);
|
|
|
|
|
}
|
|
|
|
|
DSSocket = NULL;
|
|
|
|
|
|
|
|
|
|
bStopping = true;
|
|
|
|
|
}
|
|
|
|
|
|
2019-02-26 22:33:31 -05:00
|
|
|
bool FTcpDSCommander::IsDSRunning()
|
2019-02-22 00:59:43 -05:00
|
|
|
{
|
2019-02-26 22:33:31 -05:00
|
|
|
// is there a mutex we can use to connect test DS is running, also available on mac?
|
|
|
|
|
// there is also a failsafe mechanism for this, since the DeploymentServer will not start a new server if one is already running
|
2019-02-22 00:59:43 -05:00
|
|
|
#if PLATFORM_WINDOWS
|
2019-02-26 22:33:31 -05:00
|
|
|
HANDLE mutex = CreateMutexA(NULL, TRUE, "Global\\DeploymentServer_Mutex_SERVERINSTANCE");
|
|
|
|
|
if (mutex == NULL || GetLastError() == ERROR_ALREADY_EXISTS)
|
|
|
|
|
{
|
|
|
|
|
// deployment server instance already runnning
|
2019-02-26 22:33:38 -05:00
|
|
|
if (mutex)
|
|
|
|
|
{
|
|
|
|
|
CloseHandle(mutex);
|
|
|
|
|
}
|
2019-02-26 22:33:31 -05:00
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
CloseHandle(mutex);
|
2019-02-22 00:59:43 -05:00
|
|
|
#endif // PLATFORM_WINDOWS
|
2019-02-26 22:33:31 -05:00
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FTcpDSCommander::StartDSProcess()
|
|
|
|
|
{
|
2019-02-22 00:59:43 -05:00
|
|
|
FString DSFilename = FPaths::ConvertRelativePathToFull(FPaths::EngineDir() / TEXT("Binaries/DotNET/IOS/DeploymentServerLauncher.exe"));
|
|
|
|
|
FString WorkingFoder = FPaths::ConvertRelativePathToFull(FPaths::EngineDir() / TEXT("Binaries/DotNET/IOS/"));
|
|
|
|
|
FString Params = "";
|
|
|
|
|
|
|
|
|
|
#if PLATFORM_MAC
|
|
|
|
|
// On Mac we launch UBT with Mono
|
|
|
|
|
FString ScriptPath = FPaths::ConvertRelativePathToFull(FPaths::EngineDir() / TEXT("Build/BatchFiles/Mac/RunMono.sh"));
|
|
|
|
|
Params = FString::Printf(TEXT("\"%s\" \"%s\" %s"), *ScriptPath, *DSFilename, *Params);
|
|
|
|
|
DSFilename = TEXT("/bin/sh");
|
|
|
|
|
#endif
|
2019-02-26 22:33:31 -05:00
|
|
|
//UE_LOG(LogTemp, Log, TEXT("DeploymentServer not running, Starting it!"));
|
2019-02-22 00:59:43 -05:00
|
|
|
FPlatformProcess::CreateProc(*DSFilename, *Params, true, true, true, NULL, 0, *WorkingFoder, (void*)nullptr);
|
|
|
|
|
FPlatformProcess::Sleep(1.0f);
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//**********************************************************************************************************************************************************
|
|
|
|
|
//*
|
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642)
#lockdown nick.penwarden
#rb none
Change 3235667 on 2016/12/14 by Max.Preussner
Media: Moved enums into separate header file, so they can be shared
Change 3259266 on 2017/01/16 by Max.Preussner
Core: Added timespan ratio
Change 3267229 on 2017/01/21 by Max.Preussner
Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed
Change 3274773 on 2017/01/27 by Max.Preussner
Core: Added TLruCache template
Change 3281579 on 2017/02/01 by Max.Preussner
Core: Added scalar division to FTimespan
Change 3289522 on 2017/02/07 by Max.Preussner
MediaAssets: Added looping for play lists
Change 3290664 on 2017/02/07 by Max.Preussner
Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.
Change 3290688 on 2017/02/07 by Max.Preussner
MediaAssets: Notifying materials when media texture properties changed.
Change 3291171 on 2017/02/07 by Max.Preussner
MediaAssets: Filtering unused UTexture properties
Change 3291229 on 2017/02/07 by Max.Preussner
ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0
Change 3298520 on 2017/02/11 by Max.Preussner
Sequencer: Fixed skylight and reflection components off by one frame in PIE
Change 3298778 on 2017/02/12 by Max.Preussner
MediaUtils: Experimenting with dynamic pitch adjustment
Change 3298987 on 2017/02/13 by Max.Chen
Editor: Add matrix and transform properties to property editor test object
Change 3298997 on 2017/02/13 by Max.Chen
Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
- Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
- Added percentage unit type
- Multiplier unit types can now be converted between
Change 3298998 on 2017/02/13 by Max.Chen
Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible
Change 3348678 on 2017/03/15 by Max.Preussner
Media: Added Buffering media event
Change 3355268 on 2017/03/20 by Max.Preussner
Core: TQueue documentation updates
Change 3359055 on 2017/03/22 by Max.Preussner
Portal: Removed dependency to Messaging.h
Change 3359060 on 2017/03/22 by Max.Preussner
Messaging: Modernization pass
- added missing includes & forward declarations
- include what you use
- deprecated shared pointer typedefs
- replaced some delegates with callback interfaces
- documentation fixes
Change 3359189 on 2017/03/22 by Max.Preussner
Automation: Modernization pass
- include what you use
- removed molothic header
- documentation fixes
#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory
Change 3359718 on 2017/03/22 by Max.Preussner
Messaging: Moved common helper classes into MessagingCommon module
#upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").
Change 3359793 on 2017/03/23 by Max.Preussner
TargetDeviceServices: Modernization pass
- include what you use
- removed boilerplate header
- deprecated selected shared pointer typedefs
- reorganized files
- documentation fixes
Change 3361028 on 2017/03/23 by Max.Preussner
DeviceManager: Modernization pass
- include what you use
- reduced shared pointer typedef usage
- documentation fixes
Change 3361197 on 2017/03/23 by Max.Preussner
Messaging: Waking up message router thread on shutdown
Change 3361246 on 2017/03/23 by Max.Preussner
AutomationWindow: Removed boilerplate header
#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h
Change 3361428 on 2017/03/23 by Max.Preussner
AutomationController: Removed boilerplate header
#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.
Change 3363206 on 2017/03/24 by Max.Preussner
ProfileLauncher: Modernization pass
- include what you use (selected files)
- reduced shared pointer typedef usages
- removed dead code
- cleaned up file organization
- documentation fixes
Change 3363290 on 2017/03/24 by Max.Preussner
LauncherServices: Removed boilerplate header
#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes
Change 3363305 on 2017/03/24 by Max.Preussner
LauncherCheck: Removed boilerplate header
#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions
Change 3363708 on 2017/03/24 by Max.Preussner
ImageWrapper: Removed boilerplate header
#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes
Change 3363966 on 2017/03/24 by Max.Preussner
ImageWrapper: Modernization pass
- include what you use
- reorganized internal files
- documentation fixes
Change 3364579 on 2017/03/24 by Max.Preussner
ImageWrapper: Deprecated shared pointer typedef and removed usages
#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr
Change 3364582 on 2017/03/24 by Max.Preussner
NetworkFileSystem: Removed monolithic boilerplate header
#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes
Change 3381440 on 2017/04/05 by Max.Preussner
Oculus: Removed illegal pragmas
Change 3391731 on 2017/04/12 by Max.Preussner
ImgMedia: Added support for BMP, JPG and PNG image sequences
Change 3401146 on 2017/04/19 by Max.Preussner
Core: Cleanup pass for FTimespan usages; updated documentation
When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.
Change 3401504 on 2017/04/20 by Max.Preussner
MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds
Change 3401833 on 2017/04/20 by Max.Preussner
Core: Various improvements to FTimespan
- added proper serialization
- updated documentation
- access fractions as milli-, micro- or nanoseconds
- removed the following string formatters as they were not useful: %D %H %M %S %F
- updated documentation
#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.
#jira UE-43990
#jira UE-44163
Change 3437543 on 2017/05/12 by Max.Preussner
PS4Media: Added audio error codes conversion
Change 3446564 on 2017/05/18 by Max.Preussner
Networking: Fixed nullpointer crash if socket initialization fails
Change 3459978 on 2017/05/25 by Max.Preussner
ImgMedia: Renamed frame cache to frame loader
Change 3463311 on 2017/05/26 by Max.Preussner
Core: Added iterators & predicate based methods to LRU Cache
Change 3464452 on 2017/05/29 by Max.Preussner
ImgMedia: Added video sample output
Change 3464468 on 2017/05/29 by Max.Preussner
Media: Added separate cache visualization for loaded and cached samples
Change 3464592 on 2017/05/29 by Max.Preussner
Core: Added TLruCache::FindAndTouch
Change 3464607 on 2017/05/29 by Max.Preussner
Core: Added TRange::Inclusive / ::Exclusive
Change 3464608 on 2017/05/29 by Max.Preussner
Media: Fixed incorrect upper bound in support play rates of various players
Change 3466732 on 2017/05/30 by Max.Preussner
ImgMedia: Added image compression type to info string
Change 3466871 on 2017/05/31 by Max.Preussner
WmfMedia: Fixed session capabilities not showing up; added initialization logging
Change 3467785 on 2017/05/31 by Max.Preussner
MfMedia: Fixed sample stride calculated from media input instead of output
Change 3467963 on 2017/05/31 by Max.Preussner
WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly
Change 3468110 on 2017/05/31 by Max.Preussner
WmfMedia: Added MPEG-2 media sub types to utils
Change 3468516 on 2017/05/31 by Max.Preussner
AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)
Change 3468554 on 2017/05/31 by Max.Preussner
MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded
Change 3468627 on 2017/05/31 by Max.Preussner
ImgMedia: Allowing for auto-selection of EXR decoder thread count
Change 3468648 on 2017/05/31 by Max.Preussner
ImgMedia: Reorganized OpenExrWrapper files
Change 3471789 on 2017/06/02 by Max.Preussner
WmfMedia: Fixed potential concurrency issue in session state management
Change 3472918 on 2017/06/03 by Max.Preussner
Core: Allowing zero sized LRU cache; added default constructor
Change 3472919 on 2017/06/03 by Max.Preussner
Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching
Change 3473704 on 2017/06/05 by Max.Preussner
AndroidMedia: Added settings class
Change 3474407 on 2017/06/05 by Max.Preussner
AndroidMedia: Implemented video sample processing
Change 3474934 on 2017/06/05 by Max.Preussner
ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)
#jira UE-45705
Change 3476925 on 2017/06/06 by Max.Preussner
Media: Added return values to media view interface; documentation fixes
Change 3477158 on 2017/06/06 by Max.Preussner
SwitchMedia: Implemented sample pooling
Change 3477201 on 2017/06/07 by Max.Preussner
PS4Media: Implemented video sample pooling
Change 3481470 on 2017/06/08 by Max.Preussner
Media: Fixed time stamps not set in recycled texture samples
Change 3481472 on 2017/06/08 by Max.Preussner
MediaAssets: Fixed no video samples fetched while player is in buffering state
Change 3481473 on 2017/06/08 by Max.Preussner
MediaUtils: Added default constructor to MediaSampleQueue
Change 3481584 on 2017/06/08 by Max.Preussner
MediaUtils: Paused state is considered forward for sample lookup as this is the common case.
Change 3481588 on 2017/06/08 by Max.Preussner
PS4Media: Redesigned the PS4 media player to support async file loading & track switching
Change 3481627 on 2017/06/08 by Max.Preussner
PS4Media: Opening media sources in thread pool if not precaching
Change 3481666 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed SequencePath property file picker always opening default path
Change 3481669 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed crash when quering cache state of empty image sequence
Change 3481685 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)
#jira UE-45719
Change 3483623 on 2017/06/10 by Max.Preussner
Media: Added getters for 360 view settings; added support for relative view updates
Change 3483624 on 2017/06/10 by Max.Preussner
Media: Added Blueprint support for 360 videos
Change 3483626 on 2017/06/10 by Max.Preussner
MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.
Change 3483627 on 2017/06/10 by Max.Preussner
Core: Using system start time instead of current time for renamed log file names
Change 3483630 on 2017/06/10 by Max.Preussner
Core: Grouping log files by log name and processing each group separately when deleting old log files
Change 3483816 on 2017/06/10 by Max.Preussner
WmfMedia: Detecting audio device availability to prevent lockup of audio tracks
Change 3483939 on 2017/06/11 by Max.Preussner
AvfMedia: Finished Media Framework 3.0 upgrade
- overhauled track switching
- removed render thread flushes
- reduced nesting
- code cleanup pass
Change 3483940 on 2017/06/11 by Max.Preussner
Media: Consistent track switching behavior across platforms
Change 3484172 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Removed obsolete asset type actions
Change 3484180 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture
Change 3484248 on 2017/06/11 by Max.Preussner
MediaAssets: Media players now always have a playlist
Change 3484249 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Added UI controls to Playlist tab
Change 3484250 on 2017/06/11 by Max.Preussner
Media: Implemented overlay sample caching
Change 3484252 on 2017/06/11 by Max.Preussner
WmfMedia: Enabled support for .smi and .sami subtitle files
Change 3485433 on 2017/06/12 by Max.Preussner
ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it
Change 3485720 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Added ability to save playlists
Change 3485828 on 2017/06/12 by Max.Preussner
AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread
Change 3485926 on 2017/06/12 by Max.Preussner
MediaUtils: Draining all unconsumed samples at the end of a frame
Change 3486043 on 2017/06/12 by Max.Preussner
Media: Consistent behavior for playlist navigation (UE-45964)
#jira UE-45964
Change 3486104 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Implemented simple overlay text positioning
Change 3486145 on 2017/06/12 by Max.Preussner
AndroidMediaPlayer: Moved video sample handling into render thread
Change 3486147 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Moved overlay texts into separate layer
Change 3486188 on 2017/06/12 by Max.Preussner
Media: Enabling media factory modules in Editor for all players
Change 3486223 on 2017/06/12 by Max.Preussner
Media: Defaulting players to select first audio and video tracks by default
Change 3486473 on 2017/06/13 by Max.Preussner
Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)
Change 3486475 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing busy bar when buffering or preparing
Change 3487237 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed video sample not getting processed on render thread
Change 3487507 on 2017/06/13 by Michael.Trepka
AvfMedia - small cleanup of the code for passing video frame rate to the video sampler
Change 3487719 on 2017/06/13 by Michael.Trepka
Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH
Change 3487842 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed texture swizzle disabled on non-Engine builds
Change 3488006 on 2017/06/13 by Michael.Trepka
AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file
Change 3488308 on 2017/06/13 by Chris.Babcock
AndroidMedia: Fixed flicker issue
#jira UE-45736
Change 3488335 on 2017/06/13 by Max.Preussner
MediaAssets: Made UFileMediaSource::GetFullPath public
Change 3488338 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources
Change 3488339 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing a throbber when buffering player
Change 3488768 on 2017/06/14 by Max.Preussner
Core: Inlined FTimespan static functions
hange 3490203 on 2017/06/14 by Max.Preussner
Core: Force inlined TComPtr operators
Change 3494083 on 2017/06/15 by Chris.Babcock
AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
#jira UE-46086
Change 3497017 on 2017/06/16 by Max.Preussner
MediaAssets: Playlists now auto advance with PlayOnOpen off
Change 3497075 on 2017/06/17 by Chris.Babcock
MediaPlayer Sampler node and external texture support for Android MediaPlayer
- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
- supports MediaSample node in material editor with scale/bias handled if above flag enabled
- fixed looping problems, including eventual crashes
- track switching fixed (lockups and missing video)
- corrected resource leaks and crash switching maps
#jira UE-46055
#jira UE-45744
#jira UE-46086
Change 3497163 on 2017/06/17 by Max.Preussner
MediaUtils: Processing media events immediately if on game thread
Change 3497170 on 2017/06/17 by Max.Preussner
Media: All Media Framework interfaces are pure virtual
Change 3498603 on 2017/06/19 by Ben.Marsh
UBT: Prevent plugins which list modules multiple times from adding them twice.
Change 3500870 on 2017/06/20 by Max.Preussner
WmfMedia: Rewrote WMF state machine; now with track switching
#jira UE-20209
#jira UE-35385
#jira UE-38337
#jira UE-45676
Change 3502181 on 2017/06/20 by Chris.Babcock
MediaSampler node updates
- fixed issue with ExternalTexture singleton for DLL compatiblity
- now works for all players (registers texture samples with ExternalTexture by player GUID)
- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler
Change 3503182 on 2017/06/21 by Max.Preussner
Media: Refactored status flags into an enum; exposed connecting status
Change 3503724 on 2017/06/21 by Chris.Babcock
Improvement in MediaPlayer Sampler node
- RGB, R, G, B, A output pins like normal texture sampler
- allow preview in material editor
- fix OES detection for Android
Change 3509088 on 2017/06/26 by Max.Preussner
MediaAssets: Added AddFile and AddUrl to UMediaPlaylist
Change 3510256 on 2017/06/26 by Max.Preussner
WmfMedia: Fixed play rate not set to zero when end reached
Change 3510273 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Removed obsolete Slate culling rectangle code
Change 3510413 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Showing frame rate if available
Change 3510533 on 2017/06/26 by Max.Preussner
MediaUtils: Preventing media cache filling up when scrubbing
Change 3510859 on 2017/06/26 by Max.Preussner
PS4Media: Fixed track switching crashes (UE-45960)
#jira UE-45960
Change 3514173 on 2017/06/28 by Max.Preussner
WmfMedia: Optimized player capabilities check
Change 3514174 on 2017/06/28 by Max.Preussner
WmfMedia: Moved media source resolver code into utility class
Change 3514714 on 2017/06/28 by Max.Preussner
Core: Added TComPointer.IsValid; code cleanup pass
Change 3517912 on 2017/06/30 by Max.Preussner
MediaUtils: Added GetVideoAspectRatio to player facade
Change 3524957 on 2017/07/06 by Max.Preussner
ImgMedia: Decoding image frames only when video track is selected
Change 3525252 on 2017/07/06 by Max.Preussner
ImgMedia: Async image sequence initialization
Change 3525266 on 2017/07/06 by Max.Preussner
ImgMedia: Enabled reverse playback
Change 3525722 on 2017/07/06 by Max.Preussner
WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport
Change 3525800 on 2017/07/07 by Max.Preussner
WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.
Change 3525801 on 2017/07/07 by Max.Preussner
MediaPlayerEditor: Made scrubbing more responsive
Change 3526500 on 2017/07/07 by Max.Preussner
WmfMedia: Using NULL for Windows pointers
Change 3527323 on 2017/07/07 by Max.Preussner
WmfMedia: Added support for audio and video capture media sources
Change 3530197 on 2017/07/10 by Max.Preussner
WmfMedia: Added utility functions for enumerating audio and video capture devices
Change 3533465 on 2017/07/12 by Max.Preussner
Media: Added media capture device support API & implementation for WMF
Change 3533469 on 2017/07/12 by Max.Preussner
MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar
Change 3533540 on 2017/07/12 by Max.Preussner
MediaAssets: Blueprint support for media capture device discovery
Change 3533574 on 2017/07/12 by Max.Preussner
WmfMedia: Using cached supported play rates; more strict pausing support check
Change 3533924 on 2017/07/12 by Max.Preussner
WmfMedia: Added global LowLatency setting (UEVR-859)
Note that this setting is only supported when compiling for Windows 8 or newer.
Change 3534027 on 2017/07/12 by Max.Preussner
WmfMedia: Compile time support for low latency session attribute on < Windows8
#jira UEVR-859
Change 3538744 on 2017/07/14 by Max.Preussner
MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource
Change 3542818 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed race condition on session shutdown
Change 3543082 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed track selection in media that doesn't support seeking
Change 3543092 on 2017/07/18 by Max.Preussner
Media: Implemented media track format API
Enables multiple formats per media track. By default, the first usable format is selected.
This feature is currently only implemented for WmfMedia. All other players assume a single format per track.
Change 3543794 on 2017/07/19 by Max.Preussner
WmfMedia: Added string conversion for null GUIDs
Change 3543796 on 2017/07/19 by Max.Preussner
MfMedia: Copied GUID string conversion updates from WmfMedia
Change 3543797 on 2017/07/19 by Max.Preussner
WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support
Change 3544390 on 2017/07/19 by Max.Preussner
Media: Allowing INDEX_NONE as 'current selection' index in track format related functions
Change 3545368 on 2017/07/19 by Max.Preussner
WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting
Change 3545388 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed RGB input sources rendered upside down
Change 3545430 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed incorrect sRGB conversion on BMP inputs
Change 3547362 on 2017/07/20 by Max.Preussner
Core: Added IsGraph and IsPrint to TCHAR utilities
Change 3547376 on 2017/07/20 by Max.Preussner
WmfMedia: Better log messages for non-standard video types (UE-47533)
#jira UE-47533
Change 3547404 on 2017/07/20 by Max.Preussner
QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)
#jira UE-47542
Change 3547466 on 2017/07/20 by Max.Preussner
WmfMedia: Fixed edge case for detecting whether pause is available
Change 3548742 on 2017/07/21 by Max.Preussner
Media: Added API for changing the input frame rate
Change 3548743 on 2017/07/21 by Max.Preussner
WmfMedia: Implemented ability to change input frame rate
Change 3554411 on 2017/07/25 by Max.Preussner
AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property
Change 3554818 on 2017/07/25 by Max.Preussner
Media: Added per track-type cache queries
Change 3557284 on 2017/07/26 by Max.Preussner
WmfMedia: Added buffer size check in texture sample as well
Change 3560530 on 2017/07/27 by Max.Preussner
WmfMedia: Made COM object destructors private and added assertions
Change 3560580 on 2017/07/27 by Max.Preussner
MediaUtils: Added method for querying number of objects in pool
Change 3562572 on 2017/07/28 by Max.Preussner
WmfMedia: Properly handling topology status errors when opening media
Change 3576710 on 2017/08/08 by Chris.Babcock
bug fixes for mediaplayer
- rare cases in Android media tracks
- make FMediaCaptureDevice members available in blueprints
Change 3577736 on 2017/08/08 by Chris.Babcock
Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)
Change 3578831 on 2017/08/09 by Max.Preussner
MediaAssets: Made media sound component BP spawnable
Change 3579210 on 2017/08/09 by Max.Preussner
UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults
Change 3579547 on 2017/08/09 by Chris.Babcock
Better support for Android external texture detection
Change 3579567 on 2017/08/09 by Chris.Babcock
Android camera plugin
#jira UEMOB-215
Change 3580035 on 2017/08/10 by Andrew.Rodham
Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
- Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
- Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
- Made UTexture::GetMaterialType const-correct
#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.
Change 3581552 on 2017/08/10 by Chris.Babcock
Use bilinear sampling instead of point for external texture (Android media and camera)
Change 3581628 on 2017/08/10 by Max.Preussner
Core: Fixed FTimespan import/export/copypaste (UE-43990)
#jira UE-43990
#jira UE-44163
Change 3581909 on 2017/08/11 by Andrew.Rodham
Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
- This prevents destroyed proxies from remaining in the texture registry
#jira UE-48307
Change 3582451 on 2017/08/11 by Max.Preussner
AudioMixer: Fixed initialization order of synth components
This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.
#jira UE-48055
Change 3582453 on 2017/08/11 by Max.Preussner
MediaAssets: Enabling ticking in media sound component (UE-48055)
#jira UE-48055
Change 3583101 on 2017/08/11 by Chris.Babcock
Android camera improvements
- return correct capture device type (webcamfront/rear)
- remove seek (not supported)
- support track formats
- better framerate selection
Change 3590109 on 2017/08/16 by Chris.Babcock
Move external texture coordinate update to improve accuracy and save a uniform in final shader
Change 3590530 on 2017/08/16 by Max.Preussner
MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks
#jira UE-48166
Change 3590547 on 2017/08/16 by Max.Preussner
MediaPlayerEditor: Ticking sound component directly
Change 3590628 on 2017/08/16 by Max.Preussner
Switch: Fixed media decoder asserting when attempting to pause without having started
Change 3591816 on 2017/08/16 by Aaron.McLeran
#jira UE-48470 Disabling async processing for procedural sound waves on mac.
Change 3592266 on 2017/08/16 by Max.Preussner
Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia
This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.
#jira UE-48474
#jira UE-45677
Change 3592355 on 2017/08/17 by Max.Preussner
MediaUtils: Added sample sink collection to remove code duplication
Change 3592739 on 2017/08/17 by Max.Preussner
ImgMedia: Fetching only one video sample per frame
Change 3592741 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample fetching when paused
Change 3592761 on 2017/08/17 by Max.Preussner
MediaUtils: Fixed overflow detection in sample sinks
Change 3592762 on 2017/08/17 by Max.Preussner
ImgMedia: Sending end reached event when looping
Change 3592885 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed reverse play
Change 3592887 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample range calculation for audio samples
Change 3593010 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed async loading of non-EXR image sequences
Change 3593193 on 2017/08/17 by Max.Preussner
AndroidMedia: Fixed typo
Change 3593230 on 2017/08/17 by Max.Preussner
Media: Implemented flushing for player sample queues
Change 3593346 on 2017/08/17 by Max.Preussner
Media: Proper sample processing for reverse playback
Change 3593482 on 2017/08/17 by Max.Preussner
Switch: Fixed sample range check for reverse playback
Change 3594428 on 2017/08/17 by Max.Preussner
PS4Media: Fixed video not playing/crashing
#jira UE-48547
#jira UE-48549
Change 3595404 on 2017/08/17 by Max.Preussner
MediaAssets: Not requesting audio samples if not playing
#jira UE-48557
Change 3595624 on 2017/08/17 by Max.Preussner
PS4Media: Fixed no looping after track switching
#jira UE-46524
#jira UE-48557
Change 3595704 on 2017/08/17 by Max.Preussner
MediaUtils: Improved sample queue flushing
Eventually this needs to be event-driven.
#jira UE-48557
Change 3595706 on 2017/08/17 by Max.Preussner
PS4Media: Flushing queues when track switching
#jira UE-48557
Change 3595909 on 2017/08/17 by Max.Preussner
Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
https://github.com/EpicGames/UnrealEngine/pull/3382
#jira UE-42906
#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
Change 3597480 on 2017/08/18 by Max.Preussner
ImgMediaPlayer: Fixed presentation time calculation for very large delta times
Change 3597669 on 2017/08/18 by Max.Preussner
ImgMedia: Setting player stopped instead of paused when end reached
Change 3597709 on 2017/08/18 by Max.Preussner
SwitchMedia: Fixed audio sample duration calculation
Change 3598479 on 2017/08/18 by Max.Preussner
ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging
Change 3598629 on 2017/08/18 by Max.Preussner
MediaUtils: Properly handling pending flushes when peeking sample queues
Change 3598633 on 2017/08/18 by Max.Preussner
WmfMedia: Fixed occasional WMF deadlock when scrubbing
Change 3598653 on 2017/08/18 by Max.Preussner
MediaUtils: Fixed audio resampling in reverse playback
Change 3598659 on 2017/08/18 by Max.Preussner
MediaPlayerEditor: Creating sound output only if audio device available
Change 3598688 on 2017/08/18 by Max.Preussner
MediaUtils: Flushing sample queues on direction change regardless of paused state
Change 3599444 on 2017/08/20 by Max.Preussner
WmfMedia: Added missing check for rate control when quering supported rates
Change 3603661 on 2017/08/22 by Max.Preussner
WmfMedia: Fixed NV12 output
Change 3604345 on 2017/08/23 by Max.Preussner
MediaUtils: Added subtitle samples to media sample collection; fixed documentation
Change 3604987 on 2017/08/23 by Max.Preussner
PS4Media: Setting correct track format types
Change 3605117 on 2017/08/23 by Joe.Barnes
Fix issue where presentation time was being treated as milliseconds instead of microseconds.
Change 3605128 on 2017/08/23 by Joe.Barnes
Fix potential issue calculating total (looped) play time after seek or reset.
Track last video presentation time
Change 3605139 on 2017/08/23 by Joe.Barnes
Support audio type DType_Setup.
Fix issue with procedural sounds popping. Consume more samples if necessary.
#jira ue-48544
Change 3605197 on 2017/08/23 by Max.Preussner
Media: Fixed track display name formatting (UE-48767)
#jira UE-48767
Change 3605817 on 2017/08/23 by Max.Chen
Auto set sampler type on drop on actor.
#jira UE-48769
Change 3605999 on 2017/08/23 by Max.Preussner
MfMedia: Restarting source reader when switching tracks
#jira UE-48766
Change 3606416 on 2017/08/23 by Max.Preussner
PS4Media: Various player improvements
#jira UE-48586
Change 3607656 on 2017/08/24 by Max.Preussner
WmfMedia: Improved logging for Seek and SetRate
Change 3607855 on 2017/08/24 by Max.Preussner
MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\
#jira UE-48766
Change 3608029 on 2017/08/24 by Max.Preussner
PS4Media: Fixed streaming media not playing; improved result checks & logging
#jira UE-48610
Change 3608473 on 2017/08/24 by Max.Preussner
MfMedia: Fixed audio sample duration calculation
#jira UE-48756
Change 3609316 on 2017/08/24 by Chris.Babcock
Provide external texture RotationScale and Offset from sample
Change 3610067 on 2017/08/25 by Richard.Wallis
Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.
- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.
#jira UE-48590, UE-48604
Change 3610267 on 2017/08/25 by Max.Preussner
PS4Media: Added missing track selection validation
#jira UE-48765
Change 3610399 on 2017/08/25 by Max.Preussner
PS4Media: Fixed infinite player re-initialization loop if track selection failed
Change 3610809 on 2017/08/25 by Chris.Babcock
Fixes for Android media player and camera player
- buffer samples copy proper bytecount
- realloc sets new buffer ptr
- refcount of Java buffers fixed
Change 3610953 on 2017/08/25 by Chris.Babcock
Fix audio disable before play on Android media player
Change 3611405 on 2017/08/25 by Max.Preussner
WmfMedia: Resetting supported rates if RateSupport unavailable
Change 3611406 on 2017/08/25 by Max.Preussner
MfMedia: Resetting supported rates if RateSupport unavailable
Change 3611453 on 2017/08/25 by Chris.Babcock
Android external texture extension updates for compatibility
Change 3611719 on 2017/08/26 by Max.Preussner
Media: Added media event for completed seek operations; flushing sinks on seek
Change 3611764 on 2017/08/26 by Max.Preussner
AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously
Change 3611802 on 2017/08/26 by Max.Preussner
Media: Exposed error state in media player
Change 3611803 on 2017/08/26 by Max.Preussner
MediaPlayerEditor: Showing error state in UI
Change 3611887 on 2017/08/26 by Max.Preussner
MediaUtils: Corrected media sample sink overflow check
Change 3611892 on 2017/08/27 by Max.Preussner
WmfMedia: Leaving session in error state after error
Change 3611929 on 2017/08/27 by Max.Preussner
MediaPlayerEditor: Fixed sound stopping on looping
Change 3611930 on 2017/08/27 by Max.Preussner
MfMedia: Rewrote async sample processing to fix various playback issues
Change 3611942 on 2017/08/27 by Max.Preussner
Media: Sending suspension event when playback ended
Change 3611957 on 2017/08/27 by Max.Preussner
UnrealEd: Allowed transient assets to be resaved to disk
Change 3611981 on 2017/08/27 by Max.Preussner
PS4Media: Rewrote sample processing to fix various playback issues
#jira UE-48596
#jira UE-48793
Change 3612035 on 2017/08/27 by Max.Preussner
UnrealEd: Picking standard default names when resaving transient packages
Change 3612045 on 2017/08/27 by Max.Preussner
Media: Fixed playlists not getting saved correctly from Editor (UE-35382)
#jira UE-35382
Change 3612212 on 2017/08/28 by Richard.Wallis
Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close.
#jira UE-47602
Change 3613531 on 2017/08/28 by Max.Preussner
MediaAssets: Fixed external texture related crash on shutdown (UE-48918)
Also no longer creating clock sink for media player CDO
#jira UE-48918
Change 3613677 on 2017/08/28 by Andrew.Porter
Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object
#jira UE-48937
Change 3615917 on 2017/08/29 by Max.Preussner
MfMedia: Added compile options for DXVA and falling back to synchronous sample reading
[CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
|
|
|
FIOSTargetDevice::FIOSTargetDevice(const ITargetPlatform& InTargetPlatform)
|
|
|
|
|
: TargetPlatform(InTargetPlatform)
|
|
|
|
|
, DeviceEndpoint()
|
|
|
|
|
, AppId()
|
|
|
|
|
, bCanReboot(false)
|
|
|
|
|
, bCanPowerOn(false)
|
|
|
|
|
, bCanPowerOff(false)
|
|
|
|
|
, DeviceType(ETargetDeviceTypes::Indeterminate)
|
|
|
|
|
{
|
|
|
|
|
DeviceId = FTargetDeviceId(TargetPlatform.PlatformName(), FPlatformProcess::ComputerName());
|
|
|
|
|
DeviceName = FPlatformProcess::ComputerName();
|
|
|
|
|
MessageEndpoint = FMessageEndpoint::Builder("FIOSTargetDevice").Build();
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-11 18:04:24 -04:00
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::Connect()
|
|
|
|
|
{
|
|
|
|
|
// @todo zombie - Probably need to write a specific ConnectTo(IpAddr) function for setting up a RemoteEndpoint for talking to the Daemon
|
|
|
|
|
// Returning true since, if this exists, a device exists.
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::Deploy(const FString& SourceFolder, FString& OutAppId)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FIOSTargetDevice::Disconnect()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int32 FIOSTargetDevice::GetProcessSnapshot(TArray<FTargetDeviceProcessInfo>& OutProcessInfos)
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ETargetDeviceTypes FIOSTargetDevice::GetDeviceType() const
|
|
|
|
|
{
|
|
|
|
|
return DeviceType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FTargetDeviceId FIOSTargetDevice::GetId() const
|
|
|
|
|
{
|
|
|
|
|
return DeviceId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FString FIOSTargetDevice::GetName() const
|
|
|
|
|
{
|
|
|
|
|
return DeviceName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FString FIOSTargetDevice::GetOperatingSystemName()
|
|
|
|
|
{
|
|
|
|
|
return TargetPlatform.PlatformName();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const class ITargetPlatform& FIOSTargetDevice::GetTargetPlatform() const
|
|
|
|
|
{
|
|
|
|
|
return TargetPlatform;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::IsConnected()
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::IsDefault() const
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::Launch(const FString& InAppId, EBuildConfigurations::Type InBuildConfiguration, EBuildTargets::Type BuildTarget, const FString& Params, uint32* OutProcessId)
|
|
|
|
|
{
|
|
|
|
|
#if !PLATFORM_MAC
|
|
|
|
|
MessageEndpoint->Send(new FIOSLaunchDaemonLaunchApp(InAppId, Params), DeviceEndpoint);
|
|
|
|
|
return true;
|
|
|
|
|
#else
|
|
|
|
|
//Set return to false on Mac, since we could not find a way to do remote deploy/launch.
|
|
|
|
|
return false;
|
|
|
|
|
#endif // !PLATFORM_MAC
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::PowerOff(bool Force)
|
|
|
|
|
{
|
|
|
|
|
// @todo zombie - Supported by the Daemon?
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::PowerOn()
|
|
|
|
|
{
|
|
|
|
|
// @todo zombie - Supported by the Daemon?
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::Reboot(bool bReconnect)
|
|
|
|
|
{
|
|
|
|
|
// @todo zombie - Supported by the Daemon?
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::Run(const FString& ExecutablePath, const FString& Params, uint32* OutProcessId)
|
|
|
|
|
{
|
|
|
|
|
#if !PLATFORM_MAC
|
|
|
|
|
// The executable path usually looks something like this: directory/<gamename>.stub
|
|
|
|
|
// We just need <gamename>, so strip that out.
|
|
|
|
|
int32 LastPeriodPos = ExecutablePath.Find( TEXT("."), ESearchCase::IgnoreCase, ESearchDir::FromEnd);
|
|
|
|
|
int32 LastBackslashPos = ExecutablePath.Find( TEXT("\\"), ESearchCase::IgnoreCase, ESearchDir::FromEnd);
|
|
|
|
|
int32 LastSlashPos = ExecutablePath.Find( TEXT("/"), ESearchCase::IgnoreCase, ESearchDir::FromEnd);
|
|
|
|
|
int32 TrimPos = LastBackslashPos > LastSlashPos ? LastBackslashPos : LastSlashPos;
|
|
|
|
|
if ( TrimPos > LastPeriodPos )
|
|
|
|
|
{
|
|
|
|
|
// Ignore any periods in the path before the last "/" or "\"
|
|
|
|
|
LastPeriodPos = ExecutablePath.Len() - 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( TrimPos == INDEX_NONE )
|
|
|
|
|
{
|
|
|
|
|
TrimPos = 0; // take the whole string from the beginning
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// increment to one character beyond the slash
|
|
|
|
|
TrimPos++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int32 Count = LastPeriodPos - TrimPos;
|
|
|
|
|
FString NewAppId = ExecutablePath.Mid(TrimPos, Count); // remove the ".stub" and the proceeding directory to get the game name
|
|
|
|
|
|
|
|
|
|
SetAppId(NewAppId);
|
|
|
|
|
MessageEndpoint->Send(new FIOSLaunchDaemonLaunchApp(AppId, Params), DeviceEndpoint);
|
|
|
|
|
return true;
|
|
|
|
|
#else
|
|
|
|
|
//Set return to false on Mac, since we could not find a way to do remote deploy/launch.
|
|
|
|
|
return false;
|
|
|
|
|
#endif // !PLATFORM_MAC
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::SupportsFeature(ETargetDeviceFeatures Feature) const
|
|
|
|
|
{
|
|
|
|
|
switch (Feature)
|
|
|
|
|
{
|
|
|
|
|
case ETargetDeviceFeatures::Reboot:
|
|
|
|
|
return bCanReboot;
|
|
|
|
|
|
|
|
|
|
case ETargetDeviceFeatures::PowerOn:
|
|
|
|
|
return bCanPowerOn;
|
|
|
|
|
|
|
|
|
|
case ETargetDeviceFeatures::PowerOff:
|
|
|
|
|
return bCanPowerOff;
|
|
|
|
|
|
|
|
|
|
case ETargetDeviceFeatures::ProcessSnapshot:
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::SupportsSdkVersion(const FString& VersionString) const
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::TerminateProcess(const int64 ProcessId)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FIOSTargetDevice::SetUserCredentials(const FString& UserName, const FString& UserPassword)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FIOSTargetDevice::GetUserCredentials(FString& OutUserName, FString& OutUserPassword)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2019-01-25 23:58:19 -05:00
|
|
|
|
|
|
|
|
inline void FIOSTargetDevice::ExecuteConsoleCommand(const FString& ExecCommand) const
|
|
|
|
|
{
|
2019-02-22 00:59:43 -05:00
|
|
|
FString Params = FString::Printf(TEXT("command -device %s -param \"%s\""), *DeviceId.GetDeviceName(), *ExecCommand);
|
2019-02-28 18:18:53 -05:00
|
|
|
|
|
|
|
|
AsyncTask(
|
|
|
|
|
ENamedThreads::AnyThread,
|
|
|
|
|
[Params]()
|
|
|
|
|
{
|
|
|
|
|
FString StdOut;
|
|
|
|
|
FIOSTargetDeviceOutput::ExecuteDSCommand(TCHAR_TO_ANSI(*Params), &StdOut);
|
|
|
|
|
}
|
|
|
|
|
);
|
2019-01-25 23:58:19 -05:00
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile [at] 4355761)
#lockdown Nick.Penwarden
#rb Jack.Porter
============================
MAJOR FEATURES & CHANGES
============================
Change 4066430 by Nick.Shin
HTML5 - fix merge stomping and add in missing SC.Metadatadir (null) object to last {if else} block
#jira UE-58423 HTML5 Quicklaunch through UnrealFrontEnd fails on Stage Command: Error: System.NullReferenceExeception
Change 4067037 by Bogdan.Vasilache
#jira UE-57406
Shaders compiled for GLSL_ES2 with CFLAG_FeatureLevelES31 compiler flag will now shift to GLSL_ES3_1_ANDROID profile instead of GLSL_310_ES_EXT.
Change 4067649 by Jack.Porter
Remove obsolete cvars from ini files
#jira UE-54768
Change 4071833 by Bogdan.Vasilache
#jira UE-57406
ShaderVersion guid updated to reflect changes in the OpenGL shader compiler.
Change 4075162 by Bogdan.Vasilache
#jira UE-53195
Change 4099176 by Jack.Porter
Fix SpeedTree node not working on ES3_1 (Contributed by PicaroonX)
#jira UE-59685
PR #4761
Change 4124398 by Mi.Wang
Add particle cutout support for feature level es31.
Change 4129400 by Sorin.Gradinaru
UE-60226 Web Browser widget is completely white on Android
#jira UE-60226
#jira UE-53247
#Android
#4.21
from Release-4.20 CL 4122319
The URL from the sample app is malformed (http:www.google.com).
Since the phone's default browser is able to correct this problem for http and https URLs, I've added this exception to the code that checks the URL prefix, re-writing the fix for UE-53247.
Change 4164212 by Nick.Shin
minor fixes to merge from Main
#jira none
Change 4165606 by Nick.Shin
#jira UE-57006 QA-Promotion WebGL1 HTML5 Launch On has numerous graphical errors
in order for UNROLL to work -- break statement needs to be removed
Change 4165823 by Nick.Shin
HTML5 - split single large template file to smaller component (e.g. js & css) files
custom template files are also supported on a per-project basis:
copy
.../Engine/Build/HTML5/GameX.*.template
to
<project>/Build/HTML5/.
build will automatically pick it the project's path (otherwise fallback to the Engine's version)
this is based on GitHub PR #4780
#jira UE-60136 GitHub 4780 : Proposed HTML5 Changes
Change 4202481 by Sorin.Gradinaru
UE-50492 OnUrlChanged does not fire on mobile
#jira UE-50492
#iOS
#4.21
Adding the events for load started & finished with errors
Change 4202484 by Sorin.Gradinaru
UEMOB-454 Move the virtual keyboard out of Experimental and make it enabled by default
#jira UEMOB-454
#4.21
Change 4202583 by Bogdan.Vasilache
[UE-53816] Allow texture sampling in vertex shaders for ES2 feature level
#jira UE-53816
Change 4214064 by Nick.Shin
Epic's GitHub policy is to treat "unknown" file extensions as "binary"
changing filenames so that they will show up GitHub's repo
this is in reference to GitHub PR #4780
#jira UE-60136 GitHub 4780 : Proposed HTML5 Changes
Change 4224514 by Mi.Wang
We should not Tick USceneCaptureComponent on DS by default.
Change 4230192 by Nick.Shin
HTML5 READMEs
updating old ones - and putting new ones in
these originally came from (mostly) onboarding the chrome team on UE4 emails. capturing most of that in markdown format.
#jria UEMOB-255 HTML5 Multithreading
Change 4232460 by Nick.Shin
HTML5 - fix UE_MakeHTTPDataRequest() crash
#jira UE-38351 ( Pri:1 - 4.21 ) Red and Blue color channels flipped on materials called from HTML5 server
Change 4234647 by Nick.Shin
HTML5 - ERGBFormat::RGBA vs ERGBFormat::BGRA
- make use of the enums in UAsyncTaskDownloadImage::HandleImageRequest()
- enable RGBA vs BGRA options for JPG decoder
#jira UE-38351 ( Pri:1 - 4.21 ) Red and Blue color channels flipped on materials called from HTML5 server
Change 4240086 by Sorin.Gradinaru
UE-61345 Decals in Remote Session are not rendering on some iOS devices
#jira UE-61345
#4.21
#iOS
Changed the texture compression from DXT5 to RGBA
Change 4240234 by Sorin.Gradinaru
UE-61838 Android 'Launch On All' can't run during an existing launch on session on Windows
#jira UE-61838
#4.21
Cancel previous sessions before launching the selected configuration.
Change 4244686 by Nick.Shin
HTML5 - syncing build scripts
#jria UEMOB-255 HTML5 Multithreading
Change 4246399 by Nick.Shin
HTML5 - syncing PhysX build scripts
#jria UEMOB-255 HTML5 Multithreading
Change 4267990 by Bogdan.Vasilache
[UEMOB-405] - Mobile PIE polishing - Bezel & Rotation + related subtasks
#jira UEMOB-405
#jira UEMOB-458
#jira UEMOB-459
#jira UEMOB-460
Change 4280211 by Chris.Babcock
Fix FD_SET macro invoke crash when Socket FD exceed 1023 (contributed by scahp)
#jira UE-62290
#PR #4912
#ue4
#android
Change 4300275 by Nick.Shin
HTML5 - Unreal File Server - css response header fixes
#jira UE-63009 HTML5 template page has non-centered viewport and loading banner stretches the entire screen
Change 4302328 by Nick.Shin
#jira UE-63108 HTML5 RunMacHTML5LauncherHelper.command files do not have appropriate permissions to run on Mac
Change 4303428 by Jack.Porter
Fixed crash during cooking for certain landscapes with collision data out of sync with render data.
Change 4307517 by Jack.Porter
Fix warning on Mac/Linux
#jira UE-62993
Change 4311437 by Nick.Shin
HTML5 : re-enabling [ -s BINARYEN_TRAP_MODE='clamp'; ]
warning: this is technically slower performing -- but, this fixes a lot of 64-bit issues (HTML5 is "only" 32-bits)
#jira UE-63049 HTML5 Quicklaunch to Chrome crashes with RuntimeError: float unrepresentable in integer range
Change 4312602 by Chris.Babcock
Allow some hardware buttons through if hardware keyboard disabled
#jira UE-63260
#ue4
#android
Change 4312711 by Chris.Babcock
Fix string formatting for some locales in GetMetaDataString Method (contributed by IlinAleksey)
#jira UE-63252
#PR #5026
#ue4
#android
Change 4321719 by Bogdan.Vasilache
UE-63378 - Fixed static analysis warnings
#jira UE-63378
Change 4331224 by Jack.Porter
Fixed Mobile PIE resolution for iPhone 8 Plus
#jira UE-63191
Change 4339446 by Jack.Porter
Modified foliage thumbnail color to better show when it is inactive
#jira UE-30824
#5057
Change 4339458 by Dmitriy.Dyomin
Fixed typos in glObjectPtrLabel type definitions (contributed by TheCodez)
#4920
#jira UE-62368
Change 4339460 by Dmitriy.Dyomin
Fixed: bRenderInMainPass on SkeletalMeshes doesn't work on Mobile
#jira UE-59077
Change 4339523 by Sorin.Gradinaru
UE-61351 Error: Failed to send -1 bytes of data to RemoteConnection spammed in the editor log when closing RemoteSession on device during connection
#jira UE-61351
#4.21
Not an real issue. The message is issued whenever the host (or the client) tries to send messages through an inactive channel. There is a "/ping" message sent back and forth between the host and the client, with high frequency (hence the spam) - if this message is no longer received, the host (or the client) decides to terminate the connection.
"Downgrading" the message from Error to Log, to avoid spamming the log on release builds.
Change 4339590 by Sorin.Gradinaru
UE-61554 Web Browser: No Transparency in 3D Widget Component on Mobile
#jira UE-61554
#Android
#4.21
Modified Web Texture Material's blend mode to "Translucent"
Change 4339595 by Sorin.Gradinaru
[Build] UE4 Dev-Mobile - CL 4339590 - Incremental Editor Win64
Change 4339597 by Jack.Porter
Fix static analysis CIS
This function should be moved to SceneUtils.h and the dependency in AsyncTaskDownloadImage resolved another way.
#jira UE-63378
Change 4339599 by Sorin.Gradinaru
UE-56076 Android Launch On "Running..." toast intermittently doesn't appear
#jira UE-56076
#Android
#4.21
wait before getting the process list with "adb shell ps" - on some devices the list is not yet ready
Change 4339647 by Sorin.Gradinaru
UE-54791 Planar Reflection gamma / brightness incorrect on Samsung Galaxy S5
#jira UE-54791
#Android
#4.21
The planar texture contains encoded data:
- decode it immediately after sampling the texture
- alpha channel was inverted during the PrefilterPlanarReflectionPS step
Change 4339654 by Sorin.Gradinaru
UE-59697 WebBrowser SetVisibility not working on Android & iOS
#jira UE-59697
#4.21
#iOS
#Android
SetVisibility implemented on iOS and Android's web browsers, by extending the implementation on Windows: use a list to store references to the webbrowsers in the scene , then in WebBrowserSingleton::Tick check if the cached web browsers windows or widgets ticked on the last frame
Change 4339656 by Sorin.Gradinaru
Remove unnecessary comment in IOSPlatformWebBrowser.cpp
Change 4339666 by Bogdan.Vasilache
[UEMOB-455] Make editor tool to dump out a device .json file for a connected Android device
#jira UEMOB-455
Change 4339667 by Bogdan.Vasilache
Mobile PIE bugfixes
#jira UE-63288
#jira UE-63282
Change 4339700 by Bogdan.Vasilache
[bugfix] Accidentally disabled SetPreviewPlatform() call for mobile PIE simulation.
Change 4339733 by Sorin.Gradinaru
UE-59381 Ios application default orientation
#jira UE-59381
#iOS
#4.21
- added Initial interface orientation in the generated Plist file (UIInterfaceOrientation key)
- implemented preferredInterfaceOrientationForPresentation in the IOSViewController
- re-arranged the orientation list in the Plist file
Change 4339781 by Sorin.Gradinaru
UE-60716 Show cursor in Editor text boxes when focused on Android
#jira UE-60716
#Android
#4.21
Updating the widget's cursor position from the native code.
This also overrides the fix for UE49124 Cursor in virtual keyboard and UMG don't match - initially the solution was to hide the widget's cursor.
Change 4340037 by Jack.Porter
Added an Android Project Settings checkbox to enable detection of Vulkan device support by default. If unchecked, the -detectvulkan command line parameter can be used.
Change 4340076 by Jack.Porter
Fix warning seen by CIS
#jira UE-63377
Change 4340212 by Sorin.Gradinaru
UE-63224 Android DLC profile in Project Launcher fails if there is a space in the path for the destination directory
#jira UE-63224
#4.21
#Android
Avoid enclosing path arguments in double quotes (""<path>""). MakePathSafeToUseWithCommandLine(<path>) already adds quotes when needed.
Change 4340721 by Andrew.Grant
Fixed -vsmac argument not working with GenerateProjectFiles
#jira nojira
Change 4340822 by Andrew.Grant
Replaced default iOS splashcreens with UE logo
Added missing resolutions (iPhone 5 portrait, iPad 10.5")
Removed custom splash images from RemoteSessionApp
#jira UE-59864, UE-61939
Change 4340857 by Chris.Babcock
Fix virtual keyboard crashes on Android
#jira none
Change 4341047 by Andrew.Grant
Prevent Xcode upgrade warnings for >9.0 versions
Change 4343797 by Cosmin.Sulea
iOS - iPhonePackager ExportCertificate command failing 100%
Change 4343823 by Sorin.Gradinaru
UE-63334 Unreal Remote 2 does not send information about motion control
#jira UE-63334
#iOS
#Android
The functionality was commented out. Tested it for performance and it seems OK (despite the high frequency of /motion signals)
Change 4343824 by Sorin.Gradinaru
UEMOB-185 Implement the equivalent of FAndroidJSScripting for iOS
UE-59488 FWebBrowserWindow::UnbindUObject of IOSPlatformWebBrowser.cpp is not implemented yet
#jira UEMOB-185
#jira UE-59488
#4.21
#iOS
New methods (using WebKit, matching the Android implementation):
- Go back/forward
- HandlePageLoading (loading/didCommitNavigation, loaded/didFinishNavigation)
- HandleReceivedError (didFailNavigation)
- execute JS code
- controlling the client using JS commands (WKWebViewConfiguration & WKUserContentController):
- in Android we using shouldInterceptRequest to intercept a custom resource URL (JS: XMLHttpRequest.send, document.location)
- iOS will register handlers (JS: window.webkit.messageHandlers.<FMobileJSScripting::JSMessageHandler>.postMessage)
Change 4343845 by Sorin.Gradinaru
Adding the signatures for FJavaWrapper's CallLongMethod, CallFloatMethod and CallDoubleMethod in the AndroidJNI.h
#4.21
#Android
Change 4343893 by Cosmin.Sulea
UEMOB-465 - Add Device Output Log support for iOS
#jira UEMOB-465
Change 4343895 by Dmitriy.Dyomin
Fixed: DepthFade does not work in mobile emulation while MobileMSAA enabled
#jira UE-60404
Change 4343899 by Dmitriy.Dyomin
GitHub 4851 : Fix layer info property bNoWeightBlend not being saved after tiled landscape import (contributed by cmp-)
#4851
#jira UE-61437
Change 4343906 by Bogdan.Vasilache
Editor's feature level is now saved and restored between sessions
#jira UE-55506
#jira UE-59688
Change 4346729 by Jack.Porter
Fix CIS
#jira UE-63716
Change 4347811 by Jack.Porter
Fix dependency chain while including PIEPreviewDeviceSpecification
#jira UE-63755
Change 4348580 by Jack.Porter
Fix CIS issues in IOSPlatformWebBrowser
#jira UE-63809
Change 4350092 by Jack.Porter
Fix null pointer exception in iPhonePackager when a matching certificate cannot be found
#jira UE-63821
Change 4350968 by Jack.Porter
Update binaries for deployment server
#jira UEMOB-332
Change 4353925 by Jack.Porter
Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
Rework PR 4912 from CL 4280211
#jira UE-62290
Change 4354034 by Jack.Porter
Rebuilt deployment server after backing out changes
#jira UE-63826
Change 4354338 by Ben.Marsh
Attempted fix for incorrect certificate errors when compiling remotely.
* Overloaded meaning of the -Certificate argument (ie. as the output path rather than as the desired certificate when selecting a provision) was causing certificate name check to fail. Now uses a different parameter to specify the output path.
* TVOS argument was not being passed when exporting the certificate, also causing the wrong provision/certificate pair to be selected.
* Add support for the -bundlename argument, though it shouldn't be necessary when invoked from UBT since the UUID discovered in a previous invocation of IPP is explicitly specified.
Since the provision UUID is already being specified to IPP, it should be able to identify the correct provision on phase -1 using this info.
#jira UE-63859
Change 4354459 by Chris.Babcock
Fix issue with Android PCH include files
#jira UE-63909
#ue4
#android
Change 4255761 by Peter.Sauerbrei
fix for space in manifest name
#jira UE-63868
#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4356719 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 4356730 by chris babcock in Dev-VR branch]
2018-09-10 21:28:08 -04:00
|
|
|
inline ITargetDeviceOutputPtr FIOSTargetDevice::CreateDeviceOutputRouter(FOutputDevice* Output) const
|
|
|
|
|
{
|
|
|
|
|
FIOSTargetDeviceOutputPtr DeviceOutputPtr = MakeShareable(new FIOSTargetDeviceOutput());
|
|
|
|
|
if (DeviceOutputPtr->Init(*this, Output))
|
|
|
|
|
{
|
|
|
|
|
return DeviceOutputPtr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
2019-02-22 00:59:43 -05:00
|
|
|
|
2019-02-26 22:33:31 -05:00
|
|
|
int FIOSTargetDeviceOutput::ExecuteDSCommand(const char *CommandLine, FString* OutStdOut)
|
2019-02-22 00:59:43 -05:00
|
|
|
{
|
|
|
|
|
void* WritePipe;
|
|
|
|
|
void* ReadPipe;
|
|
|
|
|
FPlatformProcess::CreatePipe(ReadPipe, WritePipe);
|
|
|
|
|
FTcpDSCommander DSCommander((uint8*)CommandLine, strlen(CommandLine), WritePipe);
|
|
|
|
|
while (DSCommander.IsValid() && !DSCommander.IsStopped())
|
|
|
|
|
{
|
|
|
|
|
FString NewLine = FPlatformProcess::ReadPipe(ReadPipe);
|
|
|
|
|
if (NewLine.Len() > 0)
|
|
|
|
|
{
|
|
|
|
|
// process the string to break it up in to lines
|
|
|
|
|
*OutStdOut += NewLine;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FPlatformProcess::Sleep(0.25);
|
|
|
|
|
}
|
|
|
|
|
FString NewLine = FPlatformProcess::ReadPipe(ReadPipe);
|
|
|
|
|
if (NewLine.Len() > 0)
|
|
|
|
|
{
|
|
|
|
|
// process the string to break it up in to lines
|
|
|
|
|
*OutStdOut += NewLine;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FPlatformProcess::Sleep(0.25);
|
|
|
|
|
FPlatformProcess::ClosePipe(ReadPipe, WritePipe);
|
|
|
|
|
|
2019-02-26 22:33:31 -05:00
|
|
|
if (DSCommander.IsSystemError())
|
2019-02-22 00:59:43 -05:00
|
|
|
{
|
2019-02-26 22:33:31 -05:00
|
|
|
return -1;
|
2019-02-22 00:59:43 -05:00
|
|
|
}
|
|
|
|
|
|
2019-02-26 22:33:31 -05:00
|
|
|
if (!DSCommander.WasSuccess())
|
|
|
|
|
{
|
|
|
|
|
//FPlatformMisc::LowLevelOutputDebugStringf(TEXT("The DeploymentServer command '%s' failed to run.\n"), ANSI_TO_TCHAR(CommandLine));
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 1;
|
2019-02-22 00:59:43 -05:00
|
|
|
}
|