#preflight 61eefc77ba69a4fdb220bf23
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18713191 by marc audy in ue5-main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870584 by ryan durand in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4048227 by Rolando.Caloca
VR - vk - Some Vulkan merge conflicts resolved
Change 4078631 by Mike.Beach
Fixing MR Calibration so it scales the alignment model according the the capture's FOV (so they appear the same size across capture devices - leading to a homogenous experience).
Also moved the FOV override config setting to be a console command/setting (mrc.FovOverride) to help in testing this.
#jira UE-55499
Change 4080389 by Mike.Beach
Speculative fix/guard against live crash - trying to catch malformed model data. Logging helpful information to give us insight in the future.
#jira UE-57680
Change 4080792 by Joe.Graf
Prep work for moving face ar to its own plugin
Change 4080852 by Joe.Graf
Prep work for moving face ar support to its own plugin
Change 4081735 by Keli.Hlodversson
Remove a workaround change from the Lumin branch that should not have been merged over.
Change 4081737 by Keli.Hlodversson
Fix SteamVR forcing full screen regardless of user settings.
#jira UE-51654
Change 4082323 by Joe.Graf
Pulled face ar support into its own plugin so that it can be enabled/disabled independently from room ar
Change 4082334 by Joe.Graf
Changed where face LiveLink was logging to
Change 4095529 by Joe.Graf
Dramatically simplified the face API isolation to a separate plugin
Change 4103356 by Joe.Graf
Fixed a threading bug that appeared when migrating the face ar code into its own plugin
Change 4109752 by Joe.Graf
Added a setting to specify the type of AR world alignment transform type a session should use
Deleted some old ARKit configuration code that wasn't really used
Fixed the setting of light estimation using the wrong value to determine the setting on ARKit
#jira: UE-58544, UE-59371
Change 4110601 by Jason.Bestimt
#DEV-VR - Adding spaces to plugin names
#JIRA: UE-58642, UE-58643
Change 4110721 by Jason.Bestimt
#DEV-VR - Removing question mark from tooltip
#JIRA: UE-58641
Change 4111412 by Joe.Graf
Fixed a bad merge of BaseEngine.ini
Change 4111902 by Nick.Whiting
Adding in support for locking HMD tracking to an external tracking environment (e.g. mo cap). This is not meant to drive the position continually in lieu of an HMD's built in system, but is rather to help keep the HMD from generally getting out of alignment with another tracking system. Two functions, CalibrateExternalTrackingToHMD and UpdateExternalTrackingHMDPosition allow for arbitrary rigid offsets between the HMD and the external tracking source, and updating as desired.
Change 4116059 by Joe.Graf
First pass integration of ARKit 2.0 (very wip, thar be dragons everywhere)
Change 4116109 by Jason.Bestimt
#DEV-VR - Disable editing of Tegra Debugger setting for installed builds
#JIRA: UE-58636
Change 4117821 by Jason.Bestimt
#DEV-VR - Fix for crash in DebugCanvas on application termination
#JIRA: UE-58865
Change 4118560 by Joe.Conley
MagicLeap ImageTrackerComponent: Adding check for PLATFORM_LUMIN to prevent PIE crash running code that was designed to only run on device.
Tested PIE in editor and launching to device.
Change 4118626 by Jason.Bestimt
#DEV-VR - Removing ES2 from bMobileRendering Tooltop
#JIRA: UE-58640
Change 4119786 by Joe.Conley
Merging CL-4118965 from Release-4.20 using DevVRtoRelease420
Change 4119906 by Joe.Conley
Magic Leap settings: Changing comment/tooltip on mobile rendering flag to not mention vulkan and just say "mobile". Still technically possible to use ES2 but it's hidden.
#jira UE-59755 "Magic Leap: Project setting to set vulkan or ES2 needs to be removed"
Change 4122067 by Jason.Bestimt
#DEV-VR - Copying all relevant files for Resonance Audio
Change 4122930 by Keli.Hlodversson
Use XR ThreadUtils when scheduling GameTrackingThread to Render and RHI thread.
#jira UE-58852
Change 4123848 by Nick.Whiting
Enabling RHI threading on Lumin
Change 4124116 by Nick.Whiting
Adding support for DefaultStereoLayers on Lumin
Change 4151051 by Joe.Conley
Magic Leap: Override IniPlatfromName() for LuminTargetPlatform to report "Lumin" rather than reporting the value from it's parent, AndroidTargetPlatform, "Android".
#jira UE-60389 "Lumin - Need to switch the *Phaedra* launch on option "All_Android_On..." to a single "All_Phaedra_On..." with no expandable options"
Unsure if this will affect more than just this display name, as IniPlatformName() is used in a few places in the code, but eventually it will need to be "Lumin" anyway so we'll fix fallout as we find it.
Change 4160099 by Nick.Whiting
Enabling RHI threading on Vulkan by default on Magic Leap
Change 4163986 by Joe.Graf
Merging using Dev-VR_to_Release-4.20
Change 4164500 by Joe.Graf
Merging using Release-4.20_to_Dev-VR
Change 4166311 by Jason.Bestimt
#DEV-VR - Merge from //UE4/Dev-MagicLeap/... @ CL 4136411
Change 4167085 by Ryan.Vance
#integrating 4.20 cl 4132173 to fix mobile vulkan occusion query issues.
#jira UE-61051
Change 4167151 by Jason.Bestimt
#DEV-VR - Manual merge of Dev-MAIN to resolve conflicts for robomerge
Change 4167983 by Joe.Conley
For Lumin, only build shaders for OpenGL or Vulkan, not both. Fix a shader compile error in BogMyrtle material (can't use SpeedTree node on mobile).
#jira UE-61126 Lumin Sample: Warning: LogMaterial : Failed to compile material for GLSL_ES2
Change 4168244 by Nick.Whiting
Fix for stereo layers crashing on exit, where the DebugCanvas was destroyed after the layer manager, causing a nullptr dereference
Change 4170213 by Mike.Beach
CIS build fix - removing duplicate definition & adding a missing #pragma once to a header fille
#mlqdr
Change 4170299 by Mike.Beach
LNK fix - fixing up more fallout from the recent merge from DevMain. Adding in missing function that was dropped in the merge (matching Main's version).
Change 4170962 by Nick.Whiting
Back out changelist 4160099: Removing the enabling by default on lumin
Change 4171227 by Chance.Ivey
Unreal Engine logos for Portal and Model. These need to be set in Project Settings.
Change 4171260 by Chance.Ivey
Removing ML basic assets for project icons.
Change 4171939 by Joe.Conley
#jira UE-61124 Lumin Sample: EDL errors during Launch On
Change Lumin Sample to use vulkan, like we do for everything by default now.
Didn't see this error after this change.
Change 4172321 by Mike.Beach
Sizing the debug layer properly for the magic leap device (inverting the y when rendering with opengl).
#jira UE-60299
#mlqdr
Change 4174175 by Jason.Bestimt
#DEV-VR - Fix for dragging a "skylight" from lighting menu directly into sequencer.
Change 4174237 by Jason.Bestimt
#DEV-VR - fixing initializer order
#JIRA - UE-61337
Change 4175281 by Joe.Graf
Added support to stream a preview image and the accompanying AR world data for shared AR experiences
Change 4175656 by Ryan.Vance
Copying //Tasks/UE4/Dev-VR-VulkanMedia to Dev-VR (//UE4/Dev-VR)
Preliminary vulkan media player support for ML.
There are a number of tasks left to do with this feature before committing to main:
- Clean up leaked color conversion handles
- Texture slot binding is not robust for media textures
- Color conversion extension init should be move to a lumin platform function
- Mobile renderer's base pass may collapse multiple materials together into the same drawing policy, so the immutable samplers referenced in the pso would bleed into other materials
- Fixing above will allow us to remove the immutable samplers from the mobile material rendering proxy to ensure we don't re-introduce the fort bug listed in the related comment
Change 4175684 by Ryan.Vance
Fix for vk media player crash
Change 4175699 by Nick.Whiting
Merging CL 4175640 (fix for Audio Capture pausing and resuming) to Dev-VR
Change 4176804 by Joe.Conley
Rolando originally hacked the RHI for Lumin with the ForceEnableDebugMarkers() function; return false there instead of if PLATFORM_LUMIN.
Change 4178261 by Ethan.Geller
Back out changelist 4175699 #fyi nick.whiting #rb none
Change 4179088 by Mike.Beach
Mirroring CL4178961.
Removing spammy error log, per consult from ML - apparently, at this time, MLSnapshotGetTransform() can return NaNs (which we handle). It is currently expected from the API.
#jira UE-61127
#mlqdr
Change 4179629 by Jeff.Fisher
UEVR-1209 Update to Magic Leap Hand Tracking API
-Switched from the Gestures API to the HandTracking API
-There is nothing like the 0 and 1 tracking point that change meaning per gesture in the new API, so I assigned the former Center/Pointer/Secondary special 1/3/5 2/4/6 to Center/IndexFingerTip/ThumbTip.
#review-4178177
#jira UEVR-1209
#mlqdr
Change 4179705 by Jeff.Fisher
MagicLeapHandTracking CIS fix.
Change 4181301 by Joe.Graf
Moved FaceARSample to Samples/Sandbox/AR/ so we can have all of the AR samples together
Change 4181402 by Joe.Graf
Fixed a missing #ifdef wrapper in the MagicLeap plugin
Change 4181445 by Joe.Graf
Fixed another missing #ifdef wrapper in the MagicLeap plugin
Change 4181558 by Jeff.Fisher
HandTracking LeftGestureButton fix
-The reality is Nihav made the fix, and I reviewed it.
Change 4185551 by Joe.Graf
Added support to query and specify the desired video format for an AR session
Change 4185843 by Joe.Graf
Merged in absolute scale/location/rotation PR #4760 from Wang Hao
Change 4186875 by Joe.Graf
Added stats for face ar
#jira: UE-53883
Change 4187681 by Joe.Graf
Fixed unity build compilation error
Change 4188782 by Joe.Graf
Work around LiveLink interpreting ARKit timestamps incorrectly causing jitter and animation lag
#jira: UE-61540
Change 4189204 by Joe.Graf
Merging using Release-4.20_to_Dev-VR
Change 4189331 by Joe.Graf
Removed all of my merge markers from the lab
Change 4189477 by Joe.Graf
Added performance tuning options for Face AR to ARSessionConfig
Added whether to mirror or be face relative for Face AR to ARSessionConfig
#jira: UE-53881
Change 4189835 by Joe.Graf
Changed how timestamps for ARKit objects are updated to make them more amenable with the engine
#jira: UE-61550
Change 4190085 by Jeff.Fisher
Duplicating from Dev-Partner-MagicLeap-4.20 cl 4189995
HandTracking 'failed to load' errors.
-Needed a package redirector as well as the various class and enum redirectors.
#MLQDR
#review-4189613
Files:
//UE4/Dev-Partner-MagicLeap-4.20/Engine/Config/BaseEngine.ini#8
Change 4190100 by Jason.Bestimt
#DEV-VR - Adding script version string to make sure AutoSDK gets run again
[To Fix CIS Builds for UE4 Lumin]
Change 4190795 by Joe.Conley
#jira UE-61265 Audio Capture Components need to hook Lumin backgrounding notifications to pause capture
Shelve 4175638 got committed but didn't compile. Fixed compile errors and changed some checks from Handle != ML_HANDLE_INVALID to MlIsValidHandle(Handle), fixed functions to return false if they error, responded to the errors by not continuing further, etc...
Don't know if this fixes all the functionality, but doesn't crash for me anymore.
Change 4196211 by Jason.Bestimt
#DEV-VR - Fixes for Android platform with new Lumin Vulkan Color Conversion Functions
Change 4199020 by Jason.Bestimt
Making sure bHaveVulkan is true for Lumin
Change 4199506 by Jason.Bestimt
#DEV-VR - Merging CL 4199443 from Dev-Magicleap to clear cache on looping media
Change 4200139 by Joe.Graf
Initial check in of a project to illustrate AR persistent sessions
Change 4200299 by Joe.Graf
Fixed the plugin setup for ARSaveLoad
Change 4200327 by Joe.Graf
Fixed adding face ar plugin instead of world ar plugin
Change 4200330 by Joe.Graf
Added a sample for using ARKit's environment probe feature
Change 4200352 by Joe.Graf
Changed the ARSessionConfig to use automatic environment probe generation
Change 4201607 by Zak.Parrish
Moving latest version of FaceARSample to DevVR
Change 4203453 by Jason.Bestimt
#DEV-VR - Fixing Audio Capture to not re-open stream if it's already open
#JIRA: UE-61609
Change 4204527 by Joe.Graf
Changed the AR World Save and AR Get Candidate Object latent actions to use the new mechanism to reduce code
Change 4204533 by Joe.Graf
POC of saving and load an AR world
Change 4204806 by Joe.Graf
Added more descriptive display names for AR blueprint operations
Change 4204870 by Jeff.Fisher
HandTracking blueprint access to all keypoints
-Duplicating for Dev-VR from Dev-Partner-MagicLeap-4.20
-Created new GetGestureKeypointTransform blueprint function to get a keypoint's transform by hand and keypoint enum.
-Deprecated the old GetGestureKeypoint methods
-Fixed Special_1 and Special_2 to use hand center instead of wrist center.
-Exposed all the keypoints to blueprint, so they can work right away when underlyign support appears in the OS.
#MLQDR
#review-4200777
Change 4204877 by Jeff.Fisher
Updated gesture test content to replace deprecated hand tracking blueprint functions.
Change 4204915 by Joe.Graf
Hid blueprint internal methods from being callable
Change 4205082 by Joe.Graf
Split ImportFileAsTexture2D into two functions so you can also import from a buffer
Change 4205170 by Joe.Graf
Made the proxy create function blueprint internal only
Change 4206898 by Joe.Graf
Initial ARSharedWorld multiplayer sample check in
Change 4207396 by Joe.Graf
Removed the FARSharedWorld from ARSharedWorldGameState to make things simpler/cleaner
Change 4207406 by Joe.Graf
Hooked up the delivery of the AR shared world data to the clients in the MP sample
Change 4207444 by Joe.Graf
Fixed the shadowing warning
Change 4207794 by zak.parrish
Checking in first stage of usable Save/Load AR work. Some UI, foundational functionality. Not testable yet.
Change 4207832 by Joe.Graf
For Zak
Change 4207952 by Joe.Graf
For Zak part 2
Change 4208268 by zak.parrish
Checking in changes to ARSaveLoad's game mode
Change 4208316 by zak.parrish
Living in shame under JoeG's rough admonishment. And fixing UI bugs.
Change 4208404 by zak.parrish
Actually saving... maybe?
Change 4208407 by Joe.Graf
Fixed wrong platform name being used as the whitelist for the AppleImageUtils plugin
Change 4209764 by Joe.Graf
Added missing module class for AppleImageUtilsBlueprintSupport
Change 4210695 by Joe.Graf
Added compression and versioning to the AR saved world data
Change 4211461 by Joe.Graf
Incremented the face live link packet version since the new blendshapes were added
Change 4211843 by Joe.Graf
Split some of the methods for ARKit conversion into a cpp from being all in the header
Added some logging during conversion
Change 4212020 by Joe.Graf
Added support for telling the AR system whether to reset tracking and tracked objects (useful for generating a play space and then using lower cpu/gpu tracking only)
Change 4212878 by Joe.Graf
Fixed inline problem and exported FAppleARKitConversion class
Change 4214969 by Ryan.Vance
#jira UEVR-1257
Adding initialization to all members in the default FAppleARKitFrame ctor
Change 4217193 by Jason.Bestimt
#DEV-VR - Fix for swapping shader cache formats and using Launch On
We now reload the settings each time they are used rather than caching once at startup
Change 4217487 by Jason.Bestimt
#DEV-VR - Fix for CIS shadowed member variable error
Change 4220007 by Jason.Bestimt
#DEV-VR - Fix for Dev-VR compile issue for Lumin Target Platform dependencies on Engine
Change 4223757 by Jason.Bestimt
#DEV-VR - Moving Lumin Audio Platform above Android because Lumin is Android
Change 4230863 by Keli.Hlodversson
Updating to SteamVR 1.0.15
Change 4235330 by Jason.Bestimt
#DEV-VR - Selective Merge from Dev-Partner-MagicLeap-4.20
CL 4117808
SKIP 4166531, 4172433, 4173415, 4174167, 4175152, 4174192
CL 4175448, 4175781, 4176126, 4176135, 4176138, 4176803, 4178961
SKIP - 4179818, 4179864
CL 4179921, 4179956, 4180229, 4180268, 4180298, 4182733, 4183548, 4184684, 4186883, 4187230, 4189420, 4189995, 4190527, 4190721
SKIP - 4191085
CL 4192219
SKIP 4195948
CL 4197287, 4197951, 4197956, 4201351, 4202541, 4202544, 4202547
SKIP 4202774
CL 4203462, 4203484
SKIP 4204670
CL 4206823, 4209729, 4209810, 4211003, 4215367, 4215662, 4215892, 4215898, 4220239, 4220257
SKIP 4220295
CL 4220307
SKIP 4221842
CL 4221866, 4222959, 4223772, 4225943
SKIP 4226329, 4227773
CL 4228213, 4228270
SKIP 422902, 4229054, 4229365, 4230881, 4233277
Change 4235969 by Joe.Conley
MagicLeap: Add quotes around the path to the tools (clang etc) in the mlsdk directory, so that it won't fail if the MLSDK directory has a space in the path.
Change 4239300 by Nick.Whiting
Adding missing uplugin file to GoogleARCoreServices
Change 4240183 by Keli.Hlodversson
Updating to SteamVR 1.0.16
Change 4241714 by joe.conley
#jira UE-62189 - "Various QAARApp/Content/...uassets have been saved with empty engine version"
Resaved assets.
Change 4242300 by Nick.Whiting
Fix for ARCore Tools being in the wrong folder, emitting RuntimeDependency ref to make sure they're properly included
#jira UE-62277
Change 4244428 by Mike.Beach
Copying //UE4/Partner-Oculus-Staging to Dev-VR (//UE4/Dev-VR)
Change 4244671 by Jeff.Fisher
Fxing 'Lumi" build break.
Change 4247283 by Nick.Whiting
Merging fix from CL 4247094 for ARCore external dependency locations
Change 4255817 by Ryan.Vance
#jira UE-58854
Vulkan Shared Texture Media Framework support cleanup
Don't leak vk color conversion handles and only allocate if needed
Move color conversion device init to a lumin platform call
Add immutable sampler state to mobile base pass policy comparison
Remove WITH_VULKAN_COLOR_CONVERSIONS wrappers around color conversion code
TODO: FVulkanDescriptorSetsLayoutInfo::AddBindingsForStage still uses the first combined image sampler found when handking materials w/ immutable sampelrs which is not robust. The correct binding needs to be selected from reflection data generated by the compiler.
Change 4256021 by Jeff.Fisher
UEVR-1261 MagicLeap HandTracking should be exposed to LiveLink
-Exposed hand tracking transforms through live link.
-Added blueprint function to get the livelink source.
-Exposed LiveLikeSourceHandle through ILiveLinkSource.h so that it can be used by the MagicLeapPlugin.
-The transforms are in tracking space. They form a hierarchical skeleton with HandCenter as the root. See FMagicLeapHandTracking::SetupLiveLinkData() for details on the hierarchy. With the current magicleap runtime functionality many transforms in the skeleton are always identity.
#jira UEVR-1261
#review-4248322
Change 4258366 by Jeff.Fisher
UE-62494 Dev-VR Editor fails to build with errors related to MagicLeapHandTrackingLiveLink.cpp
-Fixed build break
Change 4260114 by Ryan.Vance
#jira UE-62509
Moving color conversion vk entry points to lumin platform to avoid failing to find them in android drivers.
Change 4263040 by Ryan.Vance
Fixing scope issue.
Change 4263556 by Jeff.Fisher
UE-62507 Fatal error crash opening packaged QAGame
UE-62544 //UE4/Dev-VR - Run Automated Tests Cooked Win64 - Unhandled Exception
-Updated #define OPENVR_SDK_VER TEXT("OpenVRv1_0_16")
#jira UE-62507
Change 4265161 by Jason.Bestimt
#DEV-VR - Fix for Lumin BP Projects not using their project specific ini files for compiling/cooking/packaging
#JIRA: UE-62568
Change 4265739 by Ryan.Vance
Marker API override for ML VK.
The current ML driver unofficially supports debug markers, but will report the extension unsupported if queried directly.
Once they add official support, we need to add the extension name back into the list.
Change 4267320 by Ryan.Vance
We need to add the debug marker extension for all platforms but Lumin.
Change 4268149 by Michael.Trepka
Fix for Lumin Toolchain failing to compile on Mac due to changes to the SDK
[CL 4268410 by Jason Bestimt in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3795481 by Nick.Shin
HTML5 - disable SupportsScreenPercentage() - render the full screen
otherwise, this is causing HTML5 screen to only render a portion of the screen and in black...
- there may be another function is that not getting fired off "to render the screen" properly
- this may be due to IsMobileHDR checks that are not fully accounted for the HTML5 platform
#jira UE-52640 HTML5 only renders a black rectangle in the browser when launched
Change 3807007 by Nick.Shin
HTML5 - remove webgl1 only precompile guards (UE4_HTML5_TARGET_WEBGL2)
toolchain can "fallback" to webgl1 -- webgl2 functions in UE4 code are "if checked"/configured/setup at start up
#jira UE-51267 WebGL1 fails to compile
Change 3822593 by Nick.Shin
#jira UE-27141 Remove all #if PLATFORM_HTML5 from high level code
Change 3823512 by Nick.Shin
#jira UE-27141 Remove all #if PLATFORM_HTML5 from high level code
Change 3824639 by Nick.Shin
HTML5 - OSX - RunMacHTML5LaunchHelper.command
- more helpful warning messages
#jira UE-49861 A copied RunMacHTML5LaunchHelper.command gives unspecific Mono error
Change 3829092 by Josh.Adams
- Updated UnrealRemote to 1.4.1
Change 3832708 by Chris.Babcock
Allow UE4Commandline.txt in APK
#jira
#ue4
#android
Change 3835867 by Nick.Shin
HTML5 - code cleanup
origial work was for: UE-27141 (Remove all #if PLATFORM_HTML5 from high level code)
this exposed an issue that i totally forgot about (.../Engine/Source/Developer/... only does builds tools -- which does not make use of PLATFORM_XXX preprocessor)
tested with HTML5 builds with QAGame project :: TM-ShaderModels map
#jira UE-53524 UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning
Change 3839967 by Mi.Wang
Override MaxObjectInGame on Android to save ~30M with the ObjectArray size.
#Android
Change 3842022 by Mi.Wang
Fix an AssetRegistry size calculation bug.
Change 3843552 by Sorin.Gradinaru
UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled
#4.19
#Android
#jira UE-54139
S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash.
Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags)
Change 3844210 by Nick.Shin
HTML5 - filter out "windows/super" keys - these are not used in UE4
- but, keycode are not the expected "91 or 92" values, SDL keys are "227 & 231" instead...
#jira UE-54056 HTML5 crashes inside browser upon pressing windows key
Change 3844874 by Nick.Shin
HTML5 - detect "SyntaxError: " and do a forced reload
- an actual syntax error would be caught during compile time
- this is usually error condition is usually seen when browser is running "old/partial" cached data and it's fairly safe to just reload the page
#jira UE-54017 QAGame fails to launch properly on HTML5 Firefox 64 bit
Change 3846695 by Nick.Shin
#jira UE-53524 UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning
Change 3847309 by Nick.Shin
HTML5 - (not to) show virtual joystick
- virtual joysticks are not shown by default-- and the mouse not captured
- this now behaves like the win64 client version
#jira UE-33854 Virtual Joysticks In HTML5 if Mobile/Tablet Project is chosen
Change 3847310 by Nick.Shin
HTML5 - set controller axis and button max value in code instead of relying on emscripten_get_gamepad_status()
- seems emscripten might be uninitialized by the time controlers are used...
#jira UE-28513 - Using a controller in HTML5 causes error
Change 3850606 by Nick.Shin
HTML5 - more static warning fix ups
#jira UE-53524 UE4Editor Static Analysis Win64 (MSVC) - 1 repeat warning
Change 3850624 by Nick.Shin
HTML5 - tell user/developer to show unsupported WebGL browsers on old hardware -- will need to try another browser
note: using following jira to track progress:
#jira UE-47066 Packaged HTML 5 Map Prompts for Firefox Update in Chrome
Change 3855610 by Sorin.Gradinaru
UE-49173 Progress bar causes black screen on iOS
#iOS
#4.20
#jira UE-49173
The bug occurs on iOS with Metal, when the last Slate element to be draw in the scene is a ScrollBar with progress between 0 and 1.
As a workaround, adding another widget (eg. button, image) in the Blueprint solves the problem.
The bug can be reproduced by adding OutDrawElements.PushClip & OutDrawElements.PopClip in any SWidget::OnPaint.
The solution is to disable the scissor
RHICmdList.SetScissorRect(false, 0, 0, 0, 0);
in FSlateRHIRenderingPolicy::DrawElements after the batch rendering
Change 3855652 by Sorin.Gradinaru
iOS 3D browser
UE-53248 Web Browser on a Widget Component is 2D when launching on to iOS
#jira UE-53248
#iOS
#4.20
Uses the same WebTexture from the WebBrowser plugin as the Android version.
+ Code contributed by Juan.Belon from Alea S.r.l at https://udn.unrealengine.com/questions/390166/3d-world-space-widget-is-being-rendered-in-screen.html
Change 3856174 by Nick.Shin
HTML5 - python forking will still error while trying to terminate already terminated processes
- added same "WindowsError code 5" handler found in subprocess.py
#jira UE-51618 HTML5 fails to build, [Error 5] Access is denied
Change 3863322 by Sorin.Gradinaru
UE-54317 DXT apps fail on first launch when 'For Distribution' enabled, Unsupported Texture Format
#jira UE-54317
#Android
#4.19
Change 3878088 by Nick.Shin
UEMOB-425 superceeds this jira
#jira UE-25257 Mac HTML5 project crashes upon downloading expression HasFoundDataDirectory failed
Change 3884560 by Jack.Porter
Fix logspam in FAVMoviePlayer
#jira UE-54760
Change 3886533 by Mi.Wang
Fix a potential crash that the VirtualKeyboardWidget has been hide while trying to use in gamethread.
Change 3889081 by Sorin.Gradinaru
UE-54490 Android Startup Movie audio still playing when app paused, and after app resumed the movie is blackscreen until engine ticked.
#Android
#4.20
#jira UE-54490
Call ForceCompletion for the intial movie player on onPause.
Call App Restart on Resume.
Programmatically restarting an Android application basically consists in killing the current app, then using the launch intent as parameter for startActivity.
This can be done only in onResume , which means that the movie player still has to be manually paused/stopped in onPause.
I╞ve tried to kill the activity on onPause, tested on several devices, with various problems: the app doesn╞t restart anymore (onResume is not called) or the app is automatically sent to background (seems to be crashing when using the multitasking soft key).
Change 3890320 by Chris.Babcock
Fix initializer ordering
#jira UE-55189
#ue4
Change 3958226 by Nick.Shin
HTML5 disable memory poison tests
and fix a bug during Realloc() // for Linux... and in turn for HTML5
#jria none
Change 3958250 by Nick.Shin
HTML5 - FText::FormatStr - skip if multi-threading not supported
#jira none
Change 3968328 by Nick.Shin
HTML5 CORS fixes
still need datarouter.ol.epicgames.com fixes to completely solve these issues. (API server own estimates no later than mid-April)
note: the following are all related:
+ answerhub 756723 - HTML5 CORS / Access-Control-Allow-Headers
+ answerhub 756942 - HTML5 CORS Issue to my Hosts API / Hosted Server
+ UE-22285 - Session events are not generated for HTML5
+ UE-19330 - HTML5 Analytics cross-origin request blocked header Access-Control-Allow-Origin missing
#jira UE-19330
Change 3971405 by Nick.Shin
HTML5 suppress double printing to console.log
#jira none
Change 3978767 by Nick.Shin
HTML5 CORS fixes
note: the following are all related:
+ answerhub 756723 - HTML5 CORS / Access-Control-Allow-Headers
+ answerhub 756942 - HTML5 CORS Issue to my Hosts API / Hosted Server
+ UE-22285 - Session events are not generated for HTML5
+ UE-19330 - HTML5 Analytics cross-origin request blocked header Access-Control-Allow-Origin missing
tested (against datarouter.ol.epicgames.com fixes) and found to be functional
#jira UE-22285
Change 3981103 by Nick.Shin
HTML5 - num pad keys crashes project
match latest Engine/Source/Runtime/InputCore/Private/Linux/LinuxPlatformInput.cpp to HTML5PlatformInput.cpp
also fix a HUD crash...
#jira UE-54056 HTML5 crashes inside browser upon pressing windows key
Change 3983424 by Sorin.Gradinaru
UE-57107 Attempting to load a streamed media source causes the app to become unresponsive when device is not connected to internet
#jira UE-57107
#Android
#4.20
The ANR is because the android.media.MediaExtractor.setDataSource(UrlPath) calls an underlying api which retries the download (10-30 times).
Additional issue (all platforms): the MediaFrameworkTest/StreamSource_Infiltrator souce seems to have been removed (no longer at https://docs.unrealengine.com/latest/attachments/Engine/MediaFramework/HowTo/StreamMediaSource/Infiltrator%20Demo.mp4). According to the docs (https://docs.unrealengine.com/en-US/Engine/MediaFramework/HowTo/StreamMediaSource) the new location of the Sample Video is at https://dnnrz1gqa.blob.core.windows.net/portals/attachments/Engine/MediaFramework/HowTo/StreamMediaSource/Infiltrator%20Demo.mp4?sr=b&si=DNNFileManagerPolicy&sig=F%2BBpnYueeQTUTSW0nCRSrXEfr35LIawe7C3MQoe2%2FPI%3D
Change 3985248 by Nick.Shin
HTML5 game window size
add project setting drop down box to select canvas scaling mode
#jira UE-46555 HTML5 game window does not scale with browser size
Change 3986190 by Sorin.Gradinaru
UE-56076 Android Launch On "Running..." toast intermittently doesn't appear
#jira UE-56076
#Android
#4.10
When cancelling Launch on Device, always call CancelContinuations for the current task
Change 3986412 by Nick.Shin
CIS error fix
#jira none
Change 3987007 by Nick.Shin
HTML5 fullscreen size fix
- when using FIXED scale mode initially, there's some strange padding margins
- but, setting UE4_fullscreenScaleMode to anything "but FIXED scale mode" will work...
#jira UE-46555 HTML5 game window does not scale with browser size
Change 3988408 by Nick.Shin
HTML5 call EndSession() onbeforeunload()
? should PreExit() be called instead?
#jira UE-57207 Session End event is not generated for HTML5
Change 3991828 by Nick.Shin
HTML5 shipping build crash
some FVector2D needs ContainsNaN() checks
#jira UE-57401 Projects packaged for Shipping HTML5 do not launch the engine in the browser
Change 3992884 by Nick.Shin
HTML5 call EndSession() onbeforeunload() code cleanup
#jira UE-57207 Session End event is not generated for HTML5
Change 3992887 by Nick.Shin
datarouter: Session events code cleanup
#jira UE-22285 - Session events are not generated for HTML5
Change 4002603 by Sorin.Gradinaru
UE-56177 Unplugging a device while launching onto it from a source build will result in the "Running..." toast staying open
#jira UE-56177
#Android
#iOS
#4.10
Using the device discovery to signal when the running device gets disconnected
Change 4007162 by Dmitriy.Dyomin
Merging using Dev-Mobile->FortMain
Added ObjectOrientation material node for decals, returns decal projection direction ( X-axis)
#jira none
Change 4012196 by Sorin.Gradinaru
UE-57120 Lighting needs to be rebuilt error appears on Camera test app on Nexus 9 and Note 4.
#jira UE-57120
#Android
#4.20
Level lightings rebuilt and QA-Media_Camera_BuiltData.uasset added.
The message appeared (rarely and only on certain devices) because the engine tries to load the pre-computed lightmap data on the render thread, then to add it to the scene on the game thread (in FPrecomputedVolumetricLightmap::AddToScene).
Most of the times there is a desync and the data is not yet loaded when the lightmap is validated (in FScene::AddPrecomputedVolumetricLightmap).
Change 4013034 by Sorin.Gradinaru
UE-55427 iOS application crashes when suspending and resuming the startup movie in rapid succession
#jira UE-55427
#iOS
#4.20
Caused by ToggleSuspend waiting for FDefaultGameMoviePlayer::WaitForMovieToFinish()
Renamed InitialMovie to StartupMovie, including the methods related to the Android platform.
Change 4015449 by Sorin.Gradinaru
UE-38306 "Running xxx on yyy" panel Cancel button should terminate app
#jira UE-38306
#Android
#4.10
Run on device: Pressing Cancel on the "Running..." message should stop the application, if running
Cancel Android builds using "adb shell am force-stop <bundle_id> <device_id>"
Note: Using a new AutomationTool command (re-starting the Automation tool after canceling the BuildCookRun task chain) is too slow - takes 3-10 sec depending on the PC configuration.
AutomationTool is used now only to correctly retrieve the bundle id for each Android device. This is done inside the BuildCookRun command when the application is deployed on the device(s). Cannot simply use the current project's properties to retrieve the bundle id, because when using Launch-> Device Launcher, the user can choose to cook&deploy a different project/texture format, also the user can create & use a profile with multiple devices / with different texture formats.
Change 4016057 by Sorin.Gradinaru
UE-57845 GitHub 4666 : Pull request clipboard on android
#jira UE-57845
#4.20
#Android
#4666https://github.com/EpicGames/UnrealEngine/pull/4666
Implemented Clipboard function on Android.
Change 4020229 by Sorin.Gradinaru
UE-57845 GitHub 4666 : Pull request clipboard on android
#jira UE-57845
#Android
#4.20
GameActivity.java: moving the methods related to clipboard above the native public declarations
Change 4021188 by Sorin.Gradinaru
UE-57876 Location accuracy is ignored by ULocationServicesIOSImpl
#jira UE-57876
#iOS
#4.30
In ULocationServicesIOSImpl::InitLocationServices(ELocationAccuracy Accuracy, float UpdateFrequency, float MinDistance) the first param must be converted to CLLocationAccuracy and used as the first param of LocationDelegateinitLocationServices, rather than using the hardcoded kCLLocationAccuracyHundredMeters.
Also fixed a compilation error (!) when enabling The Location Services plugin on iOS
Change 4024839 by Sorin.Gradinaru
UE-38306 "Running xxx on yyy" panel Cancel button should terminate app
#jira UE-38306
#Android
#4.10
Removed unnecessary #include "AndroidTargetDevice.h", causing circular reference => nightly build errors
Change 4024962 by Cosmin.Sulea
UE-56294 - Packaging step fails when packaging project for distribution
#jira UE-56294
Change 4026122 by Sorin.Gradinaru
UE-57149 Razer Phone: Crash after Switching Camera Format 22-26 times
#jira UE-57149
#Android
#4.20
jobject obj = env->GetObjectArrayElement must be followed by env->DeleteLocalRef(obj)
The bug can probably be reproduced by using a MediaPlayer.
Change 4038185 by Nick.Shin
HTML5 - merge error fix
MallocAnsi.cpp was stomped on
#jira UE-58367 //UE4/Dev-Mobile - Compile UE4Game HTML5 - use of undeclared identifier 'malloc_usable_size'
Change 4039521 by Dmitriy.Dyomin
Export WorldBrowser API so plugin makers can use it
#jira UE-57323
Change 4039523 by Dmitriy.Dyomin
Exposed MobilePatchingLibrary API
#jira UE-55941
Change 4039526 by Dmitriy.Dyomin
Fixed: Hierarchy filtering does not work in world composition
#jira UE-57900
Change 4039529 by Dmitriy.Dyomin
Fixed: 'Apply Fogging' in Material does not work on Mobile (GitHub 4357)
#jira UE-53618
#4357
Change 4039874 by Sorin.Gradinaru
UEMOB-436 Support "All Android" Launch On and Project Launcher options
The main change is in the DeviceProxy class.
A new type ("All devices" proxy) was added, and the proxy now holds a list of physical device IDs for every variant (texture format), instead of a single device ID.
The "All devices" proxy is updated automatically by the device discovery thread.
The change was necessary because the list in the Project Launcher is using the device proxy list.
#jira UEMOB-436
#Android
#UE4
#4.19
Change 4041446 by John.Mauney
Fix that Chris B made locally on my machine
#jira UE-58420
Change 4041791 by Jack.Porter
Fix CIS incremental UE4Editor Win64
#jira 0
[CL 4047603 by Jack Porter in Main branch]
#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]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3386262 on 2017/04/10 by Ben.Marsh
Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path.
Change 3386999 on 2017/04/10 by Ben.Marsh
Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on.
Change 3387073 on 2017/04/10 by Ben.Marsh
Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin.
Change 3387988 on 2017/04/11 by Steve.Robb
Comments added to clarify the role of DestructItem and DestructItems.
Change 3388085 on 2017/04/11 by Ben.Marsh
UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT.
Change 3390048 on 2017/04/12 by Richard.Hinckley
#jira UE-43876
Fixed description of Streaming settings (within Project Settings).
Change 3390697 on 2017/04/12 by Steve.Robb
CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed.
Change 3390711 on 2017/04/12 by Steve.Robb
AGRESSIVE_ARRAY_FORCEINLINE removed.
Change 3392167 on 2017/04/13 by Robert.Manuszewski
UObject can be added to GC cluster only if all of its Outers can also be added to it.
Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters.
#jira UE-42948
Change 3392309 on 2017/04/13 by Robert.Manuszewski
When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it.
Change 3392620 on 2017/04/13 by Ben.Marsh
UGS: Only check for updates every 5 minutes.
Change 3392623 on 2017/04/13 by Ben.Marsh
UGS: Only poll for new changes every 60 seconds.
Change 3392744 on 2017/04/13 by Ben.Marsh
UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load.
Change 3392874 on 2017/04/13 by Ben.Marsh
UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc...
Change 3392878 on 2017/04/13 by Ben.Marsh
Update UGS to version 1.96
Change 3395635 on 2017/04/17 by Ben.Marsh
UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command.
Change 3395655 on 2017/04/17 by Ben.Marsh
UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded.
Change 3396989 on 2017/04/17 by Wes.Hunt
CrashReporter configurable tweaks.
* Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min).
- When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min.
- Zero means never alert.
* Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day).
- Interval by which to report disk space availability.
- Default is never (Zero)
* Updated config file to match production config.
#codereview:jin.zhang
Change 3397656 on 2017/04/18 by Ben.Marsh
UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file.
Change 3397677 on 2017/04/18 by Robert.Manuszewski
PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym)
Change 3397722 on 2017/04/18 by Robert.Manuszewski
PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist)
Change 3397739 on 2017/04/18 by Richard.Hinckley
#jira UE-44100
Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating.
Change 3398023 on 2017/04/18 by Ben.Marsh
PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist)
Change 3398095 on 2017/04/18 by Ben.Marsh
PR #3051: Generate map file from UAT (Contributed by projectgheist)
Change 3398212 on 2017/04/18 by Ben.Marsh
PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist)
Change 3399304 on 2017/04/19 by Ben.Marsh
UGS: Prevent editor target files being removed when running custom tools.
Change 3399306 on 2017/04/19 by Robert.Manuszewski
Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe
Change 3399729 on 2017/04/19 by Steve.Robb
Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array.
RemoveAtSwap() now simply decrements the count instead of calling RemoveAt().
Checks for a positive count added to RemoveAt() and RemoveAtSwap().
Change 3399750 on 2017/04/19 by Jin.Zhang
Order branch alphabetically #RB
Change 3400186 on 2017/04/19 by Steve.Robb
Per-header generated code.
Change 3401458 on 2017/04/20 by Steve.Robb
Static log categories moved out of headers to prevent duplicates when the header is included multiple times.
#jira UE-37507
Change 3401657 on 2017/04/20 by Gil.Gribb
UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme.
Change 3401735 on 2017/04/20 by Gil.Gribb
UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms.
Change 3403362 on 2017/04/21 by Steve.Robb
Algo::Sort() fixed to support C arrays.
Size+count versions of Also::IsSorted() deprecated.
Algo::IsSortedBy() added.
Algo::FindBy() added to allow an element to be found by projection.
Simplifications and generalizations.
Change 3404017 on 2017/04/21 by Ben.Marsh
Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins.
Change 3405299 on 2017/04/24 by Steve.Robb
Clarified the class of the incompatible function in the error message about incompatible BP event specifiers.
#jira UE-35106
Change 3405302 on 2017/04/24 by Ben.Marsh
UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file.
Change 3405629 on 2017/04/24 by Ben.Marsh
Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name.
Change 3406431 on 2017/04/24 by Ben.Marsh
UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present.
Change 3406670 on 2017/04/24 by Ben.Marsh
UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang).
Change 3407080 on 2017/04/25 by Gil.Gribb
UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull.
Change 3407486 on 2017/04/25 by Gil.Gribb
UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads.
Change 3407495 on 2017/04/25 by Gil.Gribb
UE4 - Tweaked out XBox and Windows low level file IO.
Change 3407497 on 2017/04/25 by Gil.Gribb
UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads.
Change 3407705 on 2017/04/25 by Ben.Marsh
Removing most of the junk in DotNETUtilities.
Change 3409701 on 2017/04/26 by Ben.Marsh
Disable another static analyzer warning for third party libraries.
Change 3410074 on 2017/04/26 by Daniel.Lamb
Network platform file runs heart beats and responds to modified file changes.
Cook on the fly server in the editor (COTS) now detects changes to content and notifies client.
Fixed issue with network platform file not using correct sandbox.
#test cook on the side shootergame
Change 3411131 on 2017/04/27 by Steve.Robb
TIsTriviallyDestructible now supports forward-declared enums.
Change 3411186 on 2017/04/27 by Steve.Robb
Fix for #includes in generated code for Within classes which are in a different module from the generated class.
Change 3411917 on 2017/04/27 by Steve.Robb
Fixes to pushing/popping the CPP macro.
Change 3411966 on 2017/04/27 by Steve.Robb
Include spam reduced in generated code.
Change 3412155 on 2017/04/27 by Ben.Marsh
Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians.
Change 3412223 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Calling SetHelperA.Num() twice.
Change 3412273 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Duplicated variable name.
Change 3412511 on 2017/04/27 by Ben.Marsh
PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff)
Change 3412582 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code
Change 3413136 on 2017/04/28 by Robert.Manuszewski
Helper functions for dissolving specific GC clusters
Change 3413310 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code.
Change 3413341 on 2017/04/28 by Gil.Gribb
UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame.
Change 3413351 on 2017/04/28 by Ben.Marsh
Include code analysis macros directly from Platform.h, so that macros are available to everything.
Change 3413352 on 2017/04/28 by Ben.Marsh
Fixing a few more PVS studio warnings.
Change 3413437 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Comparison is always true.
Change 3413759 on 2017/04/28 by Ben.Marsh
Suppressing warnings for PVS-Studio.
Change 3413784 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning.
Change 3413898 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning: Same conditional is checked twice.
Change 3413915 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning: LHS of expression is identical to RHS.
Change 3413989 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block.
Change 3414053 on 2017/04/28 by Ben.Marsh
More PVS-Studio fixes.
Change 3414062 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed.
Change 3414070 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Fix incorrect condition.
Change 3414071 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Array index is always zero.
Change 3414116 on 2017/04/28 by Ben.Marsh
BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute.
Change 3414160 on 2017/04/28 by Ben.Marsh
Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout.
Change 3414237 on 2017/04/28 by Ben.Marsh
EC: Allow disabling and enabling the log preprocessor via special markers in the log.
To disable: <-- Suspend Log Parsing -->
To enable: <-- Resume Log Parsing -->
Change 3414343 on 2017/04/28 by Ben.Marsh
UBT: Exclude ThirdParty folders from PVS output.
Change 3414392 on 2017/04/28 by Ben.Marsh
Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory.
Change 3414459 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Object goes out of scope without being freed.
Change 3414495 on 2017/04/28 by Ben.Marsh
Suppress some more PVS-Studio warnings.
Change 3414514 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead.
Change 3414526 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Variable assigned to itself has no effect.
Change 3415183 on 2017/04/29 by Ben.Marsh
Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS.
Change 3415765 on 2017/05/01 by Ben.Marsh
Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not.
Change 3415853 on 2017/05/01 by Ben.Marsh
EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created.
Change 3416138 on 2017/05/01 by Ben.Marsh
Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that.
Change 3416309 on 2017/05/01 by Ben.Marsh
Build: Fix node names for static analysis.
Change 3416360 on 2017/05/01 by Ben.Marsh
UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows.
Change 3416398 on 2017/05/01 by Daniel.Lamb
Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed.
#test Cook on the side shootergame.
Change 3416826 on 2017/05/01 by Daniel.Lamb
Added callback to game when files are requested reload from networkfileserver.
Game will need to unload / reload effected objects.
Working on simple reload capability in shootergame.
#test Cook on the side shootergame with reloading
Change 3417983 on 2017/05/02 by Ben.Marsh
EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern.
Change 3418747 on 2017/05/02 by Steve.Robb
Fix for const pointer properties.
Fix for UHT debugging manifest.
Test added for pointer properties.
Change 3420477 on 2017/05/03 by Gil.Gribb
UE4 - Removed check from windows async IO layer.
[CL 3421020 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
Device Services Refactoring to create the concept of a physical device.
Game launcher and device viewer UI changes to show these new concepts.
#codereview Max.Preussner, Matt.Kuhlenschmidt
[CL 2290918 by Chris Gagnon in Main branch]
Please note that file comments had no purpose in nearly all cases and just added visual clutter. The two files that had meaningful file comments had their comments moved into the corresponding classes. There are still hundreds of file comments left in other files that will be removed over time.
Also cleaned up some random stuff along the way:
- relative paths to public headers within the same module are no longer necessary (automatically discovered by UBT now)
- header guards are deprecated, use #pragma once instead (all compilers support it now)
- space between multiple template brackets is no longer required (all compilers support >> now)
- NULL to nullptr, OVERRIDE to override
- spelling errors, whitespace, line breaks
[CL 2104067 by Max Preussner in Main branch]