Commit Graph

11 Commits

Author SHA1 Message Date
Andriy Tylychko
2a295eb685 deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau

[CL 17176325 by Andriy Tylychko in ue5-main branch]
2021-08-16 11:05:18 -04:00
mihnea balta
3612d0737d Fixing lots of places which created USTRUCTs with operator new and passed them to FMessageEndpoint::Publish or Send, wich crashes when ASAN is used.
The messaging system destroys these objects with FMemory::Free, which has different alignment logic than operator new when ASAN is used, resulting in a crash.

#jira none
#rnx
#rb Jerome.Delattre, Matt.Peters

[CL 17116813 by mihnea balta in ue5-main branch]
2021-08-10 10:56:07 -04:00
Josh Adams
d8ee16dd3c - Disabled the editor device sharing between machines/copies of the editor, but only broadcasting the Ping message to the current Process (instead of Network). Doesn't remove any code complexity, but is a safe solution
#jira 97514

[CL 14181868 by Josh Adams in ue5-main branch]
2020-08-25 14:43:09 -04:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#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]
2019-12-26 15:32:37 -05:00
johan torp
34437af335 Fixed intermittent launch failures when cook-on-the-fly is used.
A timeout deletes target devices if they fail to respond in 7.5s. The timeout logic was flawed and triggered when the device manager wasn't pumped for 7.5s - even though ping responses came in very quickly. The new logic clears the timeout on a ping response.

Note that there is still a >10s long editor freeze during which the network filesystem seems to clear its cache. There is LogNetworkPlatformFile log spam like below during the freeze:
  Deleting cached file: ... Module.RawInput.gen.cpp
  Deleting cached file: ... Module.RawInput.gen.cpp.obj
  Deleting cached file: ... Module.RawInput.gen.cpp.old
  Deleting cached file: ... Module.RawInput.gen.cpp.txt
  Deleting cached file: ... UE4Editor-RawInput.exp
  Deleting cached file: ... UE4Editor-RawInput.lib

Bonus drive-by changes: Fixed a  memory leak and aligned up some allocations.

#jira UE-78331
#rb graeme.thornton

(ushell-p4-cherrypick of 7840548 by Johan.Torp)

#ROBOMERGE-SOURCE: CL 7949261 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v391-7919777)

[CL 7949262 by johan torp in Main branch]
2019-08-12 03:54:48 -04:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
arciel rekman
17068f6bfb Fix allocator inconsistencies in TargetDeviceProxyService.
- Flagged by ASan on Linux.

#rb none
#jira none
[FYI] Francis.Hurteau

#ROBOMERGE-SOURCE: CL 4477960 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4477961 by arciel rekman in Staging-4.21 branch]
2018-10-16 22:34:34 -04:00
Marc Audy
d90da4ab1a Merge to Dev-Main for 4.20 @ 4090813
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4091081 by Marc Audy in Main branch]
2018-05-23 21:04:31 -04:00
Jack Porter
fa01e8b4b6 Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 4047413)
#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

	#4666

	https://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]
2018-05-02 22:53:38 -04:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Max Chen
569ae6bcb9 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