Files
UnrealEngineUWP/Engine/Source/Runtime/AutomationWorker/Private/AutomationWorkerModule.h

166 lines
6.1 KiB
C
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642) #lockdown nick.penwarden #rb none Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3259266 on 2017/01/16 by Max.Preussner Core: Added timespan ratio Change 3267229 on 2017/01/21 by Max.Preussner Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed Change 3274773 on 2017/01/27 by Max.Preussner Core: Added TLruCache template Change 3281579 on 2017/02/01 by Max.Preussner Core: Added scalar division to FTimespan Change 3289522 on 2017/02/07 by Max.Preussner MediaAssets: Added looping for play lists Change 3290664 on 2017/02/07 by Max.Preussner Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes. Change 3290688 on 2017/02/07 by Max.Preussner MediaAssets: Notifying materials when media texture properties changed. Change 3291171 on 2017/02/07 by Max.Preussner MediaAssets: Filtering unused UTexture properties Change 3291229 on 2017/02/07 by Max.Preussner ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0 Change 3298520 on 2017/02/11 by Max.Preussner Sequencer: Fixed skylight and reflection components off by one frame in PIE Change 3298778 on 2017/02/12 by Max.Preussner MediaUtils: Experimenting with dynamic pitch adjustment Change 3298987 on 2017/02/13 by Max.Chen Editor: Add matrix and transform properties to property editor test object Change 3298997 on 2017/02/13 by Max.Chen Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties - Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified) - Added percentage unit type - Multiplier unit types can now be converted between Change 3298998 on 2017/02/13 by Max.Chen Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible Change 3348678 on 2017/03/15 by Max.Preussner Media: Added Buffering media event Change 3355268 on 2017/03/20 by Max.Preussner Core: TQueue documentation updates Change 3359055 on 2017/03/22 by Max.Preussner Portal: Removed dependency to Messaging.h Change 3359060 on 2017/03/22 by Max.Preussner Messaging: Modernization pass - added missing includes & forward declarations - include what you use - deprecated shared pointer typedefs - replaced some delegates with callback interfaces - documentation fixes Change 3359189 on 2017/03/22 by Max.Preussner Automation: Modernization pass - include what you use - removed molothic header - documentation fixes #upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory Change 3359718 on 2017/03/22 by Max.Preussner Messaging: Moved common helper classes into MessagingCommon module #upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon"). Change 3359793 on 2017/03/23 by Max.Preussner TargetDeviceServices: Modernization pass - include what you use - removed boilerplate header - deprecated selected shared pointer typedefs - reorganized files - documentation fixes Change 3361028 on 2017/03/23 by Max.Preussner DeviceManager: Modernization pass - include what you use - reduced shared pointer typedef usage - documentation fixes Change 3361197 on 2017/03/23 by Max.Preussner Messaging: Waking up message router thread on shutdown Change 3361246 on 2017/03/23 by Max.Preussner AutomationWindow: Removed boilerplate header #upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h Change 3361428 on 2017/03/23 by Max.Preussner AutomationController: Removed boilerplate header #upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions. Change 3363206 on 2017/03/24 by Max.Preussner ProfileLauncher: Modernization pass - include what you use (selected files) - reduced shared pointer typedef usages - removed dead code - cleaned up file organization - documentation fixes Change 3363290 on 2017/03/24 by Max.Preussner LauncherServices: Removed boilerplate header #upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes Change 3363305 on 2017/03/24 by Max.Preussner LauncherCheck: Removed boilerplate header #upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions Change 3363708 on 2017/03/24 by Max.Preussner ImageWrapper: Removed boilerplate header #upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes Change 3363966 on 2017/03/24 by Max.Preussner ImageWrapper: Modernization pass - include what you use - reorganized internal files - documentation fixes Change 3364579 on 2017/03/24 by Max.Preussner ImageWrapper: Deprecated shared pointer typedef and removed usages #upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr Change 3364582 on 2017/03/24 by Max.Preussner NetworkFileSystem: Removed monolithic boilerplate header #upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes Change 3381440 on 2017/04/05 by Max.Preussner Oculus: Removed illegal pragmas Change 3391731 on 2017/04/12 by Max.Preussner ImgMedia: Added support for BMP, JPG and PNG image sequences Change 3401146 on 2017/04/19 by Max.Preussner Core: Cleanup pass for FTimespan usages; updated documentation When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make your code easier to read and understand. Change 3401504 on 2017/04/20 by Max.Preussner MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds Change 3401833 on 2017/04/20 by Max.Preussner Core: Various improvements to FTimespan - added proper serialization - updated documentation - access fractions as milli-, micro- or nanoseconds - removed the following string formatters as they were not useful: %D %H %M %S %F - updated documentation #upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign. #jira UE-43990 #jira UE-44163 Change 3437543 on 2017/05/12 by Max.Preussner PS4Media: Added audio error codes conversion Change 3446564 on 2017/05/18 by Max.Preussner Networking: Fixed nullpointer crash if socket initialization fails Change 3459978 on 2017/05/25 by Max.Preussner ImgMedia: Renamed frame cache to frame loader Change 3463311 on 2017/05/26 by Max.Preussner Core: Added iterators & predicate based methods to LRU Cache Change 3464452 on 2017/05/29 by Max.Preussner ImgMedia: Added video sample output Change 3464468 on 2017/05/29 by Max.Preussner Media: Added separate cache visualization for loaded and cached samples Change 3464592 on 2017/05/29 by Max.Preussner Core: Added TLruCache::FindAndTouch Change 3464607 on 2017/05/29 by Max.Preussner Core: Added TRange::Inclusive / ::Exclusive Change 3464608 on 2017/05/29 by Max.Preussner Media: Fixed incorrect upper bound in support play rates of various players Change 3466732 on 2017/05/30 by Max.Preussner ImgMedia: Added image compression type to info string Change 3466871 on 2017/05/31 by Max.Preussner WmfMedia: Fixed session capabilities not showing up; added initialization logging Change 3467785 on 2017/05/31 by Max.Preussner MfMedia: Fixed sample stride calculated from media input instead of output Change 3467963 on 2017/05/31 by Max.Preussner WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly Change 3468110 on 2017/05/31 by Max.Preussner WmfMedia: Added MPEG-2 media sub types to utils Change 3468516 on 2017/05/31 by Max.Preussner AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570) Change 3468554 on 2017/05/31 by Max.Preussner MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded Change 3468627 on 2017/05/31 by Max.Preussner ImgMedia: Allowing for auto-selection of EXR decoder thread count Change 3468648 on 2017/05/31 by Max.Preussner ImgMedia: Reorganized OpenExrWrapper files Change 3471789 on 2017/06/02 by Max.Preussner WmfMedia: Fixed potential concurrency issue in session state management Change 3472918 on 2017/06/03 by Max.Preussner Core: Allowing zero sized LRU cache; added default constructor Change 3472919 on 2017/06/03 by Max.Preussner Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching Change 3473704 on 2017/06/05 by Max.Preussner AndroidMedia: Added settings class Change 3474407 on 2017/06/05 by Max.Preussner AndroidMedia: Implemented video sample processing Change 3474934 on 2017/06/05 by Max.Preussner ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705) #jira UE-45705 Change 3476925 on 2017/06/06 by Max.Preussner Media: Added return values to media view interface; documentation fixes Change 3477158 on 2017/06/06 by Max.Preussner SwitchMedia: Implemented sample pooling Change 3477201 on 2017/06/07 by Max.Preussner PS4Media: Implemented video sample pooling Change 3481470 on 2017/06/08 by Max.Preussner Media: Fixed time stamps not set in recycled texture samples Change 3481472 on 2017/06/08 by Max.Preussner MediaAssets: Fixed no video samples fetched while player is in buffering state Change 3481473 on 2017/06/08 by Max.Preussner MediaUtils: Added default constructor to MediaSampleQueue Change 3481584 on 2017/06/08 by Max.Preussner MediaUtils: Paused state is considered forward for sample lookup as this is the common case. Change 3481588 on 2017/06/08 by Max.Preussner PS4Media: Redesigned the PS4 media player to support async file loading & track switching Change 3481627 on 2017/06/08 by Max.Preussner PS4Media: Opening media sources in thread pool if not precaching Change 3481666 on 2017/06/08 by Max.Preussner ImgMedia: Fixed SequencePath property file picker always opening default path Change 3481669 on 2017/06/08 by Max.Preussner ImgMedia: Fixed crash when quering cache state of empty image sequence Change 3481685 on 2017/06/08 by Max.Preussner ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719) #jira UE-45719 Change 3483623 on 2017/06/10 by Max.Preussner Media: Added getters for 360 view settings; added support for relative view updates Change 3483624 on 2017/06/10 by Max.Preussner Media: Added Blueprint support for 360 videos Change 3483626 on 2017/06/10 by Max.Preussner MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class. Change 3483627 on 2017/06/10 by Max.Preussner Core: Using system start time instead of current time for renamed log file names Change 3483630 on 2017/06/10 by Max.Preussner Core: Grouping log files by log name and processing each group separately when deleting old log files Change 3483816 on 2017/06/10 by Max.Preussner WmfMedia: Detecting audio device availability to prevent lockup of audio tracks Change 3483939 on 2017/06/11 by Max.Preussner AvfMedia: Finished Media Framework 3.0 upgrade - overhauled track switching - removed render thread flushes - reduced nesting - code cleanup pass Change 3483940 on 2017/06/11 by Max.Preussner Media: Consistent track switching behavior across platforms Change 3484172 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Removed obsolete asset type actions Change 3484180 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture Change 3484248 on 2017/06/11 by Max.Preussner MediaAssets: Media players now always have a playlist Change 3484249 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Added UI controls to Playlist tab Change 3484250 on 2017/06/11 by Max.Preussner Media: Implemented overlay sample caching Change 3484252 on 2017/06/11 by Max.Preussner WmfMedia: Enabled support for .smi and .sami subtitle files Change 3485433 on 2017/06/12 by Max.Preussner ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it Change 3485720 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Added ability to save playlists Change 3485828 on 2017/06/12 by Max.Preussner AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread Change 3485926 on 2017/06/12 by Max.Preussner MediaUtils: Draining all unconsumed samples at the end of a frame Change 3486043 on 2017/06/12 by Max.Preussner Media: Consistent behavior for playlist navigation (UE-45964) #jira UE-45964 Change 3486104 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Implemented simple overlay text positioning Change 3486145 on 2017/06/12 by Max.Preussner AndroidMediaPlayer: Moved video sample handling into render thread Change 3486147 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Moved overlay texts into separate layer Change 3486188 on 2017/06/12 by Max.Preussner Media: Enabling media factory modules in Editor for all players Change 3486223 on 2017/06/12 by Max.Preussner Media: Defaulting players to select first audio and video tracks by default Change 3486473 on 2017/06/13 by Max.Preussner Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing) Change 3486475 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Showing busy bar when buffering or preparing Change 3487237 on 2017/06/13 by Max.Preussner AndroidMedia: Fixed video sample not getting processed on render thread Change 3487507 on 2017/06/13 by Michael.Trepka AvfMedia - small cleanup of the code for passing video frame rate to the video sampler Change 3487719 on 2017/06/13 by Michael.Trepka Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH Change 3487842 on 2017/06/13 by Max.Preussner AndroidMedia: Fixed texture swizzle disabled on non-Engine builds Change 3488006 on 2017/06/13 by Michael.Trepka AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a file Change 3488308 on 2017/06/13 by Chris.Babcock AndroidMedia: Fixed flicker issue #jira UE-45736 Change 3488335 on 2017/06/13 by Max.Preussner MediaAssets: Made UFileMediaSource::GetFullPath public Change 3488338 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources Change 3488339 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Showing a throbber when buffering player Change 3488768 on 2017/06/14 by Max.Preussner Core: Inlined FTimespan static functions hange 3490203 on 2017/06/14 by Max.Preussner Core: Force inlined TComPtr operators Change 3494083 on 2017/06/15 by Chris.Babcock AndroidMedia: Fix playlist looping (send PlaybackEndReached event) #jira UE-46086 Change 3497017 on 2017/06/16 by Max.Preussner MediaAssets: Playlists now auto advance with PlayOnOpen off Change 3497075 on 2017/06/17 by Chris.Babcock MediaPlayer Sampler node and external texture support for Android MediaPlayer - enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL) - supports MediaSample node in material editor with scale/bias handled if above flag enabled - fixed looping problems, including eventual crashes - track switching fixed (lockups and missing video) - corrected resource leaks and crash switching maps #jira UE-46055 #jira UE-45744 #jira UE-46086 Change 3497163 on 2017/06/17 by Max.Preussner MediaUtils: Processing media events immediately if on game thread Change 3497170 on 2017/06/17 by Max.Preussner Media: All Media Framework interfaces are pure virtual Change 3498603 on 2017/06/19 by Ben.Marsh UBT: Prevent plugins which list modules multiple times from adding them twice. Change 3500870 on 2017/06/20 by Max.Preussner WmfMedia: Rewrote WMF state machine; now with track switching #jira UE-20209 #jira UE-35385 #jira UE-38337 #jira UE-45676 Change 3502181 on 2017/06/20 by Chris.Babcock MediaSampler node updates - fixed issue with ExternalTexture singleton for DLL compatiblity - now works for all players (registers texture samples with ExternalTexture by player GUID) - enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler Change 3503182 on 2017/06/21 by Max.Preussner Media: Refactored status flags into an enum; exposed connecting status Change 3503724 on 2017/06/21 by Chris.Babcock Improvement in MediaPlayer Sampler node - RGB, R, G, B, A output pins like normal texture sampler - allow preview in material editor - fix OES detection for Android Change 3509088 on 2017/06/26 by Max.Preussner MediaAssets: Added AddFile and AddUrl to UMediaPlaylist Change 3510256 on 2017/06/26 by Max.Preussner WmfMedia: Fixed play rate not set to zero when end reached Change 3510273 on 2017/06/26 by Max.Preussner MediaPlayerEditor: Removed obsolete Slate culling rectangle code Change 3510413 on 2017/06/26 by Max.Preussner MediaPlayerEditor: Showing frame rate if available Change 3510533 on 2017/06/26 by Max.Preussner MediaUtils: Preventing media cache filling up when scrubbing Change 3510859 on 2017/06/26 by Max.Preussner PS4Media: Fixed track switching crashes (UE-45960) #jira UE-45960 Change 3514173 on 2017/06/28 by Max.Preussner WmfMedia: Optimized player capabilities check Change 3514174 on 2017/06/28 by Max.Preussner WmfMedia: Moved media source resolver code into utility class Change 3514714 on 2017/06/28 by Max.Preussner Core: Added TComPointer.IsValid; code cleanup pass Change 3517912 on 2017/06/30 by Max.Preussner MediaUtils: Added GetVideoAspectRatio to player facade Change 3524957 on 2017/07/06 by Max.Preussner ImgMedia: Decoding image frames only when video track is selected Change 3525252 on 2017/07/06 by Max.Preussner ImgMedia: Async image sequence initialization Change 3525266 on 2017/07/06 by Max.Preussner ImgMedia: Enabled reverse playback Change 3525722 on 2017/07/06 by Max.Preussner WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport Change 3525800 on 2017/07/07 by Max.Preussner WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging. Change 3525801 on 2017/07/07 by Max.Preussner MediaPlayerEditor: Made scrubbing more responsive Change 3526500 on 2017/07/07 by Max.Preussner WmfMedia: Using NULL for Windows pointers Change 3527323 on 2017/07/07 by Max.Preussner WmfMedia: Added support for audio and video capture media sources Change 3530197 on 2017/07/10 by Max.Preussner WmfMedia: Added utility functions for enumerating audio and video capture devices Change 3533465 on 2017/07/12 by Max.Preussner Media: Added media capture device support API & implementation for WMF Change 3533469 on 2017/07/12 by Max.Preussner MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar Change 3533540 on 2017/07/12 by Max.Preussner MediaAssets: Blueprint support for media capture device discovery Change 3533574 on 2017/07/12 by Max.Preussner WmfMedia: Using cached supported play rates; more strict pausing support check Change 3533924 on 2017/07/12 by Max.Preussner WmfMedia: Added global LowLatency setting (UEVR-859) Note that this setting is only supported when compiling for Windows 8 or newer. Change 3534027 on 2017/07/12 by Max.Preussner WmfMedia: Compile time support for low latency session attribute on < Windows8 #jira UEVR-859 Change 3538744 on 2017/07/14 by Max.Preussner MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource Change 3542818 on 2017/07/18 by Max.Preussner WmfMedia: Fixed race condition on session shutdown Change 3543082 on 2017/07/18 by Max.Preussner WmfMedia: Fixed track selection in media that doesn't support seeking Change 3543092 on 2017/07/18 by Max.Preussner Media: Implemented media track format API Enables multiple formats per media track. By default, the first usable format is selected. This feature is currently only implemented for WmfMedia. All other players assume a single format per track. Change 3543794 on 2017/07/19 by Max.Preussner WmfMedia: Added string conversion for null GUIDs Change 3543796 on 2017/07/19 by Max.Preussner MfMedia: Copied GUID string conversion updates from WmfMedia Change 3543797 on 2017/07/19 by Max.Preussner WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support Change 3544390 on 2017/07/19 by Max.Preussner Media: Allowing INDEX_NONE as 'current selection' index in track format related functions Change 3545368 on 2017/07/19 by Max.Preussner WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting Change 3545388 on 2017/07/19 by Max.Preussner MediaAssets: Fixed RGB input sources rendered upside down Change 3545430 on 2017/07/19 by Max.Preussner MediaAssets: Fixed incorrect sRGB conversion on BMP inputs Change 3547362 on 2017/07/20 by Max.Preussner Core: Added IsGraph and IsPrint to TCHAR utilities Change 3547376 on 2017/07/20 by Max.Preussner WmfMedia: Better log messages for non-standard video types (UE-47533) #jira UE-47533 Change 3547404 on 2017/07/20 by Max.Preussner QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542) #jira UE-47542 Change 3547466 on 2017/07/20 by Max.Preussner WmfMedia: Fixed edge case for detecting whether pause is available Change 3548742 on 2017/07/21 by Max.Preussner Media: Added API for changing the input frame rate Change 3548743 on 2017/07/21 by Max.Preussner WmfMedia: Implemented ability to change input frame rate Change 3554411 on 2017/07/25 by Max.Preussner AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property Change 3554818 on 2017/07/25 by Max.Preussner Media: Added per track-type cache queries Change 3557284 on 2017/07/26 by Max.Preussner WmfMedia: Added buffer size check in texture sample as well Change 3560530 on 2017/07/27 by Max.Preussner WmfMedia: Made COM object destructors private and added assertions Change 3560580 on 2017/07/27 by Max.Preussner MediaUtils: Added method for querying number of objects in pool Change 3562572 on 2017/07/28 by Max.Preussner WmfMedia: Properly handling topology status errors when opening media Change 3576710 on 2017/08/08 by Chris.Babcock bug fixes for mediaplayer - rare cases in Android media tracks - make FMediaCaptureDevice members available in blueprints Change 3577736 on 2017/08/08 by Chris.Babcock Extend ExternalTexture to support 2x3 transform (scale/rotation + offset) Change 3578831 on 2017/08/09 by Max.Preussner MediaAssets: Made media sound component BP spawnable Change 3579210 on 2017/08/09 by Max.Preussner UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults Change 3579547 on 2017/08/09 by Chris.Babcock Better support for Android external texture detection Change 3579567 on 2017/08/09 by Chris.Babcock Android camera plugin #jira UEMOB-215 Change 3580035 on 2017/08/10 by Andrew.Rodham Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials. - Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported. - Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator - Made UTexture::GetMaterialType const-correct #tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external), and on desktop PC. Change 3581552 on 2017/08/10 by Chris.Babcock Use bilinear sampling instead of point for external texture (Android media and camera) Change 3581628 on 2017/08/10 by Max.Preussner Core: Fixed FTimespan import/export/copypaste (UE-43990) #jira UE-43990 #jira UE-44163 Change 3581909 on 2017/08/11 by Andrew.Rodham Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release) - This prevents destroyed proxies from remaining in the texture registry #jira UE-48307 Change 3582451 on 2017/08/11 by Max.Preussner AudioMixer: Fixed initialization order of synth components This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr. #jira UE-48055 Change 3582453 on 2017/08/11 by Max.Preussner MediaAssets: Enabling ticking in media sound component (UE-48055) #jira UE-48055 Change 3583101 on 2017/08/11 by Chris.Babcock Android camera improvements - return correct capture device type (webcamfront/rear) - remove seek (not supported) - support track formats - better framerate selection Change 3590109 on 2017/08/16 by Chris.Babcock Move external texture coordinate update to improve accuracy and save a uniform in final shader Change 3590530 on 2017/08/16 by Max.Preussner MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks #jira UE-48166 Change 3590547 on 2017/08/16 by Max.Preussner MediaPlayerEditor: Ticking sound component directly Change 3590628 on 2017/08/16 by Max.Preussner Switch: Fixed media decoder asserting when attempting to pause without having started Change 3591816 on 2017/08/16 by Aaron.McLeran #jira UE-48470 Disabling async processing for procedural sound waves on mac. Change 3592266 on 2017/08/16 by Max.Preussner Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames or out of memory assertions depending on the platform. This will be addressed in an upcoming change. #jira UE-48474 #jira UE-45677 Change 3592355 on 2017/08/17 by Max.Preussner MediaUtils: Added sample sink collection to remove code duplication Change 3592739 on 2017/08/17 by Max.Preussner ImgMedia: Fetching only one video sample per frame Change 3592741 on 2017/08/17 by Max.Preussner MediaUtils: Better sample fetching when paused Change 3592761 on 2017/08/17 by Max.Preussner MediaUtils: Fixed overflow detection in sample sinks Change 3592762 on 2017/08/17 by Max.Preussner ImgMedia: Sending end reached event when looping Change 3592885 on 2017/08/17 by Max.Preussner ImgMedia: Fixed reverse play Change 3592887 on 2017/08/17 by Max.Preussner MediaUtils: Better sample range calculation for audio samples Change 3593010 on 2017/08/17 by Max.Preussner ImgMedia: Fixed async loading of non-EXR image sequences Change 3593193 on 2017/08/17 by Max.Preussner AndroidMedia: Fixed typo Change 3593230 on 2017/08/17 by Max.Preussner Media: Implemented flushing for player sample queues Change 3593346 on 2017/08/17 by Max.Preussner Media: Proper sample processing for reverse playback Change 3593482 on 2017/08/17 by Max.Preussner Switch: Fixed sample range check for reverse playback Change 3594428 on 2017/08/17 by Max.Preussner PS4Media: Fixed video not playing/crashing #jira UE-48547 #jira UE-48549 Change 3595404 on 2017/08/17 by Max.Preussner MediaAssets: Not requesting audio samples if not playing #jira UE-48557 Change 3595624 on 2017/08/17 by Max.Preussner PS4Media: Fixed no looping after track switching #jira UE-46524 #jira UE-48557 Change 3595704 on 2017/08/17 by Max.Preussner MediaUtils: Improved sample queue flushing Eventually this needs to be event-driven. #jira UE-48557 Change 3595706 on 2017/08/17 by Max.Preussner PS4Media: Flushing queues when track switching #jira UE-48557 Change 3595909 on 2017/08/17 by Max.Preussner Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382) https://github.com/EpicGames/UnrealEngine/pull/3382 #jira UE-42906 #rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382) Change 3597480 on 2017/08/18 by Max.Preussner ImgMediaPlayer: Fixed presentation time calculation for very large delta times Change 3597669 on 2017/08/18 by Max.Preussner ImgMedia: Setting player stopped instead of paused when end reached Change 3597709 on 2017/08/18 by Max.Preussner SwitchMedia: Fixed audio sample duration calculation Change 3598479 on 2017/08/18 by Max.Preussner ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging Change 3598629 on 2017/08/18 by Max.Preussner MediaUtils: Properly handling pending flushes when peeking sample queues Change 3598633 on 2017/08/18 by Max.Preussner WmfMedia: Fixed occasional WMF deadlock when scrubbing Change 3598653 on 2017/08/18 by Max.Preussner MediaUtils: Fixed audio resampling in reverse playback Change 3598659 on 2017/08/18 by Max.Preussner MediaPlayerEditor: Creating sound output only if audio device available Change 3598688 on 2017/08/18 by Max.Preussner MediaUtils: Flushing sample queues on direction change regardless of paused state Change 3599444 on 2017/08/20 by Max.Preussner WmfMedia: Added missing check for rate control when quering supported rates Change 3603661 on 2017/08/22 by Max.Preussner WmfMedia: Fixed NV12 output Change 3604345 on 2017/08/23 by Max.Preussner MediaUtils: Added subtitle samples to media sample collection; fixed documentation Change 3604987 on 2017/08/23 by Max.Preussner PS4Media: Setting correct track format types Change 3605117 on 2017/08/23 by Joe.Barnes Fix issue where presentation time was being treated as milliseconds instead of microseconds. Change 3605128 on 2017/08/23 by Joe.Barnes Fix potential issue calculating total (looped) play time after seek or reset. Track last video presentation time Change 3605139 on 2017/08/23 by Joe.Barnes Support audio type DType_Setup. Fix issue with procedural sounds popping. Consume more samples if necessary. #jira ue-48544 Change 3605197 on 2017/08/23 by Max.Preussner Media: Fixed track display name formatting (UE-48767) #jira UE-48767 Change 3605817 on 2017/08/23 by Max.Chen Auto set sampler type on drop on actor. #jira UE-48769 Change 3605999 on 2017/08/23 by Max.Preussner MfMedia: Restarting source reader when switching tracks #jira UE-48766 Change 3606416 on 2017/08/23 by Max.Preussner PS4Media: Various player improvements #jira UE-48586 Change 3607656 on 2017/08/24 by Max.Preussner WmfMedia: Improved logging for Seek and SetRate Change 3607855 on 2017/08/24 by Max.Preussner MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\ #jira UE-48766 Change 3608029 on 2017/08/24 by Max.Preussner PS4Media: Fixed streaming media not playing; improved result checks & logging #jira UE-48610 Change 3608473 on 2017/08/24 by Max.Preussner MfMedia: Fixed audio sample duration calculation #jira UE-48756 Change 3609316 on 2017/08/24 by Chris.Babcock Provide external texture RotationScale and Offset from sample Change 3610067 on 2017/08/25 by Richard.Wallis Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player. - Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects. - Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker - this sets the current time and is then just returned in the getter when on game main. - Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in. #jira UE-48590, UE-48604 Change 3610267 on 2017/08/25 by Max.Preussner PS4Media: Added missing track selection validation #jira UE-48765 Change 3610399 on 2017/08/25 by Max.Preussner PS4Media: Fixed infinite player re-initialization loop if track selection failed Change 3610809 on 2017/08/25 by Chris.Babcock Fixes for Android media player and camera player - buffer samples copy proper bytecount - realloc sets new buffer ptr - refcount of Java buffers fixed Change 3610953 on 2017/08/25 by Chris.Babcock Fix audio disable before play on Android media player Change 3611405 on 2017/08/25 by Max.Preussner WmfMedia: Resetting supported rates if RateSupport unavailable Change 3611406 on 2017/08/25 by Max.Preussner MfMedia: Resetting supported rates if RateSupport unavailable Change 3611453 on 2017/08/25 by Chris.Babcock Android external texture extension updates for compatibility Change 3611719 on 2017/08/26 by Max.Preussner Media: Added media event for completed seek operations; flushing sinks on seek Change 3611764 on 2017/08/26 by Max.Preussner AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously Change 3611802 on 2017/08/26 by Max.Preussner Media: Exposed error state in media player Change 3611803 on 2017/08/26 by Max.Preussner MediaPlayerEditor: Showing error state in UI Change 3611887 on 2017/08/26 by Max.Preussner MediaUtils: Corrected media sample sink overflow check Change 3611892 on 2017/08/27 by Max.Preussner WmfMedia: Leaving session in error state after error Change 3611929 on 2017/08/27 by Max.Preussner MediaPlayerEditor: Fixed sound stopping on looping Change 3611930 on 2017/08/27 by Max.Preussner MfMedia: Rewrote async sample processing to fix various playback issues Change 3611942 on 2017/08/27 by Max.Preussner Media: Sending suspension event when playback ended Change 3611957 on 2017/08/27 by Max.Preussner UnrealEd: Allowed transient assets to be resaved to disk Change 3611981 on 2017/08/27 by Max.Preussner PS4Media: Rewrote sample processing to fix various playback issues #jira UE-48596 #jira UE-48793 Change 3612035 on 2017/08/27 by Max.Preussner UnrealEd: Picking standard default names when resaving transient packages Change 3612045 on 2017/08/27 by Max.Preussner Media: Fixed playlists not getting saved correctly from Editor (UE-35382) #jira UE-35382 Change 3612212 on 2017/08/28 by Richard.Wallis Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close. #jira UE-47602 Change 3613531 on 2017/08/28 by Max.Preussner MediaAssets: Fixed external texture related crash on shutdown (UE-48918) Also no longer creating clock sink for media player CDO #jira UE-48918 Change 3613677 on 2017/08/28 by Andrew.Porter Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object #jira UE-48937 Change 3615917 on 2017/08/29 by Max.Preussner MfMedia: Added compile options for DXVA and falling back to synchronous sample reading [CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
#include "CoreTypes.h"
#include "Containers/Array.h"
#include "Containers/UnrealString.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #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]
2016-11-23 15:48:37 -05:00
#include "IMessageContext.h"
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642) #lockdown nick.penwarden #rb none Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3259266 on 2017/01/16 by Max.Preussner Core: Added timespan ratio Change 3267229 on 2017/01/21 by Max.Preussner Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed Change 3274773 on 2017/01/27 by Max.Preussner Core: Added TLruCache template Change 3281579 on 2017/02/01 by Max.Preussner Core: Added scalar division to FTimespan Change 3289522 on 2017/02/07 by Max.Preussner MediaAssets: Added looping for play lists Change 3290664 on 2017/02/07 by Max.Preussner Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes. Change 3290688 on 2017/02/07 by Max.Preussner MediaAssets: Notifying materials when media texture properties changed. Change 3291171 on 2017/02/07 by Max.Preussner MediaAssets: Filtering unused UTexture properties Change 3291229 on 2017/02/07 by Max.Preussner ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0 Change 3298520 on 2017/02/11 by Max.Preussner Sequencer: Fixed skylight and reflection components off by one frame in PIE Change 3298778 on 2017/02/12 by Max.Preussner MediaUtils: Experimenting with dynamic pitch adjustment Change 3298987 on 2017/02/13 by Max.Chen Editor: Add matrix and transform properties to property editor test object Change 3298997 on 2017/02/13 by Max.Chen Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties - Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified) - Added percentage unit type - Multiplier unit types can now be converted between Change 3298998 on 2017/02/13 by Max.Chen Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible Change 3348678 on 2017/03/15 by Max.Preussner Media: Added Buffering media event Change 3355268 on 2017/03/20 by Max.Preussner Core: TQueue documentation updates Change 3359055 on 2017/03/22 by Max.Preussner Portal: Removed dependency to Messaging.h Change 3359060 on 2017/03/22 by Max.Preussner Messaging: Modernization pass - added missing includes & forward declarations - include what you use - deprecated shared pointer typedefs - replaced some delegates with callback interfaces - documentation fixes Change 3359189 on 2017/03/22 by Max.Preussner Automation: Modernization pass - include what you use - removed molothic header - documentation fixes #upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory Change 3359718 on 2017/03/22 by Max.Preussner Messaging: Moved common helper classes into MessagingCommon module #upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon"). Change 3359793 on 2017/03/23 by Max.Preussner TargetDeviceServices: Modernization pass - include what you use - removed boilerplate header - deprecated selected shared pointer typedefs - reorganized files - documentation fixes Change 3361028 on 2017/03/23 by Max.Preussner DeviceManager: Modernization pass - include what you use - reduced shared pointer typedef usage - documentation fixes Change 3361197 on 2017/03/23 by Max.Preussner Messaging: Waking up message router thread on shutdown Change 3361246 on 2017/03/23 by Max.Preussner AutomationWindow: Removed boilerplate header #upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h Change 3361428 on 2017/03/23 by Max.Preussner AutomationController: Removed boilerplate header #upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions. Change 3363206 on 2017/03/24 by Max.Preussner ProfileLauncher: Modernization pass - include what you use (selected files) - reduced shared pointer typedef usages - removed dead code - cleaned up file organization - documentation fixes Change 3363290 on 2017/03/24 by Max.Preussner LauncherServices: Removed boilerplate header #upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes Change 3363305 on 2017/03/24 by Max.Preussner LauncherCheck: Removed boilerplate header #upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions Change 3363708 on 2017/03/24 by Max.Preussner ImageWrapper: Removed boilerplate header #upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes Change 3363966 on 2017/03/24 by Max.Preussner ImageWrapper: Modernization pass - include what you use - reorganized internal files - documentation fixes Change 3364579 on 2017/03/24 by Max.Preussner ImageWrapper: Deprecated shared pointer typedef and removed usages #upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr Change 3364582 on 2017/03/24 by Max.Preussner NetworkFileSystem: Removed monolithic boilerplate header #upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes Change 3381440 on 2017/04/05 by Max.Preussner Oculus: Removed illegal pragmas Change 3391731 on 2017/04/12 by Max.Preussner ImgMedia: Added support for BMP, JPG and PNG image sequences Change 3401146 on 2017/04/19 by Max.Preussner Core: Cleanup pass for FTimespan usages; updated documentation When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make your code easier to read and understand. Change 3401504 on 2017/04/20 by Max.Preussner MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds Change 3401833 on 2017/04/20 by Max.Preussner Core: Various improvements to FTimespan - added proper serialization - updated documentation - access fractions as milli-, micro- or nanoseconds - removed the following string formatters as they were not useful: %D %H %M %S %F - updated documentation #upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign. #jira UE-43990 #jira UE-44163 Change 3437543 on 2017/05/12 by Max.Preussner PS4Media: Added audio error codes conversion Change 3446564 on 2017/05/18 by Max.Preussner Networking: Fixed nullpointer crash if socket initialization fails Change 3459978 on 2017/05/25 by Max.Preussner ImgMedia: Renamed frame cache to frame loader Change 3463311 on 2017/05/26 by Max.Preussner Core: Added iterators & predicate based methods to LRU Cache Change 3464452 on 2017/05/29 by Max.Preussner ImgMedia: Added video sample output Change 3464468 on 2017/05/29 by Max.Preussner Media: Added separate cache visualization for loaded and cached samples Change 3464592 on 2017/05/29 by Max.Preussner Core: Added TLruCache::FindAndTouch Change 3464607 on 2017/05/29 by Max.Preussner Core: Added TRange::Inclusive / ::Exclusive Change 3464608 on 2017/05/29 by Max.Preussner Media: Fixed incorrect upper bound in support play rates of various players Change 3466732 on 2017/05/30 by Max.Preussner ImgMedia: Added image compression type to info string Change 3466871 on 2017/05/31 by Max.Preussner WmfMedia: Fixed session capabilities not showing up; added initialization logging Change 3467785 on 2017/05/31 by Max.Preussner MfMedia: Fixed sample stride calculated from media input instead of output Change 3467963 on 2017/05/31 by Max.Preussner WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly Change 3468110 on 2017/05/31 by Max.Preussner WmfMedia: Added MPEG-2 media sub types to utils Change 3468516 on 2017/05/31 by Max.Preussner AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570) Change 3468554 on 2017/05/31 by Max.Preussner MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded Change 3468627 on 2017/05/31 by Max.Preussner ImgMedia: Allowing for auto-selection of EXR decoder thread count Change 3468648 on 2017/05/31 by Max.Preussner ImgMedia: Reorganized OpenExrWrapper files Change 3471789 on 2017/06/02 by Max.Preussner WmfMedia: Fixed potential concurrency issue in session state management Change 3472918 on 2017/06/03 by Max.Preussner Core: Allowing zero sized LRU cache; added default constructor Change 3472919 on 2017/06/03 by Max.Preussner Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching Change 3473704 on 2017/06/05 by Max.Preussner AndroidMedia: Added settings class Change 3474407 on 2017/06/05 by Max.Preussner AndroidMedia: Implemented video sample processing Change 3474934 on 2017/06/05 by Max.Preussner ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705) #jira UE-45705 Change 3476925 on 2017/06/06 by Max.Preussner Media: Added return values to media view interface; documentation fixes Change 3477158 on 2017/06/06 by Max.Preussner SwitchMedia: Implemented sample pooling Change 3477201 on 2017/06/07 by Max.Preussner PS4Media: Implemented video sample pooling Change 3481470 on 2017/06/08 by Max.Preussner Media: Fixed time stamps not set in recycled texture samples Change 3481472 on 2017/06/08 by Max.Preussner MediaAssets: Fixed no video samples fetched while player is in buffering state Change 3481473 on 2017/06/08 by Max.Preussner MediaUtils: Added default constructor to MediaSampleQueue Change 3481584 on 2017/06/08 by Max.Preussner MediaUtils: Paused state is considered forward for sample lookup as this is the common case. Change 3481588 on 2017/06/08 by Max.Preussner PS4Media: Redesigned the PS4 media player to support async file loading & track switching Change 3481627 on 2017/06/08 by Max.Preussner PS4Media: Opening media sources in thread pool if not precaching Change 3481666 on 2017/06/08 by Max.Preussner ImgMedia: Fixed SequencePath property file picker always opening default path Change 3481669 on 2017/06/08 by Max.Preussner ImgMedia: Fixed crash when quering cache state of empty image sequence Change 3481685 on 2017/06/08 by Max.Preussner ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719) #jira UE-45719 Change 3483623 on 2017/06/10 by Max.Preussner Media: Added getters for 360 view settings; added support for relative view updates Change 3483624 on 2017/06/10 by Max.Preussner Media: Added Blueprint support for 360 videos Change 3483626 on 2017/06/10 by Max.Preussner MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class. Change 3483627 on 2017/06/10 by Max.Preussner Core: Using system start time instead of current time for renamed log file names Change 3483630 on 2017/06/10 by Max.Preussner Core: Grouping log files by log name and processing each group separately when deleting old log files Change 3483816 on 2017/06/10 by Max.Preussner WmfMedia: Detecting audio device availability to prevent lockup of audio tracks Change 3483939 on 2017/06/11 by Max.Preussner AvfMedia: Finished Media Framework 3.0 upgrade - overhauled track switching - removed render thread flushes - reduced nesting - code cleanup pass Change 3483940 on 2017/06/11 by Max.Preussner Media: Consistent track switching behavior across platforms Change 3484172 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Removed obsolete asset type actions Change 3484180 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture Change 3484248 on 2017/06/11 by Max.Preussner MediaAssets: Media players now always have a playlist Change 3484249 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Added UI controls to Playlist tab Change 3484250 on 2017/06/11 by Max.Preussner Media: Implemented overlay sample caching Change 3484252 on 2017/06/11 by Max.Preussner WmfMedia: Enabled support for .smi and .sami subtitle files Change 3485433 on 2017/06/12 by Max.Preussner ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it Change 3485720 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Added ability to save playlists Change 3485828 on 2017/06/12 by Max.Preussner AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread Change 3485926 on 2017/06/12 by Max.Preussner MediaUtils: Draining all unconsumed samples at the end of a frame Change 3486043 on 2017/06/12 by Max.Preussner Media: Consistent behavior for playlist navigation (UE-45964) #jira UE-45964 Change 3486104 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Implemented simple overlay text positioning Change 3486145 on 2017/06/12 by Max.Preussner AndroidMediaPlayer: Moved video sample handling into render thread Change 3486147 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Moved overlay texts into separate layer Change 3486188 on 2017/06/12 by Max.Preussner Media: Enabling media factory modules in Editor for all players Change 3486223 on 2017/06/12 by Max.Preussner Media: Defaulting players to select first audio and video tracks by default Change 3486473 on 2017/06/13 by Max.Preussner Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing) Change 3486475 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Showing busy bar when buffering or preparing Change 3487237 on 2017/06/13 by Max.Preussner AndroidMedia: Fixed video sample not getting processed on render thread Change 3487507 on 2017/06/13 by Michael.Trepka AvfMedia - small cleanup of the code for passing video frame rate to the video sampler Change 3487719 on 2017/06/13 by Michael.Trepka Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH Change 3487842 on 2017/06/13 by Max.Preussner AndroidMedia: Fixed texture swizzle disabled on non-Engine builds Change 3488006 on 2017/06/13 by Michael.Trepka AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a file Change 3488308 on 2017/06/13 by Chris.Babcock AndroidMedia: Fixed flicker issue #jira UE-45736 Change 3488335 on 2017/06/13 by Max.Preussner MediaAssets: Made UFileMediaSource::GetFullPath public Change 3488338 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources Change 3488339 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Showing a throbber when buffering player Change 3488768 on 2017/06/14 by Max.Preussner Core: Inlined FTimespan static functions hange 3490203 on 2017/06/14 by Max.Preussner Core: Force inlined TComPtr operators Change 3494083 on 2017/06/15 by Chris.Babcock AndroidMedia: Fix playlist looping (send PlaybackEndReached event) #jira UE-46086 Change 3497017 on 2017/06/16 by Max.Preussner MediaAssets: Playlists now auto advance with PlayOnOpen off Change 3497075 on 2017/06/17 by Chris.Babcock MediaPlayer Sampler node and external texture support for Android MediaPlayer - enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL) - supports MediaSample node in material editor with scale/bias handled if above flag enabled - fixed looping problems, including eventual crashes - track switching fixed (lockups and missing video) - corrected resource leaks and crash switching maps #jira UE-46055 #jira UE-45744 #jira UE-46086 Change 3497163 on 2017/06/17 by Max.Preussner MediaUtils: Processing media events immediately if on game thread Change 3497170 on 2017/06/17 by Max.Preussner Media: All Media Framework interfaces are pure virtual Change 3498603 on 2017/06/19 by Ben.Marsh UBT: Prevent plugins which list modules multiple times from adding them twice. Change 3500870 on 2017/06/20 by Max.Preussner WmfMedia: Rewrote WMF state machine; now with track switching #jira UE-20209 #jira UE-35385 #jira UE-38337 #jira UE-45676 Change 3502181 on 2017/06/20 by Chris.Babcock MediaSampler node updates - fixed issue with ExternalTexture singleton for DLL compatiblity - now works for all players (registers texture samples with ExternalTexture by player GUID) - enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler Change 3503182 on 2017/06/21 by Max.Preussner Media: Refactored status flags into an enum; exposed connecting status Change 3503724 on 2017/06/21 by Chris.Babcock Improvement in MediaPlayer Sampler node - RGB, R, G, B, A output pins like normal texture sampler - allow preview in material editor - fix OES detection for Android Change 3509088 on 2017/06/26 by Max.Preussner MediaAssets: Added AddFile and AddUrl to UMediaPlaylist Change 3510256 on 2017/06/26 by Max.Preussner WmfMedia: Fixed play rate not set to zero when end reached Change 3510273 on 2017/06/26 by Max.Preussner MediaPlayerEditor: Removed obsolete Slate culling rectangle code Change 3510413 on 2017/06/26 by Max.Preussner MediaPlayerEditor: Showing frame rate if available Change 3510533 on 2017/06/26 by Max.Preussner MediaUtils: Preventing media cache filling up when scrubbing Change 3510859 on 2017/06/26 by Max.Preussner PS4Media: Fixed track switching crashes (UE-45960) #jira UE-45960 Change 3514173 on 2017/06/28 by Max.Preussner WmfMedia: Optimized player capabilities check Change 3514174 on 2017/06/28 by Max.Preussner WmfMedia: Moved media source resolver code into utility class Change 3514714 on 2017/06/28 by Max.Preussner Core: Added TComPointer.IsValid; code cleanup pass Change 3517912 on 2017/06/30 by Max.Preussner MediaUtils: Added GetVideoAspectRatio to player facade Change 3524957 on 2017/07/06 by Max.Preussner ImgMedia: Decoding image frames only when video track is selected Change 3525252 on 2017/07/06 by Max.Preussner ImgMedia: Async image sequence initialization Change 3525266 on 2017/07/06 by Max.Preussner ImgMedia: Enabled reverse playback Change 3525722 on 2017/07/06 by Max.Preussner WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport Change 3525800 on 2017/07/07 by Max.Preussner WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging. Change 3525801 on 2017/07/07 by Max.Preussner MediaPlayerEditor: Made scrubbing more responsive Change 3526500 on 2017/07/07 by Max.Preussner WmfMedia: Using NULL for Windows pointers Change 3527323 on 2017/07/07 by Max.Preussner WmfMedia: Added support for audio and video capture media sources Change 3530197 on 2017/07/10 by Max.Preussner WmfMedia: Added utility functions for enumerating audio and video capture devices Change 3533465 on 2017/07/12 by Max.Preussner Media: Added media capture device support API & implementation for WMF Change 3533469 on 2017/07/12 by Max.Preussner MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar Change 3533540 on 2017/07/12 by Max.Preussner MediaAssets: Blueprint support for media capture device discovery Change 3533574 on 2017/07/12 by Max.Preussner WmfMedia: Using cached supported play rates; more strict pausing support check Change 3533924 on 2017/07/12 by Max.Preussner WmfMedia: Added global LowLatency setting (UEVR-859) Note that this setting is only supported when compiling for Windows 8 or newer. Change 3534027 on 2017/07/12 by Max.Preussner WmfMedia: Compile time support for low latency session attribute on < Windows8 #jira UEVR-859 Change 3538744 on 2017/07/14 by Max.Preussner MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource Change 3542818 on 2017/07/18 by Max.Preussner WmfMedia: Fixed race condition on session shutdown Change 3543082 on 2017/07/18 by Max.Preussner WmfMedia: Fixed track selection in media that doesn't support seeking Change 3543092 on 2017/07/18 by Max.Preussner Media: Implemented media track format API Enables multiple formats per media track. By default, the first usable format is selected. This feature is currently only implemented for WmfMedia. All other players assume a single format per track. Change 3543794 on 2017/07/19 by Max.Preussner WmfMedia: Added string conversion for null GUIDs Change 3543796 on 2017/07/19 by Max.Preussner MfMedia: Copied GUID string conversion updates from WmfMedia Change 3543797 on 2017/07/19 by Max.Preussner WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support Change 3544390 on 2017/07/19 by Max.Preussner Media: Allowing INDEX_NONE as 'current selection' index in track format related functions Change 3545368 on 2017/07/19 by Max.Preussner WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting Change 3545388 on 2017/07/19 by Max.Preussner MediaAssets: Fixed RGB input sources rendered upside down Change 3545430 on 2017/07/19 by Max.Preussner MediaAssets: Fixed incorrect sRGB conversion on BMP inputs Change 3547362 on 2017/07/20 by Max.Preussner Core: Added IsGraph and IsPrint to TCHAR utilities Change 3547376 on 2017/07/20 by Max.Preussner WmfMedia: Better log messages for non-standard video types (UE-47533) #jira UE-47533 Change 3547404 on 2017/07/20 by Max.Preussner QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542) #jira UE-47542 Change 3547466 on 2017/07/20 by Max.Preussner WmfMedia: Fixed edge case for detecting whether pause is available Change 3548742 on 2017/07/21 by Max.Preussner Media: Added API for changing the input frame rate Change 3548743 on 2017/07/21 by Max.Preussner WmfMedia: Implemented ability to change input frame rate Change 3554411 on 2017/07/25 by Max.Preussner AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property Change 3554818 on 2017/07/25 by Max.Preussner Media: Added per track-type cache queries Change 3557284 on 2017/07/26 by Max.Preussner WmfMedia: Added buffer size check in texture sample as well Change 3560530 on 2017/07/27 by Max.Preussner WmfMedia: Made COM object destructors private and added assertions Change 3560580 on 2017/07/27 by Max.Preussner MediaUtils: Added method for querying number of objects in pool Change 3562572 on 2017/07/28 by Max.Preussner WmfMedia: Properly handling topology status errors when opening media Change 3576710 on 2017/08/08 by Chris.Babcock bug fixes for mediaplayer - rare cases in Android media tracks - make FMediaCaptureDevice members available in blueprints Change 3577736 on 2017/08/08 by Chris.Babcock Extend ExternalTexture to support 2x3 transform (scale/rotation + offset) Change 3578831 on 2017/08/09 by Max.Preussner MediaAssets: Made media sound component BP spawnable Change 3579210 on 2017/08/09 by Max.Preussner UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults Change 3579547 on 2017/08/09 by Chris.Babcock Better support for Android external texture detection Change 3579567 on 2017/08/09 by Chris.Babcock Android camera plugin #jira UEMOB-215 Change 3580035 on 2017/08/10 by Andrew.Rodham Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials. - Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported. - Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator - Made UTexture::GetMaterialType const-correct #tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external), and on desktop PC. Change 3581552 on 2017/08/10 by Chris.Babcock Use bilinear sampling instead of point for external texture (Android media and camera) Change 3581628 on 2017/08/10 by Max.Preussner Core: Fixed FTimespan import/export/copypaste (UE-43990) #jira UE-43990 #jira UE-44163 Change 3581909 on 2017/08/11 by Andrew.Rodham Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release) - This prevents destroyed proxies from remaining in the texture registry #jira UE-48307 Change 3582451 on 2017/08/11 by Max.Preussner AudioMixer: Fixed initialization order of synth components This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr. #jira UE-48055 Change 3582453 on 2017/08/11 by Max.Preussner MediaAssets: Enabling ticking in media sound component (UE-48055) #jira UE-48055 Change 3583101 on 2017/08/11 by Chris.Babcock Android camera improvements - return correct capture device type (webcamfront/rear) - remove seek (not supported) - support track formats - better framerate selection Change 3590109 on 2017/08/16 by Chris.Babcock Move external texture coordinate update to improve accuracy and save a uniform in final shader Change 3590530 on 2017/08/16 by Max.Preussner MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks #jira UE-48166 Change 3590547 on 2017/08/16 by Max.Preussner MediaPlayerEditor: Ticking sound component directly Change 3590628 on 2017/08/16 by Max.Preussner Switch: Fixed media decoder asserting when attempting to pause without having started Change 3591816 on 2017/08/16 by Aaron.McLeran #jira UE-48470 Disabling async processing for procedural sound waves on mac. Change 3592266 on 2017/08/16 by Max.Preussner Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames or out of memory assertions depending on the platform. This will be addressed in an upcoming change. #jira UE-48474 #jira UE-45677 Change 3592355 on 2017/08/17 by Max.Preussner MediaUtils: Added sample sink collection to remove code duplication Change 3592739 on 2017/08/17 by Max.Preussner ImgMedia: Fetching only one video sample per frame Change 3592741 on 2017/08/17 by Max.Preussner MediaUtils: Better sample fetching when paused Change 3592761 on 2017/08/17 by Max.Preussner MediaUtils: Fixed overflow detection in sample sinks Change 3592762 on 2017/08/17 by Max.Preussner ImgMedia: Sending end reached event when looping Change 3592885 on 2017/08/17 by Max.Preussner ImgMedia: Fixed reverse play Change 3592887 on 2017/08/17 by Max.Preussner MediaUtils: Better sample range calculation for audio samples Change 3593010 on 2017/08/17 by Max.Preussner ImgMedia: Fixed async loading of non-EXR image sequences Change 3593193 on 2017/08/17 by Max.Preussner AndroidMedia: Fixed typo Change 3593230 on 2017/08/17 by Max.Preussner Media: Implemented flushing for player sample queues Change 3593346 on 2017/08/17 by Max.Preussner Media: Proper sample processing for reverse playback Change 3593482 on 2017/08/17 by Max.Preussner Switch: Fixed sample range check for reverse playback Change 3594428 on 2017/08/17 by Max.Preussner PS4Media: Fixed video not playing/crashing #jira UE-48547 #jira UE-48549 Change 3595404 on 2017/08/17 by Max.Preussner MediaAssets: Not requesting audio samples if not playing #jira UE-48557 Change 3595624 on 2017/08/17 by Max.Preussner PS4Media: Fixed no looping after track switching #jira UE-46524 #jira UE-48557 Change 3595704 on 2017/08/17 by Max.Preussner MediaUtils: Improved sample queue flushing Eventually this needs to be event-driven. #jira UE-48557 Change 3595706 on 2017/08/17 by Max.Preussner PS4Media: Flushing queues when track switching #jira UE-48557 Change 3595909 on 2017/08/17 by Max.Preussner Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382) https://github.com/EpicGames/UnrealEngine/pull/3382 #jira UE-42906 #rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382) Change 3597480 on 2017/08/18 by Max.Preussner ImgMediaPlayer: Fixed presentation time calculation for very large delta times Change 3597669 on 2017/08/18 by Max.Preussner ImgMedia: Setting player stopped instead of paused when end reached Change 3597709 on 2017/08/18 by Max.Preussner SwitchMedia: Fixed audio sample duration calculation Change 3598479 on 2017/08/18 by Max.Preussner ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging Change 3598629 on 2017/08/18 by Max.Preussner MediaUtils: Properly handling pending flushes when peeking sample queues Change 3598633 on 2017/08/18 by Max.Preussner WmfMedia: Fixed occasional WMF deadlock when scrubbing Change 3598653 on 2017/08/18 by Max.Preussner MediaUtils: Fixed audio resampling in reverse playback Change 3598659 on 2017/08/18 by Max.Preussner MediaPlayerEditor: Creating sound output only if audio device available Change 3598688 on 2017/08/18 by Max.Preussner MediaUtils: Flushing sample queues on direction change regardless of paused state Change 3599444 on 2017/08/20 by Max.Preussner WmfMedia: Added missing check for rate control when quering supported rates Change 3603661 on 2017/08/22 by Max.Preussner WmfMedia: Fixed NV12 output Change 3604345 on 2017/08/23 by Max.Preussner MediaUtils: Added subtitle samples to media sample collection; fixed documentation Change 3604987 on 2017/08/23 by Max.Preussner PS4Media: Setting correct track format types Change 3605117 on 2017/08/23 by Joe.Barnes Fix issue where presentation time was being treated as milliseconds instead of microseconds. Change 3605128 on 2017/08/23 by Joe.Barnes Fix potential issue calculating total (looped) play time after seek or reset. Track last video presentation time Change 3605139 on 2017/08/23 by Joe.Barnes Support audio type DType_Setup. Fix issue with procedural sounds popping. Consume more samples if necessary. #jira ue-48544 Change 3605197 on 2017/08/23 by Max.Preussner Media: Fixed track display name formatting (UE-48767) #jira UE-48767 Change 3605817 on 2017/08/23 by Max.Chen Auto set sampler type on drop on actor. #jira UE-48769 Change 3605999 on 2017/08/23 by Max.Preussner MfMedia: Restarting source reader when switching tracks #jira UE-48766 Change 3606416 on 2017/08/23 by Max.Preussner PS4Media: Various player improvements #jira UE-48586 Change 3607656 on 2017/08/24 by Max.Preussner WmfMedia: Improved logging for Seek and SetRate Change 3607855 on 2017/08/24 by Max.Preussner MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\ #jira UE-48766 Change 3608029 on 2017/08/24 by Max.Preussner PS4Media: Fixed streaming media not playing; improved result checks & logging #jira UE-48610 Change 3608473 on 2017/08/24 by Max.Preussner MfMedia: Fixed audio sample duration calculation #jira UE-48756 Change 3609316 on 2017/08/24 by Chris.Babcock Provide external texture RotationScale and Offset from sample Change 3610067 on 2017/08/25 by Richard.Wallis Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player. - Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects. - Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker - this sets the current time and is then just returned in the getter when on game main. - Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in. #jira UE-48590, UE-48604 Change 3610267 on 2017/08/25 by Max.Preussner PS4Media: Added missing track selection validation #jira UE-48765 Change 3610399 on 2017/08/25 by Max.Preussner PS4Media: Fixed infinite player re-initialization loop if track selection failed Change 3610809 on 2017/08/25 by Chris.Babcock Fixes for Android media player and camera player - buffer samples copy proper bytecount - realloc sets new buffer ptr - refcount of Java buffers fixed Change 3610953 on 2017/08/25 by Chris.Babcock Fix audio disable before play on Android media player Change 3611405 on 2017/08/25 by Max.Preussner WmfMedia: Resetting supported rates if RateSupport unavailable Change 3611406 on 2017/08/25 by Max.Preussner MfMedia: Resetting supported rates if RateSupport unavailable Change 3611453 on 2017/08/25 by Chris.Babcock Android external texture extension updates for compatibility Change 3611719 on 2017/08/26 by Max.Preussner Media: Added media event for completed seek operations; flushing sinks on seek Change 3611764 on 2017/08/26 by Max.Preussner AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously Change 3611802 on 2017/08/26 by Max.Preussner Media: Exposed error state in media player Change 3611803 on 2017/08/26 by Max.Preussner MediaPlayerEditor: Showing error state in UI Change 3611887 on 2017/08/26 by Max.Preussner MediaUtils: Corrected media sample sink overflow check Change 3611892 on 2017/08/27 by Max.Preussner WmfMedia: Leaving session in error state after error Change 3611929 on 2017/08/27 by Max.Preussner MediaPlayerEditor: Fixed sound stopping on looping Change 3611930 on 2017/08/27 by Max.Preussner MfMedia: Rewrote async sample processing to fix various playback issues Change 3611942 on 2017/08/27 by Max.Preussner Media: Sending suspension event when playback ended Change 3611957 on 2017/08/27 by Max.Preussner UnrealEd: Allowed transient assets to be resaved to disk Change 3611981 on 2017/08/27 by Max.Preussner PS4Media: Rewrote sample processing to fix various playback issues #jira UE-48596 #jira UE-48793 Change 3612035 on 2017/08/27 by Max.Preussner UnrealEd: Picking standard default names when resaving transient packages Change 3612045 on 2017/08/27 by Max.Preussner Media: Fixed playlists not getting saved correctly from Editor (UE-35382) #jira UE-35382 Change 3612212 on 2017/08/28 by Richard.Wallis Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close. #jira UE-47602 Change 3613531 on 2017/08/28 by Max.Preussner MediaAssets: Fixed external texture related crash on shutdown (UE-48918) Also no longer creating clock sink for media player CDO #jira UE-48918 Change 3613677 on 2017/08/28 by Andrew.Porter Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object #jira UE-48937 Change 3615917 on 2017/08/29 by Max.Preussner MfMedia: Added compile options for DXVA and falling back to synchronous sample reading [CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
#include "Misc/AutomationTest.h"
#include "IAutomationWorkerModule.h"
class FMessageEndpoint;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #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]
2016-11-23 15:48:37 -05:00
struct FAutomationWorkerFindWorkers;
struct FAutomationWorkerImageComparisonResults;
Copying //UE4/Dev-Automation to //UE4/Dev-Main (Source: //UE4/Dev-Automation @ 3448586) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3383163 on 2017/04/06 by james.fox Enabling Overlap automation tests. Change 3387240 on 2017/04/10 by James.Fox Enabling ProcMesh automation tests. Made minor changes to in-level object names. Change 3397994 on 2017/04/18 by Nick.Darnell Automation - Adding some areas for future extension to allow transmission of data, and performance information between controller and client. The next step is to expose a way in blueprints, or via C++ to hook these events and send these messages. Change 3401903 on 2017/04/20 by samuel.proctor Test map for blueprint bitwise operators Change 3405592 on 2017/04/24 by Benjamin.Hyder Updated Roughness only example to be more visible in Decals test map Change 3405625 on 2017/04/24 by Benjamin.Hyder Re-Saving material in decals map to remove log spam Change 3406256 on 2017/04/24 by Mason.Seay Show Collision tests, with Ground Truth Screenshots Change 3410179 on 2017/04/26 by mason.seay Beginning of Math test map Change 3412646 on 2017/04/27 by mason.seay More math tests Change 3413556 on 2017/04/28 by Adric.Worley Add support for expected errors in automation tests Automation tests can now define expected errors/warnings that will not prevent the test from succeeding. If expected messages are not encountered, the test will fail. The intent is to allow unit tests to verify negative or error cases while keeping the test pass report green. It is not intended as an error suppression system. #tests new automation tests Change 3414217 on 2017/04/28 by mason.seay Wake Event functional test map Disabled Collision tests that still need review. Change 3414605 on 2017/04/28 by mason.seay Added more tests to Math map Change 3415806 on 2017/05/01 by Adric.Worley Suspend log parsing during tests with expected errors Electric Commander was failing successful test passes that have expected errors because of its log parsing. BenM added markers to temporarily disable error parsing in CL 3414237, which this implements usage of. #tests preflight Change 3416022 on 2017/05/01 by Mason.Seay Physics/ChildTransform tests Change 3420820 on 2017/05/03 by Nick.Darnell Automation - Allowing users to control the delay from the quick getter functions for Default Game/Rendering settings for screenshots. Avoids needing to add more delay nodes to your graph. Improving the Box Drop example to use the new delay options. The FunctionalTest actor now ticks even when the game is paused. Change 3422013 on 2017/05/03 by Nick.Darnell Automation - Adding an initial version of a ground truth storge mechanism that will only run in the editor. Users can use special runs of their tests to store the ground truth, then rewire things to then in the future read that ground truth. Added an example map showing the usage. Change 3422802 on 2017/05/04 by Nick.Darnell Automation - Fixing a crash in the curve asset actions that assumes there will always be import data. Change 3422803 on 2017/05/04 by Nick.Darnell Automation - Adding some comments to the ground truth function. Change 3423739 on 2017/05/04 by Nick.Darnell Automation - Introducing a way for people to provide Ground Truth for their tests. Change 3423768 on 2017/05/04 by Nick.Darnell Automation - GTD can no longer be modified on the build machine. Unchecking modifiable on the example GTD. Change 3425226 on 2017/05/05 by Nick.Darnell Automation - Fixing the FinishLoading code to only force shader compilation on platforms that don't require cooking. #jira UE-44669 Change 3428140 on 2017/05/08 by Ori.Cohen Added ground truth for scene query testing. Change 3441024 on 2017/05/16 by Nick.Darnell Automation - Ground truth pass, improving system based on feedback. Ditching the bCanModify, there's now a way to reset the data, and if it's been filled, you've got to reset it to save over it. Change 3443894 on 2017/05/17 by Nick.Darnell Automation - Automation tweaking some logging. Change 3446426 on 2017/05/18 by Nick.Darnell Automation - Adding additional logging and attempting to fix the warning on the build machine. Change 3447617 on 2017/05/18 by Nick.Darnell Automation - Found an issue with the automation system keeping an old map around if the names were similar enough, and one contained the entirety of the other map's name. This should fix the overlap warnings on the build machine. Also cleaned up several places in the functional test manager that looked like they could cause confusion and problems with cleaning them up. [CL 3449079 by Nick Darnell in Main branch]
2017-05-19 15:08:55 -04:00
struct FAutomationWorkerTestDataResponse;
struct FAutomationWorkerPerformanceDataResponse;
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #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]
2016-11-23 15:48:37 -05:00
struct FAutomationWorkerNextNetworkCommandReply;
struct FAutomationWorkerPing;
struct FAutomationWorkerRequestTests;
struct FAutomationWorkerResetTests;
struct FAutomationWorkerRunTests;
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
struct FMessageAddress;
/**
* Implements the Automation Worker module.
*/
class FAutomationWorkerModule
: public IAutomationWorkerModule
{
public:
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
//~ IModuleInterface interface
virtual void StartupModule() override;
virtual void ShutdownModule() override;
virtual bool SupportsDynamicReloading() override;
public:
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
//~ IAutomationWorkerModule interface
virtual void Tick() override;
protected:
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
/** Execute all latent commands and when complete send results message back to the automation controller. */
bool ExecuteLatentCommands();
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
/** Execute all network commands and when complete send results message back to the automation controller. */
bool ExecuteNetworkCommands();
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
/** Initializes the automation worker. */
void Initialize();
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
/** Network phase is complete (if there were any network commands). Send ping back to the controller. */
void ReportNetworkCommandComplete();
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
/** Test is complete. Send results back to controller. */
void ReportTestComplete();
/**
* Send a list of all the tests supported by the worker
*
* @param ControllerAddress The message address of the controller that requested the tests.
*/
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
void SendTests(const FMessageAddress& ControllerAddress);
private:
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
/** Handles FAutomationWorkerFindWorkers messages. */
void HandleFindWorkersMessage(const FAutomationWorkerFindWorkers& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
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
/** Deferred handler for sending "find worker" response in case the asset registry isn't loaded yet. */
void SendWorkerFound(const FMessageAddress& ControllerAddress);
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
/** Handles message endpoint shutdowns. */
void HandleMessageEndpointShutdown();
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
/** Handles FAutomationWorkerNextNetworkCommandReply messages. */
void HandleNextNetworkCommandReplyMessage(const FAutomationWorkerNextNetworkCommandReply& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
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
/** Handles FAutomationWorkerPing messages. */
void HandlePingMessage(const FAutomationWorkerPing& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
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
/** Handles FAutomationWorkerResetTests messages. */
void HandleResetTests(const FAutomationWorkerResetTests& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
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
/** Handles FAutomationWorkerRequestTests messages. */
void HandleRequestTestsMessage(const FAutomationWorkerRequestTests& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
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
/** Handles FAutomationWorkerRunTests messages. */
void HandleRunTestsMessage(const FAutomationWorkerRunTests& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
/** Handles FAutomationWorkerStopTests messages. */
void HandleStopTestsMessage(const struct FAutomationWorkerStopTests& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
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
/** Handles FAutomationWorkerImageComparisonResults messages. */
void HandleScreenShotCompared(const FAutomationWorkerImageComparisonResults& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3167359) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3152124 on 2016/10/05 by Jamie.Dale Fixed SOutputLog filter not handling OnTextCommitted Change 3152255 on 2016/10/05 by Michael.Dupuis #jira UE-28173 Support \" properly in FName Change 3152273 on 2016/10/05 by Nick.Darnell Core - The module manager is now thread safer, we had a critical section around the internal module list - but we were incrementing/decrementing shared pointers to module data shared pointers that were not thread safe outside of the critical section. Ran into a crash working on some heavily threaded code in automation. Change 3152314 on 2016/10/05 by Nick.Darnell Automation - Continued work to rough out the automation workflow for screenshot. Still lots of work remaining, but it appears the basic of approving images might be working as of this CL. Change 3152316 on 2016/10/05 by Michael.Dupuis #jira UE-30346 Update selection when in tree view mode Change 3152317 on 2016/10/05 by Nick.Darnell Automation - Adding some test shots to compare against to EngineTest for screenshot approval. Change 3152319 on 2016/10/05 by Michael.Dupuis #jira UE-29817 StringAssetReference will now only open an Asset picker (not actor picker) as the goal is to reference an asset Change 3152521 on 2016/10/05 by Nick.Darnell Automation - Fixing some issues with where it reads the screenshot compare rules. Change 3152536 on 2016/10/05 by Alexis.Matte Fix FBX automation test. - Make sure the fbx test can avoid automatic detection of the mesh type - Avoid to log the warning when the importer set the material usage after creating a material for skeletalmesh. Change 3152572 on 2016/10/05 by Nick.Darnell Automation - The GameProjectAutomationTests now do some pre-run house cleaning to make sure the project doesn't already exist, and tries to remove it if it was created previously but not deleted. Change 3152591 on 2016/10/05 by Nick.Darnell Automation - Changing the game project errors to be errors. Change 3153115 on 2016/10/06 by Jamie.Dale Removed superflous padding when SPropertyEditorAsset had no buttons Change 3153215 on 2016/10/06 by Michael.Dupuis Fixed build warning Change 3153248 on 2016/10/06 by Nick.Darnell Automation - Working on solving projects not being generated, suspect UBT isn't built or isn't available. Change 3153255 on 2016/10/06 by Nick.Darnell PR #2835: Fix TestEqual AddError Message in FAutomationTestBase (Contributed by dorgonman) #jira UE-36922 Change 3153300 on 2016/10/06 by Nick.Darnell Automation - Enabled verbose logging to automation build farm. Change 3153343 on 2016/10/06 by Matt.Kuhlenschmidt PR #2825: More project launcher progress improvements (Contributed by projectgheist) Change 3153506 on 2016/10/06 by Gareth.Martin Fixed crash trying to edit landscape with r.LightPropagationVolume=1 enabled #jira UE-36933 Change 3153752 on 2016/10/06 by tim.gautier Add toggle button to UMG_Behavior. Set Level Blueprint for TM-UMG to AllWidget Change 3153763 on 2016/10/06 by Nick.Darnell Automation - Disable verbose logging. Change 3153778 on 2016/10/06 by Nick.Darnell PR #2837: Fixed engine compilation with defined LOG_SLATE_EVENTS (Contributed by Pierdek) #jira UE-36940 Change 3153943 on 2016/10/06 by Nick.Darnell Automation - Disabling some broken tests. Change 3154035 on 2016/10/06 by Nick.Darnell Automation - Fixing re-runs for tests that want them. Previously this wasn't working for any test that was run using the Reprostring method of being executed. Change 3154039 on 2016/10/06 by Nick.Darnell Automation - Updating some test assets in the EngineTest project. Change 3154476 on 2016/10/07 by Richard.TalbotWatkin Fix to regression where vertex color view in Mesh Paint Mode no longer worked correctly. We now allow selected static meshes to go down the dynamic path if VertexColors show mode is active. #jira UE-36772 - Selecting a channel in Vertex Paint mode does not show the channel color Change 3154650 on 2016/10/07 by Alexis.Matte Add new front axis facing X option to fbx importer Change 3154785 on 2016/10/07 by Nick.Darnell Automation - Continued work on automation, ripping out the message bus from the screenshot manager, that's causing the screenshot manager to recieve shots from every machine ever running tests. The Automation Controller is now in charge, and will tell the screenshot manager whatever it needs. Change 3155131 on 2016/10/07 by Michael.Dupuis #jira UE-36509 Do not disabled inverse filter when doing a sync to asset Change 3155141 on 2016/10/07 by Michael.Dupuis #jira UE-36056 Do not open the Actor Picker if we're working on an archetype object Change 3155262 on 2016/10/07 by Michael.Dupuis #jira UE-19737 reset ctrl key when resetting state to None Change 3156326 on 2016/10/09 by Matt.Kuhlenschmidt Fixed crash when asset picker is used without a property editor (usually a heavily customized property). Change 3156473 on 2016/10/10 by Richard.TalbotWatkin Attempt to make geometry render / rebuild more robust in the hope of catching UE-36265. #jira UE-36265 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::HasSelectedSurfaces() [modelrender.cpp:538] Change 3156479 on 2016/10/10 by Richard.TalbotWatkin Fixed non-editor build. Change 3156579 on 2016/10/10 by Alexis.Matte Add a check to make sure curve pointer is valid. #jira UE-36177 Change 3156585 on 2016/10/10 by Ben.Marsh Fix line endings for screenshot settings. Change 3156617 on 2016/10/10 by Matt.Kuhlenschmidt Disable per-pixel blending of menus by default. Causes artifacts on windows versions and we are not using it. Change 3156674 on 2016/10/10 by Nick.Darnell Automation - Continued work on the automation workflow. Now screenshot functional test actors actually have the screenshot processed for differences during the test back on the test controller machine, and then waits for the results of the comparison to be performed. Change 3156709 on 2016/10/10 by Alexis.Matte #jira UE-16337 Make sure the base mesh import data transform is used when we import a LOD. Change 3156714 on 2016/10/10 by Nick.Darnell Automation - Fixing -game crash due to TestName being null in functional test. Change 3156721 on 2016/10/10 by Nick.Darnell Automation - FunctionalAITest now implements IsReady to check if the navigation mesh has finished being built. Change 3156748 on 2016/10/10 by Nick.Darnell Autopmation - Fixing a warning. Change 3156943 on 2016/10/10 by Alex.Delesky Fixed an issue where closing out the "Add Code" window with an active toast stating that an IDE was downloading would prevent the toast from clearing correctly. #jira none Change 3156946 on 2016/10/10 by Alex.Delesky #jira UE-36414 - Adding support for the P4Changelist command line argument to the P4 operations that were missing it. Change 3158215 on 2016/10/11 by Nick.Darnell Automation - Continued work on the screenshot comparison, fixed a crash, the system now reports if the screenshot was new, as well as similar, so that the script can react and warn when new screenshots are produced. Manually fired screenshots now properly wait until they've been compared before the test moves forward. Change 3158322 on 2016/10/11 by Michael.Dupuis #jira UE-36063 If the collection is not shown when trying to save one, force show them so the user understand what is going on Change 3158333 on 2016/10/11 by Alex.Delesky #jira UE-36829 - Rebuilt SVN 1.9.4 libs for Windows with CyrusSASL 2.1.26 and SWIG 3.0.10 support. Change 3158399 on 2016/10/11 by Nick.Darnell Automation - TTF Font log statements that were not warnings are no longer warnings. Change 3158406 on 2016/10/11 by Nick.Darnell Automation - Updating some automation scripts in the engnine that were using file paths to now use FStringAssetReferences, that cleaned up a lot of nasty convert filepath to asset reference code in the tests. Also introducing some maps, and setting up the configs to use them to try and appease some of the existing tests that were expecting them. Change 3158419 on 2016/10/11 by Alex.Delesky #jira UE-36829 - SVN 1.9.4 libraries, but also with Java 8u101 support. Change 3158537 on 2016/10/11 by Nick.Darnell Automation - Updating some automation scripts in the engnine that were using file paths to now use FStringAssetReferences, that cleaned up a lot of nasty convert filepath to asset reference code in the tests. Also introducing some maps, and setting up the configs to use them to try and appease some of the existing tests that were expecting them. Adding some missing files. Change 3158726 on 2016/10/11 by Michael.Dupuis #jira UE-37001 Perform manual migration of UICurve to proper config category Change 3158728 on 2016/10/11 by Nick.Darnell Automation - Fixing some warnings. Adding more testing to the Domino map to serve as a better example. Change 3158753 on 2016/10/11 by Michael.Dupuis #jira UE-26261 change it's by its Change 3158984 on 2016/10/11 by Alexis.Matte Fix D&D folder import in content browser. We have to expand the root directory to have the correct path. #jira UE-32155 Change 3159640 on 2016/10/12 by Jamie.Dale Split localized package redirection out of FCoreDelegates::PackageNameResolvers They're different enough in behavior that the delegate resolution was breaking the localized package resolution by resolving in too many places and causing the localized package to be loaded with its real localized name as well as the fake non-localized name. #jira UE-37119 Change 3159741 on 2016/10/12 by Nick.Darnell Slate - Fixing the SGraphPanel's mouse offset calculations so that it works with HDPI mode. Change 3159762 on 2016/10/12 by Nick.Darnell Automation - Adding a way to take a screenshot with the UI, not great yet - it doesn't really obey the rules of resolution, because of the method it uses. Change 3160210 on 2016/10/12 by Gareth.Martin Fixed crash when changing Landscape LOD while using "Grass use Landscape Lightmap" Change 3160216 on 2016/10/12 by Gareth.Martin Removed unused FLandscapeComponentSceneProxy::LayerNames and made LayerColors editor-only Fixed negative LODBias on landscape components to actually do anything Change 3160239 on 2016/10/12 by Gareth.Martin Removed an unused variable Change 3160455 on 2016/10/12 by Jamie.Dale Fixed FText properties exported to asset tags displaying in their NSLOCTEXT form in the asset tooltips Change 3160457 on 2016/10/12 by Jamie.Dale Localization automation now groups everything into a single CL and reverts PO files without significant changes Change 3160554 on 2016/10/12 by Nick.Darnell UMG - Fixing some panning logic to work with HDPI mode in the designer. Change 3161712 on 2016/10/13 by Jamie.Dale Fixed TSharedMapView using hard-coded types Change 3163044 on 2016/10/14 by Jamie.Dale Fixed line-break iterators incorrectly breaking words in CJK Change 3163046 on 2016/10/14 by Jamie.Dale Text layout no longer creates break candidates when wrapping is disabled Change 3163217 on 2016/10/14 by Jamie.Dale Fixed ensure caused by FMediaTextureResource::GetResourceSizeEx Change 3163641 on 2016/10/14 by Alex.Delesky #jira UE-36829 - Updated Mac SVN libraries, along with a more accurate changelog for Windows SVN libs Change 3164428 on 2016/10/17 by Nick.Darnell Slate - Making the FReply for SetMousePos easier to debug, since that option is potentially very frustrating to debug when someone is changing it. Change 3164833 on 2016/10/17 by Jamie.Dale Fixed ParseNumber consuming strings with multiple sequential dots as valid numbers, eg) "10..." Change 3164868 on 2016/10/17 by Alexis.Matte Remove re-import material and LOD import material #jira UE-36640 Change 3164874 on 2016/10/17 by Alexis.Matte Fix fbx scene re-import of staticmesh loosing there materials #jira UE-37032 Change 3165080 on 2016/10/17 by Alexis.Matte Remove skinxx workflow for static mesh #jira UE-37262 Change 3165232 on 2016/10/17 by Nick.Darnell Automation - Adding some sub-level testing. Change 3165822 on 2016/10/18 by Nick.Darnell Slate - Add a counter to track how much time we spend drawing custom verts each frame. Change 3165934 on 2016/10/18 by Nick.Darnell Slate - Addding cycle counters to SInvalidationPanel's Tick and Paint. Change 3165947 on 2016/10/18 by Nick.Darnell Slate - Addding very verbose slate stats behind a compiler flag to avoid the large overhead of these stats. To enable them you'll need to set WITH_VERY_VERBOSE_SLATE_STATS to 1, added a guide on debugging slate performance to the SlateGlobals.h // HOW TO GET AN IN-DEPTH PERFORMANCE ANALYSIS OF SLATE // // Step 1) // Set WITH_VERY_VERBOSE_SLATE_STATS to 1. // // Step 2) // When running the game (outside of the editor), run these commandline options // in order and you'll get a large dump of where all the time is going in Slate. // // stat group enable slateverbose // stat group enable slateveryverbose // stat dumpave -root=stat_slate -num=120 -ms=0 Change 3165962 on 2016/10/18 by Nick.Darnell UMG - Play first frame of sequence in UMG immediately when told to play an animation. Change 3165981 on 2016/10/18 by Nick.Darnell Core - GetDisplayNameText now stores the FName for DisplayName in a static instead of using TEXT("DisplayName"). Change 3166000 on 2016/10/18 by Jamie.Dale Removed bulk-data from fonts The main complaints about composite fonts have always been: 1) They use too much memory at runtime. 2) They bloat if you use the same font face twice. 3) They often break when used outside the game thread. This change aims to address all of these issues by removing bulk-data from fonts (which was the cause of the memory bloat and threading issues), and introduces UFontFace assets (which allow you to re-use the same font face in different entries within a composite font). No existing font data is lost during this transition, however you must manually update your UFont assets to reference external UFontFace assets before you're able to edit the existing data (which is automatically upgraded to UFontFace assets *within* the UFont package). This upgrade can be done via the composite font editor. During cook these UFontFace assets write out the actual TTF/OTF font data as a .ufont file, which is what FreeType actually loads at runtime (the internals of the Slate font cache are now completely independent of UObjects and their lifetimes and loading concerns). Since we're now always loading files from disk, we can also give the user an option of whether to "pre-load" (which will load the entire font into memory, like bulk-data always used to), or "stream" the font from disk (which has minimal memory overhead, but needs decent I/O performance). Change 3166001 on 2016/10/18 by Jamie.Dale Updated the Launcher to no longer use bulk-data for fonts Change 3166003 on 2016/10/18 by Jamie.Dale Updated the Engine fonts to use UFontFace assets Change 3166028 on 2016/10/18 by Alex.Delesky #jira UE-37021 - The scrollbar will now remain at the bottom of the output log after specifying a filter. Change 3166071 on 2016/10/18 by Nick.Darnell Slate - Fixing a warning about hiding an inherited member. Change 3166213 on 2016/10/18 by Jamie.Dale Fixing crash caused by accessing a zeroed FText Change 3166222 on 2016/10/18 by Nick.Darnell Automation - Adding some code to end the sub level test when it starts. Change 3166231 on 2016/10/18 by Nick.Darnell Editor - Fixing the build warning, SOutputLog.cpp:748:4: warning: field 'TextLayout' will be initialized after field 'CachedNumMessages' Change 3166717 on 2016/10/18 by Nick.Darnell Automation - Removing references to old options that are no longer file paths, and are now StringAssetReferences these options were not being used by anyone as far as I can tell. #jira UE-37482 Change 3167279 on 2016/10/19 by Jamie.Dale Fixed text render component regression with custom MIDs #jira UE-37305 Change 3167356 on 2016/10/19 by Alexis.Matte Make sure the old asset are build correctly #jira UE-37461 Change 3167359 on 2016/10/19 by Alexis.Matte Fix re-import of mesh material assignment regression #jira UE-37479 [CL 3168049 by Matt Kuhlenschmidt in Main branch]
2016-10-19 15:01:48 -04:00
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
/** Handles FAutomationWorkerTestDataResponse messages. */
void HandleTestDataRetrieved(const FAutomationWorkerTestDataResponse& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
Copying //UE4/Dev-Automation to //UE4/Dev-Main (Source: //UE4/Dev-Automation @ 3448586) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3383163 on 2017/04/06 by james.fox Enabling Overlap automation tests. Change 3387240 on 2017/04/10 by James.Fox Enabling ProcMesh automation tests. Made minor changes to in-level object names. Change 3397994 on 2017/04/18 by Nick.Darnell Automation - Adding some areas for future extension to allow transmission of data, and performance information between controller and client. The next step is to expose a way in blueprints, or via C++ to hook these events and send these messages. Change 3401903 on 2017/04/20 by samuel.proctor Test map for blueprint bitwise operators Change 3405592 on 2017/04/24 by Benjamin.Hyder Updated Roughness only example to be more visible in Decals test map Change 3405625 on 2017/04/24 by Benjamin.Hyder Re-Saving material in decals map to remove log spam Change 3406256 on 2017/04/24 by Mason.Seay Show Collision tests, with Ground Truth Screenshots Change 3410179 on 2017/04/26 by mason.seay Beginning of Math test map Change 3412646 on 2017/04/27 by mason.seay More math tests Change 3413556 on 2017/04/28 by Adric.Worley Add support for expected errors in automation tests Automation tests can now define expected errors/warnings that will not prevent the test from succeeding. If expected messages are not encountered, the test will fail. The intent is to allow unit tests to verify negative or error cases while keeping the test pass report green. It is not intended as an error suppression system. #tests new automation tests Change 3414217 on 2017/04/28 by mason.seay Wake Event functional test map Disabled Collision tests that still need review. Change 3414605 on 2017/04/28 by mason.seay Added more tests to Math map Change 3415806 on 2017/05/01 by Adric.Worley Suspend log parsing during tests with expected errors Electric Commander was failing successful test passes that have expected errors because of its log parsing. BenM added markers to temporarily disable error parsing in CL 3414237, which this implements usage of. #tests preflight Change 3416022 on 2017/05/01 by Mason.Seay Physics/ChildTransform tests Change 3420820 on 2017/05/03 by Nick.Darnell Automation - Allowing users to control the delay from the quick getter functions for Default Game/Rendering settings for screenshots. Avoids needing to add more delay nodes to your graph. Improving the Box Drop example to use the new delay options. The FunctionalTest actor now ticks even when the game is paused. Change 3422013 on 2017/05/03 by Nick.Darnell Automation - Adding an initial version of a ground truth storge mechanism that will only run in the editor. Users can use special runs of their tests to store the ground truth, then rewire things to then in the future read that ground truth. Added an example map showing the usage. Change 3422802 on 2017/05/04 by Nick.Darnell Automation - Fixing a crash in the curve asset actions that assumes there will always be import data. Change 3422803 on 2017/05/04 by Nick.Darnell Automation - Adding some comments to the ground truth function. Change 3423739 on 2017/05/04 by Nick.Darnell Automation - Introducing a way for people to provide Ground Truth for their tests. Change 3423768 on 2017/05/04 by Nick.Darnell Automation - GTD can no longer be modified on the build machine. Unchecking modifiable on the example GTD. Change 3425226 on 2017/05/05 by Nick.Darnell Automation - Fixing the FinishLoading code to only force shader compilation on platforms that don't require cooking. #jira UE-44669 Change 3428140 on 2017/05/08 by Ori.Cohen Added ground truth for scene query testing. Change 3441024 on 2017/05/16 by Nick.Darnell Automation - Ground truth pass, improving system based on feedback. Ditching the bCanModify, there's now a way to reset the data, and if it's been filled, you've got to reset it to save over it. Change 3443894 on 2017/05/17 by Nick.Darnell Automation - Automation tweaking some logging. Change 3446426 on 2017/05/18 by Nick.Darnell Automation - Adding additional logging and attempting to fix the warning on the build machine. Change 3447617 on 2017/05/18 by Nick.Darnell Automation - Found an issue with the automation system keeping an old map around if the names were similar enough, and one contained the entirety of the other map's name. This should fix the overlap warnings on the build machine. Also cleaned up several places in the functional test manager that looked like they could cause confusion and problems with cleaning them up. [CL 3449079 by Nick Darnell in Main branch]
2017-05-19 15:08:55 -04:00
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
/** Handles FAutomationWorkerPerformanceDataResponse messages. */
void HandlePerformanceDataRetrieved(const FAutomationWorkerPerformanceDataResponse& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
Copying //UE4/Dev-Automation to //UE4/Dev-Main (Source: //UE4/Dev-Automation @ 3448586) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3383163 on 2017/04/06 by james.fox Enabling Overlap automation tests. Change 3387240 on 2017/04/10 by James.Fox Enabling ProcMesh automation tests. Made minor changes to in-level object names. Change 3397994 on 2017/04/18 by Nick.Darnell Automation - Adding some areas for future extension to allow transmission of data, and performance information between controller and client. The next step is to expose a way in blueprints, or via C++ to hook these events and send these messages. Change 3401903 on 2017/04/20 by samuel.proctor Test map for blueprint bitwise operators Change 3405592 on 2017/04/24 by Benjamin.Hyder Updated Roughness only example to be more visible in Decals test map Change 3405625 on 2017/04/24 by Benjamin.Hyder Re-Saving material in decals map to remove log spam Change 3406256 on 2017/04/24 by Mason.Seay Show Collision tests, with Ground Truth Screenshots Change 3410179 on 2017/04/26 by mason.seay Beginning of Math test map Change 3412646 on 2017/04/27 by mason.seay More math tests Change 3413556 on 2017/04/28 by Adric.Worley Add support for expected errors in automation tests Automation tests can now define expected errors/warnings that will not prevent the test from succeeding. If expected messages are not encountered, the test will fail. The intent is to allow unit tests to verify negative or error cases while keeping the test pass report green. It is not intended as an error suppression system. #tests new automation tests Change 3414217 on 2017/04/28 by mason.seay Wake Event functional test map Disabled Collision tests that still need review. Change 3414605 on 2017/04/28 by mason.seay Added more tests to Math map Change 3415806 on 2017/05/01 by Adric.Worley Suspend log parsing during tests with expected errors Electric Commander was failing successful test passes that have expected errors because of its log parsing. BenM added markers to temporarily disable error parsing in CL 3414237, which this implements usage of. #tests preflight Change 3416022 on 2017/05/01 by Mason.Seay Physics/ChildTransform tests Change 3420820 on 2017/05/03 by Nick.Darnell Automation - Allowing users to control the delay from the quick getter functions for Default Game/Rendering settings for screenshots. Avoids needing to add more delay nodes to your graph. Improving the Box Drop example to use the new delay options. The FunctionalTest actor now ticks even when the game is paused. Change 3422013 on 2017/05/03 by Nick.Darnell Automation - Adding an initial version of a ground truth storge mechanism that will only run in the editor. Users can use special runs of their tests to store the ground truth, then rewire things to then in the future read that ground truth. Added an example map showing the usage. Change 3422802 on 2017/05/04 by Nick.Darnell Automation - Fixing a crash in the curve asset actions that assumes there will always be import data. Change 3422803 on 2017/05/04 by Nick.Darnell Automation - Adding some comments to the ground truth function. Change 3423739 on 2017/05/04 by Nick.Darnell Automation - Introducing a way for people to provide Ground Truth for their tests. Change 3423768 on 2017/05/04 by Nick.Darnell Automation - GTD can no longer be modified on the build machine. Unchecking modifiable on the example GTD. Change 3425226 on 2017/05/05 by Nick.Darnell Automation - Fixing the FinishLoading code to only force shader compilation on platforms that don't require cooking. #jira UE-44669 Change 3428140 on 2017/05/08 by Ori.Cohen Added ground truth for scene query testing. Change 3441024 on 2017/05/16 by Nick.Darnell Automation - Ground truth pass, improving system based on feedback. Ditching the bCanModify, there's now a way to reset the data, and if it's been filled, you've got to reset it to save over it. Change 3443894 on 2017/05/17 by Nick.Darnell Automation - Automation tweaking some logging. Change 3446426 on 2017/05/18 by Nick.Darnell Automation - Adding additional logging and attempting to fix the warning on the build machine. Change 3447617 on 2017/05/18 by Nick.Darnell Automation - Found an issue with the automation system keeping an old map around if the names were similar enough, and one contained the entirety of the other map's name. This should fix the overlap warnings on the build machine. Also cleaned up several places in the functional test manager that looked like they could cause confusion and problems with cleaning them up. [CL 3449079 by Nick Darnell in Main branch]
2017-05-19 15:08:55 -04:00
/** Dispatches telemetry data to data collector */
void HandleTelemetryData(const FString& StorageName, const FString& InTestName, const TArray<FAutomationTelemetryData>& InItems);
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
/** Handles FAutomationTestFramework PreTestingEvents. */
void HandlePreTestingEvent();
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
/** Handles FAutomationTestFramework PostTestingEvents. */
void HandlePostTestingEvent();
#if WITH_ENGINE
/** Invoked when we have screen shot to send. */
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3133954) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3077573 on 2016/08/04 by Nick.Darnell Removing some unused code, adding additional needed modules to editor tests. #rb none Change 3077580 on 2016/08/04 by Nick.Darnell Removing the test plugins, going to be recreating them in EngineTest. Change 3082659 on 2016/08/09 by Nick.Darnell Automation - Presets are now stored in json files stored in Config so they can be shared, and human readable. Working on screenshot automation, getting it where it needs to be to permit us to have repeatable tests for comarison. Removing the option to not take full size screenshots, that defeats the purpose of being able to compare them. #rb none Change 3082766 on 2016/08/09 by Jamie.Dale Fixed crashes when dealing with code-points outside the BMP on platforms with UTF-32 FStrings ICU always deals with its offsets as UTF-16 (as it always uses UTF-16 internally with icu::UnicodeString), so there were a couple of places in code (break iteration, and bidi detection) where we needed to adjust those UTF-16 offsets to UTF-32 offsets in the case where FString is UTF-32. #jira UE-33971 #rb James.Hopkin Change 3083067 on 2016/08/09 by Nick.Darnell Automation - Working on screenshot support, system now allows a lot more customization in terms of how large the shot is. #rb none Change 3084475 on 2016/08/10 by Richard.TalbotWatkin Fixed issue with ModelComponent replication in client/server PIE if BSP is rebuilt. ModelComponent now implements IsNameStableForNetworking and always returns true, as a level's model components will never be rebuilt during a game session. Brush poly normals are now only fixed up in Editor builds. #jira UE-34391 - No run animation on client that is not focused when running 2 player and dedicated server #codereview Matt.Kuhlenschmidt #rb none Change 3084661 on 2016/08/10 by Matt.Kuhlenschmidt Added grayscale texture importing support #rb none Change 3084774 on 2016/08/10 by Cody.Albert Adding controller support for ComboBox widget #jira UE-33826 #rb nick.darnell Change 3085716 on 2016/08/11 by Nick.Darnell UMG - Taking the Widget Component and Widget Interaction Components out of experimental. Removed old importing support for upgrading ancient versions of widget components. Removing parbola distortion, as users can now do whatever they want in their custom MID they can override the widget with. #rb none Change 3085733 on 2016/08/11 by Nick.Darnell UMG - Documenting the meta parameters allowed on widgets, like we do for regular UObjects. For binding widgets from blueprints you can now do BindWidget (unchanged), and to simplify binding widgets optionally, you can now just do (BindWidgetOptional), rather than the combination of BindWidget + OptionalWidget=true. Made generating the Design time wrapper call a little more efficent, by optimizing it away by force inlining a noop. Also added some additional checking when we forcefully set focus in UMG, to help people catch cases where they set focus, but didn't make the widget focusable. #rb none Change 3085734 on 2016/08/11 by Nick.Darnell Texture - Making GetDefaultMipMapBias a bit more efficent in the common case. #rb none Change 3085736 on 2016/08/11 by Nick.Darnell Static Lighting - Warning the user when they build lighting, but have bForceNoPrecomputedLighting set to true on the world settings. #rb none Change 3085737 on 2016/08/11 by Nick.Darnell Editor - code organization. #rb none Change 3085875 on 2016/08/11 by Nick.Darnell UMG - You can now use 'G' to toggle game mode on the designer so that you can disable and enable the dashed lines around containers. The option in the settings is now used as the default when you startup a designer. #rb none Change 3086209 on 2016/08/11 by Ben.Salem Make our automated test pass reporting more robust and pipe out to JSON in \saved\automation\logs\AutomationReport-{CL}-{Timestamp}.json format. #rb adric.worley, william.ewen Change 3086515 on 2016/08/11 by Nick.Darnell Editor - Fixing a crash in the curve table customization. If the row doesn't exist, it would crash, we now protect against that case. #rb Matt.Kuhlenschmidt Change 3087216 on 2016/08/12 by Jamie.Dale Fixed an issue where re-scanning a package file may leave old assets in the asset registry We didn't used to clear out anything associated with the old package before scanning the file, which could result in old assets being left if they'd since been removed from the package. This also exposes a PackageDeleted function to allow people to manually clear anything associated with a package (if doing some custom asset work). #rb Andrew.Rodham Change 3087219 on 2016/08/12 by Jamie.Dale Updated TextRenderComponent to support multiple font pages It used to use the correct UV data, but wouldn't set the correct texture page when rendering. It now creates MIDs for all of the texture pages used by the font, and will use these MIDs (which override the font page on the material) when rendering the text (batched on sequential index/vertex buffer data with the same texture page). #rb Matt.Kuhlenschmidt Change 3087308 on 2016/08/12 by Alex.Delesky #jira UE-14727 - Support for editing TSet properties in the editor's Details panel has been added. #rb Matt.Kuhlenschmidt Change 3089140 on 2016/08/15 by Jamie.Dale We now abort a directory watch if we lose access to the directory in question This prevents an infinite loop in the call to MsgWaitForMultipleObjectsEx if a watched directory is deleted. #jira UE-30172 #rb Andrew.Rodham Change 3089148 on 2016/08/15 by Alexis.Matte Allow fbx export of any actor type. #rb none #codereview dmitriy.dyomin Change 3089211 on 2016/08/15 by Jamie.Dale Unified access to the parent window for external dialogs A lot of places used to ad-hoc use the MainFrame window, even when they had access to a widget that may be belong to a different window. This could cause issues where an external dialog could appear behind a modal UE4 window (as it would appear above the MainFrame), and be inaccessible. You can now use IMainFrameModule::GetBestParentWindowHandleForDialogs to get the best window handle to use for an external dialog. This will either be the parent window for the given widget (if known), or failing that, the MainFrame window. #rb Andrew.Rodham Change 3089640 on 2016/08/15 by Jamie.Dale Wrapped UMaterialExpression::MenuCategories in WITH_EDITORONLY_DATA to avoid gathering it for game-only loc #rb none Change 3089661 on 2016/08/15 by Nick.Darnell Editor - There's a new view option "Show C++ Classes" in the content browser. Lets you hide all those C++ folders most folks probably don't care to see. #rb none Change 3089667 on 2016/08/15 by Cody.Albert Updating RoutePointerUpEvent to call OnDrop for touch events when dragging #jira UE-34709 #rb nick.darnell Change 3089694 on 2016/08/15 by Jamie.Dale Applied a fix to the ExcludeClasses setting in the loc gather #rb none Change 3089889 on 2016/08/15 by Nick.Darnell Automation - Continued work on the screenshot portion of the automation system. Going to start using the adapter information in the screenshots taken, otherwise we can't accurately test a plethora of devices sharing the same OS, with different capabilities. #rb none Change 3090256 on 2016/08/16 by Nick.Darnell Automation - working on screenshots. #rb none Change 3090322 on 2016/08/16 by Nick.Darnell Automation - Adding modified screenshot function. #rb none Change 3090335 on 2016/08/16 by Nick.Darnell Automation - The tests were determined to need to be shared afterall, but at least keeping them as plugins. Moved to Engine plugins. #rb none Change 3090881 on 2016/08/16 by Nick.Darnell Automation - Moving the content over and fixing up some code so that the AutoRimport tests work as expected. #rb none Change 3090884 on 2016/08/16 by Nick.Darnell Plugins - There's now support for generating a Content Only plugin from the new plugin wizard. #rb none Change 3090911 on 2016/08/16 by Nick.Darnell Feature Packs - If there's an error loading a manifest, it's now an error, not a warning. #rb none Change 3090913 on 2016/08/16 by Jamie.Dale Optimization and usability improvements of the MemoryProfiler2 tool - Optimized the processing of the Callgraph, Histogram, and Short lived allocations views. - The callgraph view is now using a virtualized tree view mapped to our own internal tree. This allows us to amortize the cost of adding nodes to the TreeView as the user views the nodes in the tree. In my own test, this took callgraph generation from ~45 seconds to ~5 seconds. - The Histogram view was vastly optimized via the use of a HashSet on the callstack filter, and the batch addition of unsorted callstacks that are sorted once at the end. In my own test, this took histogram generation from ~15 minutes to ~2 seconds. - The Short lived allocations view was optimized by avoiding redundant sorting, including maintaining a sorted order while inserting items, and instead doing a final sort at the end. The column selection was also optimized by avoiding copying the entire dataset just to resort it. In my own test, this took short lived allocation generation from ~1 minute to ~3 seconds. - Added a user-configurable list of allocator functions to trim (which now includes FMemory and operator new by default, and produces much cleaner callstacks). #jira UETOOL-948 #jira UETOOL-949 #rb James.Hopkin Change 3090962 on 2016/08/16 by Jamie.Dale Fixed double assignment of filter functions #rb none Change 3090989 on 2016/08/16 by Nick.Darnell Editor - Attempting to fix the build, non-unity issue I suspect. #rb none Change 3091754 on 2016/08/17 by Nick.Darnell FbxAutomationTestBuilder is now a plugin. Users won't see it unless they've enabled the plugin (so primarily internal QA). Reorganized the automation tools and testing menu to be a bit lower in the main menu, and gave them a more test sounding name. Additionally made some modifications to the workspace menu structure to allow generating just a subset of a workplace menu so that I could target where I wanted to insert all of the automation tool menu items, rather than just allowing the general placement of them under developer tools...etc. #rb none #codereview Alexis.Matte Change 3091758 on 2016/08/17 by Nick.Darnell Slate / Editor - Trying to make the editor less focus greedy. Now when there are notification popups and tabs attempt to grab your attention we now do a few activation ownership checks to ensure that it or a parent window actually owns activation. Not doing this has the nasty side effect of things like notifications and message log errors that popup while playing the game (if the game is in new window PIE), causing the game to be hidden, and focus returned to the editor. Ran into this a lot running the automation tests, the new PIE window that's launched to run tests is immediately hidden as soon as the tests log a warning or error or a notification about high res screenshots happens. #rb none #codereview Nick.Atamas,Matt.Kuhlenschmidt Change 3091829 on 2016/08/17 by Nick.Darnell Build - Attempting to repair the build. #rb none Change 3091920 on 2016/08/17 by Nick.Darnell Build - Another attempt at fixing the mac build. #rb none Change 3093380 on 2016/08/18 by Matt.Kuhlenschmidt Ignore group actors when checking for references to other actors when deleting. The check for references is designed for gameplay affecting references which groups are not. Having this show up for groups is annoying #rb none Change 3094474 on 2016/08/19 by Jamie.Dale Fixed PS4 error when building with USE_MALLOC_PROFILER, and optimized symbol name resolution for a build with USE_MALLOC_PROFILER enabled #jira UETOOL-951 #rb James.Hopkin Change 3094581 on 2016/08/19 by Jamie.Dale Added missing allocator filter needed by PS4 profiles #rb none Change 3094681 on 2016/08/19 by Richard.TalbotWatkin Fixed issue where painting override vertex colors on a SpeedTree mesh would cause its wind animation to cease. The OverrideVertexColors vertex factory needed to be registered with the SpeedTree renderer. #jira UE-32762 - Custom VertexPaint on SpeedTrees interferes with wind animation #rb none Change 3095163 on 2016/08/19 by Trung.Le #jira UE-20849: Added tooltips to the inputs of the Material final result node #rb matt.kuhlenschmidt Change 3095285 on 2016/08/19 by Trung.Le #jira UE-20849 In SGraphNodeMaterialResult, renamed ToolTip to ToolTipWidget so we're not hiding class member #rb none Change 3095344 on 2016/08/19 by Alexis.Matte #jira UE-34690 When using the optionnal matrix to change the scene root node, we have to flush the fbx evaluation engine. Add also a new option to allow the user to automatically convert the fbx scene to unreal unit (centimeter). #rb none #codereview matt.kuhlenschmidt Change 3096162 on 2016/08/22 by Alexis.Matte #jira UE-34763 Remove offending no-action combo box entry when the json file is readonly. Also clean up other combo box menu. #rb none #codereview matt.kuhlenschmidt Change 3096261 on 2016/08/22 by Alexis.Matte #jira UE-33121 Make sure re-import all and import all fix all the issue before starting the job. So it get not interrupt during the process. #rb lina.halper #codereview lina.halper Change 3096344 on 2016/08/22 by Jamie.Dale NSString conversion fix for UTF-32 strings containing characters outside of the BMP #jira UE-33971 #rb Peter.Sauerbrei, James.Hopkin Change 3096605 on 2016/08/22 by Alex.Delesky #jira UE-34787 - Dropdown menus in standalone programs will now correctly display tooltips if they have any. #rb Matt.Kuhlenschmidt Change 3096615 on 2016/08/22 by Alex.Delesky #jira UE-33334 - Scrolling up on the mouse wheel when using the orbit camera should no longer move away from the orbit point when the camera moves too close to the orbit origin. #rb Matt.Kuhlenschmidt Change 3096619 on 2016/08/22 by Alex.Delesky #jira UE-34084 - Structs containing an enum with a value that contains a whitespace character will now serialize correctly when copied from the Details Panel. #rb Matt.Kuhlenschmidt Change 3097644 on 2016/08/23 by Matt.Kuhlenschmidt PR #2729: Fix a typo in the comment (Contributed by adcentury) #rb none Change 3097648 on 2016/08/23 by Matt.Kuhlenschmidt PR #2726: Undef unused macros (Contributed by shrimpy56) #rb none Change 3097697 on 2016/08/23 by Matt.Kuhlenschmidt Guard against crash when details panels rebuild when their customizations have been torn down https://jira.ol.epicgames.net/browse/UE-35048 #rb none Change 3097757 on 2016/08/23 by Alex.Delesky #jira UE-14727 - Support for editing TMap properties in the editor's Details panel has been added. This change also removes the Duplicate option from TSet elements, and disallows entry of duplicates elements into a TSet or duplicate keys into a TMap #rb Matt.Kuhlenschmidt Change 3098164 on 2016/08/23 by Alexis.Matte #jira UE-34686 Fbx importer bImportMeshesInBoneHierarchy is used also by the animation. #rb none #codereview matt.kuhlenschmidt Change 3098502 on 2016/08/23 by Alexis.Matte #jira UE-30951 Fbx option dialog, we disable the option to bake pivot if transform vertex position is true #rb none #codereview matt.kuhlenschmidt Change 3099986 on 2016/08/24 by Jamie.Dale Fixing non-editor builds #rb none Change 3101138 on 2016/08/25 by Matt.Kuhlenschmidt Fixed viewport redraw callback not being called when certian property modifications occur in the details panel (reset to default, array size changes, etc) #rb none Change 3101280 on 2016/08/25 by Jamie.Dale Fixed crash when counting memory over internationalization meta-data - The serialization code only used to handle loading or saving, now it handles loading or not loading. - The Type of the meta-data wasn't set by all constructors. For safety it has been removed and replaced with a virtual function that the derived types override. #rb James.Hopkin Change 3101283 on 2016/08/25 by Jamie.Dale MProf2 platform and symbol parsing improvements - Updated ISymbolParser to work with lazy symbol resolution (handled via the UI when looking at full callstacks). - Added a PS4 symbol parser which handles performing full file/line resolution for symbols. - Removed all the V3 file format support and legacy platform handling. - Optimized FStreamInfo.GetNameIndex so it can be used by the lazy symbol fixup. #rb James.Hopkin Change 3101586 on 2016/08/25 by Jamie.Dale Small code cleanup and path normalization #rb James.Hopkin Change 3101837 on 2016/08/25 by Alexis.Matte #jira UE-35101 we now store the sourceanimationname to retrieve the correct animtrack when re-importing animations #rb none #codereview matt.kuhlenschmidt Change 3102537 on 2016/08/26 by Jamie.Dale Fix for potential crash in FICUCamelCaseBreakIterator In platforms with UTF-32 strings, the index returned by FICUTextCharacterIterator may not be in the same range as FString, so we need to call InternalIndexToSourceIndex to ensure that it is. #rb James.Hopkin Change 3102582 on 2016/08/26 by Matt.Kuhlenschmidt Log the freetype version when it starts up (for debugging purposes) #rb none Change 3102657 on 2016/08/26 by Alexis.Matte #jira UE-29177 When re-importing a texture we want to notify materials using this texture so they can recompile the shader. #review-3101585 @uriel.doyon #rb matt.kuhlenschmidt Change 3102704 on 2016/08/26 by Jamie.Dale Added symbol meta-data support to MProf2 You can now define platform specific meta-data using FPlatformStackWalk::GetSymbolMetaData, which is then stored within the generated .mprof file. PS4 uses this meta-data to say where the original .self file can be found, so that MProf2 can usually automatically load the .self file without having to bother the user. #rb James.Hopkin Change 3102878 on 2016/08/26 by Matt.Kuhlenschmidt Added support for outline fonts - An outline size (in slate units), optional material and optional fill color can be specified with each font info. - Outlines do not contribute to measurement directly so the text measuring and shaping methods have been modified to account for outlines - Fixed a bug where font materials do not work properly if part of the font's rendered glyphs were in a different atlas #rb jamie.dale Change 3102879 on 2016/08/26 by Jamie.Dale Bumped the MProf2 version so we can tell which build of the tool can load v6 mprof files #rb none Change 3102960 on 2016/08/26 by Alexis.Matte build fix #rb none Change 3103032 on 2016/08/26 by Jamie.Dale Fixed SEditableText and SMultiLineEditableText not setting the correct foreground color when painting #jira UE-34936 #rb Matt.Kuhlenschmidt Change 3103278 on 2016/08/26 by Jamie.Dale Fixing Clang warnings #rb none Change 3104211 on 2016/08/29 by Ben.Marsh Add build script for automated tests, and create settings file for Dev-Editor which adds an agent pool for running them. #rb none Change 3104290 on 2016/08/29 by Alex.Delesky Adding additional documentation accessible from the editor for TSet and TMap properties, along with a quick clarification on container properties to let the user know what kind of container they're working with. #rb Matt.Kuhlenschmidt Change 3104292 on 2016/08/29 by Alex.Delesky #jira UE-35039 - Command/Control user keybindings will no longer flip-flop when the editor is opened on Mac. #rb Matt.Kuhlenschmidt Change 3104294 on 2016/08/29 by Alex.Delesky #jira UE-34952 - The user will no longer encounter an ensure when setting the value of Period equal to or less than 0 on the circular throbber widget #rb Matt.Kuhlenschmidt Change 3104295 on 2016/08/29 by Matt.Kuhlenschmidt PR #2682: Remove unused bUseDesktopResolutionForFullscreen (Contributed by stfx) #rb none Change 3104296 on 2016/08/29 by Alex.Delesky #jira UE-35160 - The Auto Distance Error for LOD meshes can now be set to any value larger than zero. #rb Matt.Kuhlenschmidt Change 3104348 on 2016/08/29 by Matt.Kuhlenschmidt Added the ability to clear the preview mesh on a material instance. Previously there was no way to null it out. #rb none Change 3104355 on 2016/08/29 by Matt.Kuhlenschmidt Guard against crash with invalid path to the default physical material. Just create a new one if it doesnt exist and warn about it. #rb none #jira UE-31865 Change 3104396 on 2016/08/29 by Ben.Marsh Fix incrorrect agent names for running automated tests Change 3104610 on 2016/08/29 by Alex.Delesky Fix for AutomationTool compile editor from changes introduced today. #rb None Change 3104611 on 2016/08/29 by Michael.Dupuis #jira UETOOL-253 #rb Alexis.Matte Change 3105826 on 2016/08/30 by Gareth.Martin Added console variables to discard grass and/or scalable foliage data on load #jira UE-35086 #rb Benn Change 3106126 on 2016/08/30 by Matt.Kuhlenschmidt Eliminated bad code duplication between retainer widgets and element batcher #rb none #codereview nick.darnell Change 3106449 on 2016/08/30 by Michael.Dupuis #jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu) #rb Alexis.Matte Change 3106966 on 2016/08/30 by Jamie.Dale Fixed FApp::IsAuthorizedUser not considering the SessionOwner override #rb Max.Preussner Change 3107687 on 2016/08/31 by Michael.Dupuis Checkout/Make Writable on proper config file #rb Matt Kuhlenschmidt Change 3107736 on 2016/08/31 by Matt.Kuhlenschmidt Fixed mode typos in the lerp instruction #rb none Change 3107830 on 2016/08/31 by Matt.Kuhlenschmidt Logging and guard against UEditorEngine::TeardownPlaySession crash. #rb none https://jira.ol.epicgames.net/browse/UE-35325 Change 3107912 on 2016/08/31 by Alex.Delesky #jira UE-35181 - Normalizing paths when retrieving absolute filenames for source control operations. #rb Matt.Kuhlenschmidt Change 3107986 on 2016/08/31 by Matt.Kuhlenschmidt Removed PropertyTestObject.h out of UnrealEd.h so you dont have to compile the entire editor when changing this one file. #rb none Change 3108027 on 2016/08/31 by Chris.Wood Re-added lost doc comment for analytics event "Engine.AbnormalShutdown". #rb none - just a comment in a cpp file #codereview wes.hunt Change 3108580 on 2016/08/31 by Mike.Fricker Deleted the "Live Editor" plugins from UE4 - These were undocumented, buggy and never finished, and we have no plans to complete them - Both the "LiveEditor" and "LiveEditorListenServer" plugins were deleted, along with related icon files #codereview matt.kuhlenschmidt #rb matt.kuhlenschmidt Change 3108604 on 2016/08/31 by Mike.Fricker Added new "MIDI Device" plugin (disabled by default) - This is a simple MIDI interface that allows you to receive MIDI events from devices connected to your computer - Currently only input is supported. In the future we might allow for output, as well. - In Blueprints, here's how to use it: - Look for "MIDI Device Manager" in the Blueprint RMB menu - Call "Find MIDI Devices" to choose your favorite device. Break the "Found MIDI Device" struct to see what's available. - Then call "Create MIDI Device Controller" for the device you want. Store that in a variable. - On your MIDI Device Controller, bind your own Event to the "On MIDI Event" event. This will be called every game Tick when there is at least one new MIDI event to receive. - Process the data passed into the Event to make your project do stuff! - This plugin makes use of the "PortMidi" third party library (which already existed in UE4 -- it was used by the now-deprecated 'LiveEditor' plugin) #codereview matt.kuhlenschmidt #rb none Change 3108760 on 2016/08/31 by Alexis.Matte #jira UE-25840 Fbx export collision mesh, we now export collision: box, sphere, capsule and convex mesh. There is an option in the editor preference to enable the export of collisions, default value is false. #rb none #codereview matt.kuhlenschmidt Change 3109006 on 2016/08/31 by Alex.Delesky #ignore Source Control rename test - initial commit Change 3109044 on 2016/08/31 by Alex.Delesky #ignore Testing asset rename from P4 to observe correct behavior. #rb none Change 3109048 on 2016/08/31 by Alex.Delesky #ignore Testing P4 rename to identify correct behavior #rb none Change 3110044 on 2016/09/01 by Gareth.Martin Fixed painting foliage on blocking "query" actors not working #jira UE-33852 #rb Allan.Bentham Change 3110133 on 2016/09/01 by Alexis.Matte Fix crash in function GetForceRecompileTextureIdsHash #rb none #codereview jamie.dale Change 3111848 on 2016/09/02 by Mike.Fricker MIDI Device plugin: Fixed compilation error on Clang compilers (Mac, Linux) - Fixed bad enum cast #rb none Change 3111995 on 2016/09/02 by Michael.Dupuis #jira UE-35263 Do not try selecting the actor if the actor is in the blueprint Properly Refresh the ToopTip & Hyper Link to take into account blueprint recreation process #rb Alexis Matte Change 3112280 on 2016/09/02 by Michael.Dupuis Call MakeWritable if source control fail #rb Alexis Matte Change 3112335 on 2016/09/02 by Cody.Albert Updating cursor hiding logic to not improperly hide cursor when left clicking in ortho mode #jira UE-35306 #rb none Change 3112478 on 2016/09/02 by Alexis.Matte #jira UE-20059 Use a base material to import fbx material. #rb uriel.doyon #codereview matt.kuhlenschmidt #1468 Github pull request number Change 3113912 on 2016/09/06 by Michael.Dupuis #jira UE-32288 Fixed Console params display #rb Alexis Matte Change 3114026 on 2016/09/06 by Alex.Delesky #jira UE-35123 - The Details panel in a Texture editor or Simple Asset editor window will no longer disappear when the inspected asset is imported again. #rb Matt.Kuhlenschmidt Change 3114032 on 2016/09/06 by Alex.Delesky PR #2733: Improved the project launcher progress page (Contributed by projectgheist) #jira UE-34027 #rb Matt.Kuhlenschmidt Change 3114034 on 2016/09/06 by Alex.Delesky #jira UE-35265 - Copying a comment node from a Material Function and pasting it inside a Material will no longer render the Material unsaveable #rb Matt.Kuhlenschmidt Change 3114071 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114109 on 2016/09/06 by Nick.Darnell [AUTOMATED TEST] Automatic checkin, testing functionality. Change 3114562 on 2016/09/06 by Nick.Darnell Adding LevelEditor to the FbxAutomationTestBuilder to fix a compiler issue. #rb none Change 3114701 on 2016/09/06 by Michael.Dupuis #jira UE-31988 add const to all usage of TArray<ItemType>* as it was done in SListView #rb Alexis Matte Change 3114861 on 2016/09/06 by Matt.Kuhlenschmidt Prevent non-thread safe slate code from running on the slate loading thread #rb none Change 3115698 on 2016/09/07 by Nick.Darnell Make sure the commands are available - during functional testing that was found to not always be the case. #rb none Change 3115719 on 2016/09/07 by Nick.Darnell Adding an IsRegistered command to commands. #rb none Change 3115721 on 2016/09/07 by Nick.Darnell Adding a new built VirtualReality feature pack, this new one contains the update manifest that will parse correctly. #rb none Change 3115722 on 2016/09/07 by Nick.Darnell IsBindWidgetProperty now returns false if the property passed in is null. #rb none Change 3115734 on 2016/09/07 by Alexis.Matte #jira UE-30166 Support fbx sdk 2017 #rb none Change 3115737 on 2016/09/07 by Nick.Darnell Adding an image comparer for screenshots. Removing some content from EngineTest. #rb none Change 3115743 on 2016/09/07 by Nick.Darnell Checkpointing a bunch of progress towards a screenshot comparison workflow that allows us to diff screenshots taken on various platforms and hardware. Disabling many tests that are not passing. Updating a few tests to log better errors, and fixed a few tests with easy bugs in them so they would start passing again. All editor tests currently passing! #rb none Change 3115748 on 2016/09/07 by Nick.Darnell Making the RuntimeTests plugin a Developer module, so that it doesn't get included in shipping builds. #rb none Change 3115789 on 2016/09/07 by Jamie.Dale We now favor Traditional Chinese for Hong Kong and Macau #rb James.Hopkin Change 3115799 on 2016/09/07 by Jamie.Dale Removed validity check on source cultures when remapping, as platforms may use invalid cultures that need to be remapped #rb James.Hopkin Change 3115826 on 2016/09/07 by Nick.Darnell Adding missing files. #rb none Change 3115838 on 2016/09/07 by Nick.Darnell Back out revision 6 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Public/Components/WidgetInteractionComponent.h #rb none Change 3116007 on 2016/09/07 by Alexis.Matte build fix #rb none Change 3116057 on 2016/09/07 by Jamie.Dale Fixed widget snapshot messages so they appear in the message debugger #rb none Change 3116112 on 2016/09/07 by Nick.Darnell Removing the FbxAutomationBuilder file that go recreated on a merge from main. #rb none Change 3116365 on 2016/09/07 by Michael.Dupuis #jira UE-20765 Added missing class flag to test (CLASS_CONFIG) and change a bit how the checkout/make writable work. #codereview Matt.Kuhlenschmidt #rb Alexis.Matte Change 3116622 on 2016/09/07 by Alexis.Matte #jira UE-35608 Use the same naming convention when trying to retrieve uv channel by name. #rb matt.kuhlenschmidt Change 3116638 on 2016/09/07 by Jamie.Dale Ensured that manifests and archives don't try and load data that they can't parse #rb none Change 3117397 on 2016/09/08 by Gareth.Martin Added rotate and blend support to the landscape mirror tool #jira UE-34829 #rb Jack.Porter Change 3117459 on 2016/09/08 by Gareth.Martin Fixed crash saving a hidden landscape level with an offset (cloned from 4.13.1) #jira UE-35301 #rb Jack.Porter Change 3117462 on 2016/09/08 by Gareth.Martin Fixed invisible landscape components and crashes when tessellation is enabled (cloned from 4.13.1) #jira UE-35494 #rb Benn.Gallagher Change 3117583 on 2016/09/08 by Nick.Darnell Continued work on automation support for screenshot comparison, stubbing in a commandlet that can be run after automation tests that would perform the diffing. Need to finish rigging it up so that deltas and results can be dumped out somewhere and consumed by a tool to approve shots. #rb none Change 3117595 on 2016/09/08 by Nick.Darnell Updating the build script for AutomatedTests, going to see if this works! #rb none Change 3117808 on 2016/09/08 by Nick.Darnell Adding header includes for async. #rb none Change 3117812 on 2016/09/08 by Matt.Kuhlenschmidt Partially taken from Pr 2381 Fixed Array Properties to handle duplicates properly and fixed Material Parameter Collection duplicate Guid problem. #rb none Change 3117851 on 2016/09/08 by Jamie.Dale Silenced some redundant P4 errors that could be generated when running a stat update on a file Some of the options produced errors when working with newly added files. These errors are now downgraded to infos like they are for the main stat command. #rb Ben.Marsh #codereview Thomas.Sarkanen Change 3117853 on 2016/09/08 by Gareth.Martin Clean up landscape includes and PCH #rb steve.robb Change 3117859 on 2016/09/08 by Alex.Delesky #jira UE-35321 - Minimized windows will no longer act like they are visible when determining what widgets are currently underneath the mouse. #rb Nick.Darnell Change 3117997 on 2016/09/08 by Nick.Darnell Updating the automation tests build script to use Editor-Cmd #rb none Change 3118005 on 2016/09/08 by Matt.Kuhlenschmidt Properly reference graph node on material expressions so they are not GC'd while an expression still uses them #jira UE-35362 #rb none Change 3118043 on 2016/09/08 by Alex.Delesky #jira UE-30649 - Removed unnecessary returns from UWidget API. PR #2377: fix widget bug. (Contributed by dorgonman) #rb none Change 3118045 on 2016/09/08 by Matt.Kuhlenschmidt Guard against crash saving config during level editor shutdown #rb none #jira UE-35605 Change 3118074 on 2016/09/08 by Matt.Kuhlenschmidt PR #2783: Removed #pragme once from CPP files (Contributed by projectgheist) #rb none Change 3118078 on 2016/09/08 by Michael.Dupuis #jira UE-32065 Removed the -windows that was added as a default option and add it simply if fullscreen is not specified #rb Alexis.Matte Change 3118080 on 2016/09/08 by Michael.Dupuis #jira UE-31131 Do not show a contextual menu if the menu is empty #rb Alexis.Matte Change 3118087 on 2016/09/08 by Matt.Kuhlenschmidt Constify this method #rb none Change 3118166 on 2016/09/08 by Nick.Darnell Trying additional command options for the build machine for automation. #rb none Change 3118222 on 2016/09/08 by Matt.Kuhlenschmidt Fix actor delete during mesh paint not working during undo #rb none #jira UE-35684 Change 3118298 on 2016/09/08 by Alexis.Matte #jira UE-35302 Export all LODs for static mesh when there is no force LOD #rb uriel.doyon Change 3118325 on 2016/09/08 by Matt.Kuhlenschmidt Fixed reset to default not appearing for slate brushes #rb none #jira UE-34958 Change 3119321 on 2016/09/09 by Matt.Kuhlenschmidt Guard against crash with an invalid world trying to be opened from the content browser #rb none https://jira.ol.epicgames.net/browse/UE-35712 Change 3119433 on 2016/09/09 by Nick.Darnell Removing a hack added by Paragon that prevents applications from resizing in real time as the user drags the size of the window around. #rb Matt.Kuklenschmidt #jira UE-35789 Change 3119448 on 2016/09/09 by Alex.Delesky When simulating touch events using the mouse, clicking the mouse will no longer let a drag operation continue. This should also allow the finger that started a drag to continue dragging items until it is released from the surface. #rb Nick.Darnell Change 3119522 on 2016/09/09 by Jamie.Dale Fixed FDetailCategoryImpl::ShouldBeExpanded not honoring bShouldBeInitiallyCollapsed when bRestoreExpansionState was true #rb Matt.Kuhlenschmidt Change 3119528 on 2016/09/09 by Jamie.Dale Some UI re-work to the localization dashboard This makes a better use of the available space, and will make it easier to make some other planned changes in the future. #rb James.Hopkin Change 3119861 on 2016/09/09 by Michael.Dupuis #jira UE-9284 Added the Play/Stop button on the thumbnail #rb Alexis.Matte Change 3120027 on 2016/09/09 by Alexis.Matte incorporate some fixes from licensee for LOD group re-import workflow #jira UE-32268 #rb uriel.doyon #codereview matt.kuhlenschmidt Change 3120845 on 2016/09/12 by Gareth.Martin Fixed crash in landscape editor when "Early Z" is enabled (cloned from 4.13.1) #jira UE-35850 #rb Allan.Bentham Change 3120980 on 2016/09/12 by Nick.Darnell Adding a commandlet that is runnable for comparing screenshots. Adding comparing and exporting capability to the screenshot manager. #rb none Change 3120992 on 2016/09/12 by Alex.Delesky #jira UE-35575 - TScriptInterface UProperties now have asset picker support. #rb Matt.Kuhlenschmidt Change 3121074 on 2016/09/12 by Michael.Dupuis #jira UE-30092 Added path length in error message when typing Added display of current filepath lenght for cooking #rb Alexis.Matte Change 3121113 on 2016/09/12 by Nick.Darnell Adding some placeholder examples to show people how to author tests in EngineTest. #rb none Change 3121152 on 2016/09/12 by Gareth.Martin Added TElementType, TIsContiguousContainer traits Added GetData(), GetNum() generic functions #rb Steve.Robb Change 3121702 on 2016/09/12 by Jamie.Dale Optimized a loop over a sorted list to instead use a binary search This speeds up the short-lived allocation view generation. We also now dump the exception information to the Trace log when in a non-debug build. #rb James.Hopkin Change 3121721 on 2016/09/12 by Jamie.Dale We now set the window mode first when resizing the game viewport to ensure that the work area is correct Fullscreen windows can affect the available work area size, which can break centering when moving between fullscreen and windowed mode. #jira UE-32842 #rb Matt.Kuhlenschmidt Change 3122578 on 2016/09/13 by Jamie.Dale Small code clean up Removed a use of the placement new style array addition. #rb none Change 3122634 on 2016/09/13 by Jamie.Dale We now immediately update DefaultConfigCheckOutNeeded when checking out/making writable the config file, rather than wait for the text tick #jira UE-34865 #rb James.Hopkin Change 3122656 on 2016/09/13 by Jamie.Dale Fixed array combo button not focusing its contents, which prevented the menu closing correctly #jira UE-33667 #rb none Change 3122661 on 2016/09/13 by Nick.Darnell Checkpointing additional work on the screenshot compare dialog, moving some Directory path picker widget into a more common area. Moving some "Find the best top level window handle for this widget for dialogs' code out of the main frame module and into Slate Application where it probably belongs. #rb none Change 3122678 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before USTRUCT can be used. #rb none Change 3122686 on 2016/09/13 by Jamie.Dale Fixing CIS error on Clang CoreUObject needs to be included before UCLASS can be used. #rb none Change 3122728 on 2016/09/13 by Nick.Darnell UMG - Exposing a trace channel for the WIC, defaults to Visibility. Improving how the WIC handles the cursor moving off the widget, it now maintains the last hit location rather than 0,0 which would cause things like dragged Sliders to reset to the left. Ideally - the WIC would know the underlying widget has capture and continue to fake collision against an imaginary plane to simulate a continuous surface. #jira UE-35167 #rb none Change 3122775 on 2016/09/13 by Nick.Darnell Automation - Fixing an error with the ScreenshotTools plugin, needed to add an the include for Engine.h to the PCH. #rb none Change 3122779 on 2016/09/13 by Nick.Darnell Widgetnimation - Exposing more of the class to C++. #rb none Change 3122793 on 2016/09/13 by Nick.Darnell Fixing a crash in UWidgetComponent::UpdateRenderTarget updating a null material instance. #jira UE-35796 #rb none Change 3122834 on 2016/09/13 by Matt.Kuhlenschmidt Fixed crash undoing moves after bsp creation https://jira.ol.epicgames.net/browse/UE-35880 #rb none Change 3122835 on 2016/09/13 by Nick.Darnell Reverting changes to WIdgetAnimation #rb none Change 3122897 on 2016/09/13 by Matt.Kuhlenschmidt Fixed non-editor compile error #rb none Change 3122988 on 2016/09/13 by Alexis.Matte Material workflow refactor #jira UETOOL-774 #rb matt.kuhlenschmidt Change 3123006 on 2016/09/13 by Jamie.Dale Fixed dynamic collections not returning anything #jira UE-35869 #rb James.Hopkin Change 3123145 on 2016/09/13 by Alexis.Matte Fix fbx automation test. The test found a regression cause by CL: 3120027. In the case where we dont have a LODGroup we dont want to add LODs before the build. #jira UE-32268 #rb none #codereview matt.kuhlenschmidt Change 3123148 on 2016/09/13 by Matt.Kuhlenschmidt Fix fortnite compile error #rb alexis.matte Change 3123208 on 2016/09/13 by Jamie.Dale The 'find culprit' dialog now honors the user choice #rb RichTW Change 3123545 on 2016/09/13 by Nick.Darnell Slate - Adjusting the window dialog host finding code to do a better job of searching for slate windows and excluding popups and non-regular windows. #rb none Change 3124494 on 2016/09/14 by Jamie.Dale Added ~ to the list of invalid characters for object/package names #jira UE-12908 #rb Matt.Kuhlenschmidt Change 3124513 on 2016/09/14 by Gareth.Martin Implemented filter to allow painting foliage on other foliage - Altered foliage filters so it will no longer paint on object types which don't have a filter, e.g. skeletal meshes #rb Allan.Bentham #2472 Change 3124523 on 2016/09/14 by Jamie.Dale PR #2724: Fix ScrollBox right mouse/touch grab scrolling functionality (Contributed by aarmbruster) #jira UE-34811 #jira UE-32082 #rb none Change 3124607 on 2016/09/14 by Nick.Darnell UMG - Adding BoundsScale support to the WidgetComponent's CalcBounds function. #jira UE-35667 #rb none Change 3124785 on 2016/09/14 by Gareth.Martin Made some foliage functions editor-only to fix non-editor build #rb none Change 3124795 on 2016/09/14 by Gareth.Martin Saved/loaded the new foliage filter #rb Allan.Bentham #2472 Change 3124915 on 2016/09/14 by Michael.Dupuis #jira UE-19511 Add support for Add to source control on DefaultEditorPerProjectUserSettings file Remove CheckoutNotice when not editing a DefaultXXXX.ini file Edit proper config file either we're modifying settings from a Default file or Local user file #codereview Matt.Kuhlenschmidt Max.Preussner #rb Alexis.Matte Change 3125266 on 2016/09/14 by Jamie.Dale Fixed ULocalizationTarget::DeleteFiles not deleting cultures, and using SCC wrong #rb none Change 3125385 on 2016/09/14 by Matt.Kuhlenschmidt Fix crash when using SaveAs to save over top of an existing level #rb none https://jira.ol.epicgames.net/browse/UE-35919 https://jira.ol.epicgames.net/browse/UE-35921 Change 3125487 on 2016/09/14 by Alexis.Matte Fix cook content, regression induce by the material workflow refactor #rb matt.kuhlenschmidt Change 3126217 on 2016/09/15 by Gareth.Martin Unset bHasPerInstanceHitProxies on landscape grass components, as they don't have individually editable instances #rb Allan.Bentham Change 3126311 on 2016/09/15 by Jamie.Dale Placement mode fixes - The display name is now cached correctly on construction, and the FPlaceableItem instance used with SPlacementAssetEntry is now const. - Ensured that the ID used by FPlaceableItem could never overflow. - Fixed some types being missing from the "All Classes" list. - Fixed the escape key not cancelling the search. #jira UE-35972 #rb James.Hopkin Change 3126325 on 2016/09/15 by Jamie.Dale Made sure that UWorld::GetAssetRegistryTags called its Super function so that properties tagged as AssetRegistrySearchable will be added. #rb Andrew.Rodham Change 3126403 on 2016/09/15 by Gareth.Martin Added Find and Contains functions to TBitArray #rb Steve.Robb Change 3126405 on 2016/09/15 by Gareth.Martin Allowed instances of Hierarchical Instanced Mesh Components to be moved around with the transform widget in the blueprint editor - Just like regular instanced mesh components! Also fixed not being able to move instances of an instanced mesh component when it is the root component Also also fixed Hierarchical Instanced Mesh Components not flushing their async tree build on saving (this was causing log spam from PostLoad when dragging instances around as the blueprint would constantly reinstance the component before the async tree build had finished) #jira UE-29357 #rb Allan.Bentham Change 3126444 on 2016/09/15 by Jamie.Dale Fixed the loc dashboard configs not working with SCC This isn't a great solution, but the whole way the loc dashboard manages its config data is in need of an overhaul. #rb none Change 3126446 on 2016/09/15 by Jamie.Dale Fixed loc dashboard game and engine targets sharing the same expansion settting #rb none Change 3126555 on 2016/09/15 by Chris.Wood Removed WER from Windows crash handling. Crashes saved to log folder and passed to CRC with explicit path. [UE-34470] - Investigate WER settings and if they can conflict with CRC on Windows #rb Steve.Robb Change 3126586 on 2016/09/15 by Gareth.Martin Fixed missing landscape components when using a LODBias (cloned from 4.13.1) #jira UE-35873 #rb Jack.Porter Change 3126610 on 2016/09/15 by Jamie.Dale Stopped PS4 from always staging all ICU data files #rb Marcus.Wassmer Change 3126779 on 2016/09/15 by Michael.Dupuis #jira UE-32914 Improve the help text to provide usage examples and params #rb Alexis.Matte Change 3126849 on 2016/09/15 by Matt.Kuhlenschmidt Fix font material and outline font material not being animatable in sequencer #rb frank.fella Change 3126858 on 2016/09/15 by Matt.Kuhlenschmidt File not saved #rb none Change 3127001 on 2016/09/15 by Matt.Kuhlenschmidt Fixed reset to default state still not appearing in all cases after changing a property. #rb none Change 3127038 on 2016/09/15 by Nick.Darnell UMG - Improving focus setting for users on widgets. If we're unable to set the focus immediately, possibly because the user is setting focus in the Construct callback before the widget is in the tree, we now update the SlateOperations FReply on LocalPlayer to set focus next frame when it's more likely the widget will become focusable. #rb none Change 3127061 on 2016/09/15 by Nick.Darnell Slate - We now have a reentrancy guard in TPanelChildren to avoid the broad cases where users might attempt to remove children while all children are being removed. Which is an easy case to engineer if you've got widgets spawning children managed by another widget, that all go away at the same time, thus causing the parent to attempt to cleanup children. The end result is a delete while deleting. So now TPanelChildren prevents adds/removes while emptying the list of children. #jira UE-35726 #rb Matt.Kuchlenschmidt Change 3127205 on 2016/09/15 by Alex.Delesky #jira UE-18013 - Users can now add Textures, Materials, or Sprites to a Widget Blueprint directly from the content browser. This also fixes a few issues with adding Widget Blueprints to another Widget BP from the content browser, such as adding a widget to itself or creating a circular dependency. #rb Nick.Darnell Change 3127971 on 2016/09/16 by Matt.Kuhlenschmidt Fix crash in scene outliner if actors become invalid #rb none https://jira.ol.epicgames.net/browse/UE-35932 Change 3128011 on 2016/09/16 by Matt.Kuhlenschmidt Added guards for crashes accessing slate resources for deleted uobjects #rb nick.darnell Change 3128067 on 2016/09/16 by Michael.Dupuis #jira UE-34158 Add an option to auto expand advanced details #rb Alexis.Matte Change 3128073 on 2016/09/16 by Michael.Dupuis #jira UE-1145 Set Save As to Ctrl + Alt + S Set Save All to Ctrl + Shift + S Set Save Current to Ctrl + S #rb Alexis.Matte Change 3128117 on 2016/09/16 by Jamie.Dale Updated the pin-type filter combo to filter on both the localized and source type descriptions #jira UE-36081 #rb none Change 3128177 on 2016/09/16 by Alexis.Matte #jira UE-35946 Remove unnecessary GetReadValue call with bad parameter. The read value call is cache so subsequent call was returning the bad cache value. #rb michael.dupuis #codereview matt.kuhlenschmidt Change 3128387 on 2016/09/16 by Gareth.Martin Fixed location and rotation of arrow widget in the landscape mirror tool when using one of the new "Rotate" modes #jira UE-36093 #rb none Change 3128445 on 2016/09/16 by Matt.Kuhlenschmidt Guard against scene outliner crash. Print out tree when items appear twice. https://jira.ol.epicgames.net/browse/UE-35935 #rb none Change 3128454 on 2016/09/16 by Matt.Kuhlenschmidt Remove category for WindowTitleBarArea. It is very custom for internal use and should not be a top level widget #rb none Change 3128482 on 2016/09/16 by Michael.Dupuis Added new key binding for generic Save, Save As Added new key binding for Save All for the content browser #rb Alexis.Matte (approved by MattK) Change 3128560 on 2016/09/16 by Matt.Kuhlenschmidt Fix build warning #codereview nick.darnell #rb none Change 3128642 on 2016/09/16 by Alexis.Matte #jira UE-36047 We now convert the light color correctly when importing and exporting fbx files. UE4 is sRGB and FBX is linear #rb none #codereview matt.kuhlenschmidt Change 3128733 on 2016/09/16 by Nick.Darnell UMG - Fixing a bad merge, some code was removed causing all BindWidget statements to fail to compile correctly. #jira UE-36105 #rb none Change 3128768 on 2016/09/16 by Matt.Kuhlenschmidt Fix selection outline showing around edges of all internal mesh sections of a component instead of around the entire actor #rb none Change 3128779 on 2016/09/16 by Matt.Kuhlenschmidt Fix offset characters on some small fonts #rb none Change 3130057 on 2016/09/19 by Jamie.Dale Fixing volatility and invalidation issues for text widgets #jira UE-33988 #rb Nick.Darnell Change 3130064 on 2016/09/19 by Jamie.Dale Changed mprof meta-data to allow unicode strings and updated ReadString to deal with them correctly #rb James.Hopkin Change 3130233 on 2016/09/19 by Michael.Dupuis #jira UE-32914 Added missing args that the UI supported #rb Alexis.Matte Change 3130265 on 2016/09/19 by Nick.Darnell Automation - Cleaning up some API items. #rb none Change 3130378 on 2016/09/19 by Matt.Kuhlenschmidt Fix reentrancy saving assets while a prompt for checkout dialog is open #rb none Change 3130398 on 2016/09/19 by Jamie.Dale Fixing UHT error when building #rb none Change 3132101 on 2016/09/20 by Nick.Darnell UMG - Adding a toolbar option in the designer for the 'G' command, similar to 'Game View' in the level editor, it disables all the dashed lines / future editor visuals. #rb none Change 3132110 on 2016/09/20 by Nick.Darnell PR #2792: ShowFlags for WidgetComponents (Contributed by projectgheist) #jira UE-13770 #rb Nick.Darnell Change 3132111 on 2016/09/20 by Nick.Darnell UMG - The retainer now embeds a virtual window into the focus path so that paths are resolved correctly. #rb none Change 3132138 on 2016/09/20 by Michael.Dupuis #jira UE-30945 Added missing PostEditComponentMove after drag is finished #rb Alexis.Matte Change 3132147 on 2016/09/20 by Michael.Dupuis #jira UE-30866 Fixed the filter to work properly #rb Alexis.Matte Change 3132190 on 2016/09/20 by Matt.Kuhlenschmidt Fix static analysis warnings in this file #rb none Change 3132231 on 2016/09/20 by Nick.Darnell Slate - Updating the material blend states to match what is expected of Slate rendering, which differs a lot from the scene renderer with the way it treats alpha. This fixes translucent rendering with the retainer widget, users will need to set their materials to Alpha Composite though for it to behave as expected. #jira UE-33285 #rb none Change 3132255 on 2016/09/20 by Alex.Delesky #jira UE-36048 - TMap and TSet properties are now disallowed from adding more children through the Details panel when they contain the dfault value for a key or element. Reset to Default is also no longer allowed on a Map or Set child when it will result in a second default value existing within the container. #rb Matt.Kuhlenschmidt Change 3132587 on 2016/09/20 by Mike.Fricker MIDI Plugin: Fixed a CIS error in shipping configuration (introduced in CL 3108604) #rb none #lockdown matt.kuhlenschmidt Change 3132623 on 2016/09/20 by Matt.Kuhlenschmidt Fix crash opening the cooker settings https://jira.it.epicgames.net/browse/UE-36197 #rb none #lockdown nick.darnell Change 3133144 on 2016/09/20 by Nick.Darnell Build configuration for automation tests. #rb none #lockdown matt.kuhlenschmidt Change 3133206 on 2016/09/20 by Matt.Kuhlenschmidt Fix default material on odin text #rb none #lockdown nick.darnell Change 3133913 on 2016/09/21 by Nick.Darnell Back out revision 17 from //UE4/Dev-Editor/Engine/Source/Runtime/UMG/Private/Slate/SRetainerWidget.cpp #rb none #jira UE-36231 #lockdown matt.kuhlenschmidt [CL 3133983 by Matt Kuhlenschmidt in Main branch]
2016-09-21 10:07:18 -04:00
void HandleScreenShotCapturedWithName(const TArray<FColor>& RawImageData, const FAutomationScreenshotData& Data);
/** Invoked when we have screen shot and frame trace to send. */
void HandleScreenShotAndTraceCapturedWithName(const TArray<FColor>& RawImageData, const TArray<uint8>& CapturedFrameTrace, const FAutomationScreenshotData& Data);
#endif
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
/** Dispatches analytics events to the data collector. */
void SendAnalyticsEvents(TArray<FString>& InAnalyticsItems);
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
/** Helper for Performance Capture Analytics. */
void RecordPerformanceAnalytics(const FAutomationPerformanceSnapshot& PerfSnapshot);
private:
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
/** The collection of test data we are to send to a controller. */
TArray<FAutomationTestInfo> TestInfo;
private:
/** Holds the messaging endpoint. */
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
TSharedPtr<FMessageEndpoint, ESPMode::ThreadSafe> MessageEndpoint;
/** Message address of the controller sending the test request. */
FMessageAddress TestRequesterAddress;
/** Identifier for the controller to know if the results should be discarded or not. */
uint32 ExecutionCount;
/** Execute one of the tests by request of the controller. */
FString TestName;
/** Beautified name of the test */
FString BeautifiedTestName;
/** Whether to send analytics events to the backend - sent from controller */
bool bSendAnalytics;
/** Whether the controller has requested that the network command should execute */
bool bExecuteNextNetworkCommand;
/** Whether we are processing sub-commands of a network command */
bool bExecutingNetworkCommandResults;
/** Delegate to fire when the test is complete */
FStopTestEvent StopTestEvent;
};