Files
UnrealEngineUWP/Engine/Source/Runtime/MediaAssets/Private/Assets/MediaTexture.cpp

536 lines
12 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
#include "MediaTexture.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 "MediaAssetsPrivate.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 "ExternalTexture.h"
#include "IMediaClock.h"
#include "IMediaClockSink.h"
#include "IMediaModule.h"
#include "MediaPlayerFacade.h"
#include "Modules/ModuleManager.h"
#include "RenderUtils.h"
#include "RenderingThread.h"
#include "UObject/WeakObjectPtrTemplates.h"
#include "MediaPlayer.h"
#include "IMediaPlayer.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 "Misc/MediaTextureResource.h"
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3821754 by Jamie.Dale [Python] Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types Change 3833107 by Patrick.Boutot Added functions to fill an existing DataTable from an existing CSV/JSON file. Change 3835044 by Aaron.Carlisle Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename. Change 3835466 by Patrick.Boutot Hide function from Python that need special compile command to be executed by the VM. Change 3839237 by Jamie.Dale Added a way to inspect the full chain of properties that are currently being serialized by an archive You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct). Change 3839974 by Jamie.Dale Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else Change 3842311 by Jamie.Dale Fixing potential null level assert Change 3842313 by Jamie.Dale Updated settings editor to handle external properties Change 3842316 by Jamie.Dale Allowing a console command to be given to GEditor/GEngine even if there's a player CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue. Change 3842867 by Jamie.Dale Added a way to generate diffs from editor transactions The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted. These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events. Change 3844428 by Patrick.Boutot Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script. Change 3845966 by Jamie.Dale Added support for minimal game RPC worlds These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world) Change 3848844 by Patrick.Boutot Expose EComponentMobility to blueprint. Change 3854616 by Patrick.Boutot Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise. Change 3856650 by Jamie.Dale Fixed a bug where transaction finalization could miss changes since the last snapshot Change 3864951 by Patrick.Boutot Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed. Change 3867158 by JeanMichel.Dignard UBT - Added the ability for dll programs to export symbols. #jira UEENT-541 Change 3872342 by Jamie.Dale Merging static analysis fixes from 4.19 Change 3879305 by Jamie.Dale Improved the processing of py files from exec commands The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments. Change 3879306 by Jamie.Dale Added a minimal commandlet for invoking Python scripts Change 3881631 by Jamie.Dale Added basic RTTI to Python meta-data types Change 3885384 by Jamie.Dale [Python] Prevent glue code using reserved names Change 3888957 by Patrick.Boutot In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject. The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing. Change 3888961 by Patrick.Boutot Fix FInterval::IsValid return type. Change 3888980 by Patrick.Boutot Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948. Change 3889165 by Patrick.Boutot Fix build. Missing include for Timespan. Introduce with CL 3888980. Change 3889261 by Jamie.Dale [Python] Fixing some more name conflicts in generated code Change 3889504 by Darren.Pegg Add option to change PreferredPixelFormat Change 3891193 by Patrick.Boutot Fix build. Missing include for Interval. Introduce with CL 3888980. Change 3897108 by Patrick.Boutot TTinterval use it own traits. Create a Interval traits for Timespan. #jira UEENT-947 Change 3899669 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs Change 3900692 by Jamie.Dale Removed some boilerplate associated with wrapping a basic type to Python You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example) Change 3901066 by conan.reis UE4 editor script bindings (Cobra) and helper functions for version control - exposed SourceControl class with common source control methods and associated SourceControlState structure - commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard) - commands store any errors in a shared error text object which is optionally printed to the error log - renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile() - included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages. Change 3901388 by Jamie.Dale Minimal Slate hooks for Python Change 3901456 by Jamie.Dale Added missing file Change 3901549 by Jamie.Dale Removing some more Windows defines that were causing build issues Change 3904518 by conan.reis Source Control - ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider Change 3905612 by Francis.Hurteau Optimize RemoveDuplicates somewhat using a TSet #jira UEENT-217 Change 3912626 by Jamie.Dale Fixed ShouldExcludeDerivedClasses option not working RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering. Change 3917739 by Jamie.Dale Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget Change 3917744 by Jamie.Dale Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime. Change 3918832 by Jamie.Dale Removed field iteration from Python function calls We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields. Change 3920648 by Patrick.Boutot Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen. Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization. Change 3921396 by Jamie.Dale Split up the generated type data to correspond to the type being wrapped A lot of types can just use the minimal set, but classes and structs have some extra data. Change 3921619 by conan.reis - add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again. - also added result info to FSourceControlWindows::PromptForCheckin() #jira UE-55255 Change 3921624 by conan.reis Removed Source Control common files from pre compiled header - main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp - remaining files have includes changed to accomodate Change 3921958 by conan.reis Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619 Change 3922740 by conan.reis Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion. They were previously removed in CL3921624 Change 3923375 by Jamie.Dale Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings Change 3926547 by Jamie.Dale Added support for struct method "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python. Change 3927050 by conan.reis Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers #JIRA UE-55256 Change 3929268 by conan.reis - fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected - removed Perforce error message about file folders outside of the workspace client mappings - clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled() #JIRA UE-55254 Change 3931024 by Rex.Hill Expose FBX and Texture import to python Change 3931273 by Rex.Hill Hide re-import slate notification pop-up during python automated asset import Change 3931368 by Jamie.Dale Stopped bools coercing to numeric types in Python nativization Change 3931374 by Jamie.Dale Added support for struct math operator "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python. Change 3932586 by Rex.Hill Removed file read into unused memory buffer during Fbx import Change 3934308 by Jamie.Dale Added a public interface for the Python plugin Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log. Change 3935088 by conan.reis - Added info/warning and error message storage to all the source control operation structures so additional information can be made available. - Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion. #JIRA UE-55257 Change 3936668 by Rex.Hill #jira UE-55985 Avoid re-allocation of memory buffer holding file bytes during asset import Change 3940596 by Rex.Hill #jira UE-55989 Optimize skeletal mesh import performance scaling Overlapping vertex check was O (N^2) 100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds Change 3942629 by Rex.Hill #jira UE-55995 Read fbx file only once during import Fixes a memory leak of FbxScene and reduces wait time during import. Change 3942884 by Rex.Hill Python asset import can now customize destination asset name Change 3946278 by Jamie.Dale Added stricter conversion for math operator arguments PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion. This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads). Change 3948455 by Jamie.Dale Added generic Tick function to FPythonScriptPlugin This can also handle init logic for after the engine is fully initialized Change 3948888 by Jamie.Dale Added settings for the Python plugin You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings). Change 3948982 by Jamie.Dale Fixed Python 3 build error caused by CObject being removed in Python 3.2 Change 3949614 by Francis.Hurteau Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer #jira UEENT-1053 Change 3950829 by Rex.Hill Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION Change 3953452 by Jamie.Dale Fixed some dependencies Change 3953645 by Jamie.Dale Fixed Python parameter packing treating bool output paramers as potential return values void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool. Change 3953850 by Jamie.Dale Fixed doc string generation for a function with multiple output paramters and no return value Change 3954279 by Jamie.Dale Initial support for exposing deprecated properties and functions to Python This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left. Change 3954922 by Rex.Hill Expose UnloadPackages to python Change 3955209 by Jamie.Dale Initial support for exposing deprecated classes to Python Change 3955248 by Jamie.Dale Added a way to load Unreal modules via Python unreal.load_module("modulename") Change 3955561 by Rex.Hill Expose asset export to python Change 3956068 by Rex.Hill Linux compile fix. Change 3960449 by Rex.Hill Fix automated test using bCombineMeshes Change 3960495 by Patrick.Boutot Add a temporary menu to show the MetaData of an asset. The menu will need to be updated to have a look and feel of the Detail View and support edition at one point. Change 3961599 by Rex.Hill Reduced peak memory during import of meshes related to duplicate vertex tracking Change 3962104 by Rex.Hill Disable import mesh overlapping corners memory optimization to because it can change uv generation Change 3962507 by Rex.Hill Fix uv generation Change 3965285 by Rex.Hill Add support for FBX export as ASCII #jira UE-56465 Change 3965287 by Rex.Hill Forgotten file, fbx export as ascii Change 3966772 by Simon.Tourangeau Fix MaterialExpressionFunctions for ExternalTexture support Change 3967014 by Jamie.Dale Added a way to get the CDO in Python Wrapped objects now have a get_default_object class method Change 3967151 by Jamie.Dale Added stats to track Python generation time Change 3968006 by Simon.Therriault Media Samples - Removed Locks and Min/Max SampleTime from queues - Added methods to fetch NextSampleTime and SampleCount in queues - Added MediaSource base class for players that want to be time synchronized #jira UEENT-948 Change 3969119 by Patrick.Boutot Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other. [CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
#include "IMediaTextureSample.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
/* Local helpers
*****************************************************************************/
/**
* Media clock sink for media textures.
*/
class FMediaTextureClockSink
: public IMediaClockSink
{
public:
FMediaTextureClockSink(UMediaTexture& InOwner)
: Owner(&InOwner)
{ }
virtual ~FMediaTextureClockSink() { }
public:
virtual void TickRender(FTimespan DeltaTime, FTimespan Timecode) override
{
FScopeLock Lock(&CriticalSection);
if (UMediaTexture* OwnerPtr = Owner.Get())
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
{
OwnerPtr->TickResource(Timecode);
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
}
}
/**
* Call this when the owner is destroyed.
*/
void OwnerDestroyed()
{
FScopeLock Lock(&CriticalSection);
Owner.Reset();
}
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
private:
TWeakObjectPtr<UMediaTexture> Owner;
/** Used to prevent owner destruction happening during tick. */
FCriticalSection CriticalSection;
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
};
/* UMediaTexture structors
*****************************************************************************/
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
UMediaTexture::UMediaTexture(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
, AddressX(TA_Clamp)
, AddressY(TA_Clamp)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
, AutoClear(false)
, ClearColor(FLinearColor::Black)
, EnableGenMips(false)
, NumMips(1)
, NewStyleOutput(false)
, OutputFormat(MTOF_Default)
, CurrentAspectRatio(0.0f)
, CurrentOrientation(MTORI_Original)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
, DefaultGuid(FGuid::NewGuid())
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
, Dimensions(FIntPoint::ZeroValue)
, bIsCleared(false)
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
, Size(0)
, CachedNextSampleTime(FTimespan::MinValue())
, TextureNumMips(1)
{
NeverStream = true;
SRGB = true;
}
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642) #lockdown nick.penwarden #rb none Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3259266 on 2017/01/16 by Max.Preussner Core: Added timespan ratio Change 3267229 on 2017/01/21 by Max.Preussner Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed Change 3274773 on 2017/01/27 by Max.Preussner Core: Added TLruCache template Change 3281579 on 2017/02/01 by Max.Preussner Core: Added scalar division to FTimespan Change 3289522 on 2017/02/07 by Max.Preussner MediaAssets: Added looping for play lists Change 3290664 on 2017/02/07 by Max.Preussner Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes. Change 3290688 on 2017/02/07 by Max.Preussner MediaAssets: Notifying materials when media texture properties changed. Change 3291171 on 2017/02/07 by Max.Preussner MediaAssets: Filtering unused UTexture properties Change 3291229 on 2017/02/07 by Max.Preussner ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0 Change 3298520 on 2017/02/11 by Max.Preussner Sequencer: Fixed skylight and reflection components off by one frame in PIE Change 3298778 on 2017/02/12 by Max.Preussner MediaUtils: Experimenting with dynamic pitch adjustment Change 3298987 on 2017/02/13 by Max.Chen Editor: Add matrix and transform properties to property editor test object Change 3298997 on 2017/02/13 by Max.Chen Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties - Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified) - Added percentage unit type - Multiplier unit types can now be converted between Change 3298998 on 2017/02/13 by Max.Chen Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible Change 3348678 on 2017/03/15 by Max.Preussner Media: Added Buffering media event Change 3355268 on 2017/03/20 by Max.Preussner Core: TQueue documentation updates Change 3359055 on 2017/03/22 by Max.Preussner Portal: Removed dependency to Messaging.h Change 3359060 on 2017/03/22 by Max.Preussner Messaging: Modernization pass - added missing includes & forward declarations - include what you use - deprecated shared pointer typedefs - replaced some delegates with callback interfaces - documentation fixes Change 3359189 on 2017/03/22 by Max.Preussner Automation: Modernization pass - include what you use - removed molothic header - documentation fixes #upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory Change 3359718 on 2017/03/22 by Max.Preussner Messaging: Moved common helper classes into MessagingCommon module #upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon"). Change 3359793 on 2017/03/23 by Max.Preussner TargetDeviceServices: Modernization pass - include what you use - removed boilerplate header - deprecated selected shared pointer typedefs - reorganized files - documentation fixes Change 3361028 on 2017/03/23 by Max.Preussner DeviceManager: Modernization pass - include what you use - reduced shared pointer typedef usage - documentation fixes Change 3361197 on 2017/03/23 by Max.Preussner Messaging: Waking up message router thread on shutdown Change 3361246 on 2017/03/23 by Max.Preussner AutomationWindow: Removed boilerplate header #upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h Change 3361428 on 2017/03/23 by Max.Preussner AutomationController: Removed boilerplate header #upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions. Change 3363206 on 2017/03/24 by Max.Preussner ProfileLauncher: Modernization pass - include what you use (selected files) - reduced shared pointer typedef usages - removed dead code - cleaned up file organization - documentation fixes Change 3363290 on 2017/03/24 by Max.Preussner LauncherServices: Removed boilerplate header #upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes Change 3363305 on 2017/03/24 by Max.Preussner LauncherCheck: Removed boilerplate header #upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions Change 3363708 on 2017/03/24 by Max.Preussner ImageWrapper: Removed boilerplate header #upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes Change 3363966 on 2017/03/24 by Max.Preussner ImageWrapper: Modernization pass - include what you use - reorganized internal files - documentation fixes Change 3364579 on 2017/03/24 by Max.Preussner ImageWrapper: Deprecated shared pointer typedef and removed usages #upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr Change 3364582 on 2017/03/24 by Max.Preussner NetworkFileSystem: Removed monolithic boilerplate header #upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes Change 3381440 on 2017/04/05 by Max.Preussner Oculus: Removed illegal pragmas Change 3391731 on 2017/04/12 by Max.Preussner ImgMedia: Added support for BMP, JPG and PNG image sequences Change 3401146 on 2017/04/19 by Max.Preussner Core: Cleanup pass for FTimespan usages; updated documentation When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make your code easier to read and understand. Change 3401504 on 2017/04/20 by Max.Preussner MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds Change 3401833 on 2017/04/20 by Max.Preussner Core: Various improvements to FTimespan - added proper serialization - updated documentation - access fractions as milli-, micro- or nanoseconds - removed the following string formatters as they were not useful: %D %H %M %S %F - updated documentation #upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign. #jira UE-43990 #jira UE-44163 Change 3437543 on 2017/05/12 by Max.Preussner PS4Media: Added audio error codes conversion Change 3446564 on 2017/05/18 by Max.Preussner Networking: Fixed nullpointer crash if socket initialization fails Change 3459978 on 2017/05/25 by Max.Preussner ImgMedia: Renamed frame cache to frame loader Change 3463311 on 2017/05/26 by Max.Preussner Core: Added iterators & predicate based methods to LRU Cache Change 3464452 on 2017/05/29 by Max.Preussner ImgMedia: Added video sample output Change 3464468 on 2017/05/29 by Max.Preussner Media: Added separate cache visualization for loaded and cached samples Change 3464592 on 2017/05/29 by Max.Preussner Core: Added TLruCache::FindAndTouch Change 3464607 on 2017/05/29 by Max.Preussner Core: Added TRange::Inclusive / ::Exclusive Change 3464608 on 2017/05/29 by Max.Preussner Media: Fixed incorrect upper bound in support play rates of various players Change 3466732 on 2017/05/30 by Max.Preussner ImgMedia: Added image compression type to info string Change 3466871 on 2017/05/31 by Max.Preussner WmfMedia: Fixed session capabilities not showing up; added initialization logging Change 3467785 on 2017/05/31 by Max.Preussner MfMedia: Fixed sample stride calculated from media input instead of output Change 3467963 on 2017/05/31 by Max.Preussner WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly Change 3468110 on 2017/05/31 by Max.Preussner WmfMedia: Added MPEG-2 media sub types to utils Change 3468516 on 2017/05/31 by Max.Preussner AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570) Change 3468554 on 2017/05/31 by Max.Preussner MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded Change 3468627 on 2017/05/31 by Max.Preussner ImgMedia: Allowing for auto-selection of EXR decoder thread count Change 3468648 on 2017/05/31 by Max.Preussner ImgMedia: Reorganized OpenExrWrapper files Change 3471789 on 2017/06/02 by Max.Preussner WmfMedia: Fixed potential concurrency issue in session state management Change 3472918 on 2017/06/03 by Max.Preussner Core: Allowing zero sized LRU cache; added default constructor Change 3472919 on 2017/06/03 by Max.Preussner Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching Change 3473704 on 2017/06/05 by Max.Preussner AndroidMedia: Added settings class Change 3474407 on 2017/06/05 by Max.Preussner AndroidMedia: Implemented video sample processing Change 3474934 on 2017/06/05 by Max.Preussner ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705) #jira UE-45705 Change 3476925 on 2017/06/06 by Max.Preussner Media: Added return values to media view interface; documentation fixes Change 3477158 on 2017/06/06 by Max.Preussner SwitchMedia: Implemented sample pooling Change 3477201 on 2017/06/07 by Max.Preussner PS4Media: Implemented video sample pooling Change 3481470 on 2017/06/08 by Max.Preussner Media: Fixed time stamps not set in recycled texture samples Change 3481472 on 2017/06/08 by Max.Preussner MediaAssets: Fixed no video samples fetched while player is in buffering state Change 3481473 on 2017/06/08 by Max.Preussner MediaUtils: Added default constructor to MediaSampleQueue Change 3481584 on 2017/06/08 by Max.Preussner MediaUtils: Paused state is considered forward for sample lookup as this is the common case. Change 3481588 on 2017/06/08 by Max.Preussner PS4Media: Redesigned the PS4 media player to support async file loading & track switching Change 3481627 on 2017/06/08 by Max.Preussner PS4Media: Opening media sources in thread pool if not precaching Change 3481666 on 2017/06/08 by Max.Preussner ImgMedia: Fixed SequencePath property file picker always opening default path Change 3481669 on 2017/06/08 by Max.Preussner ImgMedia: Fixed crash when quering cache state of empty image sequence Change 3481685 on 2017/06/08 by Max.Preussner ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719) #jira UE-45719 Change 3483623 on 2017/06/10 by Max.Preussner Media: Added getters for 360 view settings; added support for relative view updates Change 3483624 on 2017/06/10 by Max.Preussner Media: Added Blueprint support for 360 videos Change 3483626 on 2017/06/10 by Max.Preussner MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class. Change 3483627 on 2017/06/10 by Max.Preussner Core: Using system start time instead of current time for renamed log file names Change 3483630 on 2017/06/10 by Max.Preussner Core: Grouping log files by log name and processing each group separately when deleting old log files Change 3483816 on 2017/06/10 by Max.Preussner WmfMedia: Detecting audio device availability to prevent lockup of audio tracks Change 3483939 on 2017/06/11 by Max.Preussner AvfMedia: Finished Media Framework 3.0 upgrade - overhauled track switching - removed render thread flushes - reduced nesting - code cleanup pass Change 3483940 on 2017/06/11 by Max.Preussner Media: Consistent track switching behavior across platforms Change 3484172 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Removed obsolete asset type actions Change 3484180 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture Change 3484248 on 2017/06/11 by Max.Preussner MediaAssets: Media players now always have a playlist Change 3484249 on 2017/06/11 by Max.Preussner MediaPlayerEditor: Added UI controls to Playlist tab Change 3484250 on 2017/06/11 by Max.Preussner Media: Implemented overlay sample caching Change 3484252 on 2017/06/11 by Max.Preussner WmfMedia: Enabled support for .smi and .sami subtitle files Change 3485433 on 2017/06/12 by Max.Preussner ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it Change 3485720 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Added ability to save playlists Change 3485828 on 2017/06/12 by Max.Preussner AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread Change 3485926 on 2017/06/12 by Max.Preussner MediaUtils: Draining all unconsumed samples at the end of a frame Change 3486043 on 2017/06/12 by Max.Preussner Media: Consistent behavior for playlist navigation (UE-45964) #jira UE-45964 Change 3486104 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Implemented simple overlay text positioning Change 3486145 on 2017/06/12 by Max.Preussner AndroidMediaPlayer: Moved video sample handling into render thread Change 3486147 on 2017/06/12 by Max.Preussner MediaPlayerEditor: Moved overlay texts into separate layer Change 3486188 on 2017/06/12 by Max.Preussner Media: Enabling media factory modules in Editor for all players Change 3486223 on 2017/06/12 by Max.Preussner Media: Defaulting players to select first audio and video tracks by default Change 3486473 on 2017/06/13 by Max.Preussner Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing) Change 3486475 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Showing busy bar when buffering or preparing Change 3487237 on 2017/06/13 by Max.Preussner AndroidMedia: Fixed video sample not getting processed on render thread Change 3487507 on 2017/06/13 by Michael.Trepka AvfMedia - small cleanup of the code for passing video frame rate to the video sampler Change 3487719 on 2017/06/13 by Michael.Trepka Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH Change 3487842 on 2017/06/13 by Max.Preussner AndroidMedia: Fixed texture swizzle disabled on non-Engine builds Change 3488006 on 2017/06/13 by Michael.Trepka AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a file Change 3488308 on 2017/06/13 by Chris.Babcock AndroidMedia: Fixed flicker issue #jira UE-45736 Change 3488335 on 2017/06/13 by Max.Preussner MediaAssets: Made UFileMediaSource::GetFullPath public Change 3488338 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources Change 3488339 on 2017/06/13 by Max.Preussner MediaPlayerEditor: Showing a throbber when buffering player Change 3488768 on 2017/06/14 by Max.Preussner Core: Inlined FTimespan static functions hange 3490203 on 2017/06/14 by Max.Preussner Core: Force inlined TComPtr operators Change 3494083 on 2017/06/15 by Chris.Babcock AndroidMedia: Fix playlist looping (send PlaybackEndReached event) #jira UE-46086 Change 3497017 on 2017/06/16 by Max.Preussner MediaAssets: Playlists now auto advance with PlayOnOpen off Change 3497075 on 2017/06/17 by Chris.Babcock MediaPlayer Sampler node and external texture support for Android MediaPlayer - enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL) - supports MediaSample node in material editor with scale/bias handled if above flag enabled - fixed looping problems, including eventual crashes - track switching fixed (lockups and missing video) - corrected resource leaks and crash switching maps #jira UE-46055 #jira UE-45744 #jira UE-46086 Change 3497163 on 2017/06/17 by Max.Preussner MediaUtils: Processing media events immediately if on game thread Change 3497170 on 2017/06/17 by Max.Preussner Media: All Media Framework interfaces are pure virtual Change 3498603 on 2017/06/19 by Ben.Marsh UBT: Prevent plugins which list modules multiple times from adding them twice. Change 3500870 on 2017/06/20 by Max.Preussner WmfMedia: Rewrote WMF state machine; now with track switching #jira UE-20209 #jira UE-35385 #jira UE-38337 #jira UE-45676 Change 3502181 on 2017/06/20 by Chris.Babcock MediaSampler node updates - fixed issue with ExternalTexture singleton for DLL compatiblity - now works for all players (registers texture samples with ExternalTexture by player GUID) - enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler Change 3503182 on 2017/06/21 by Max.Preussner Media: Refactored status flags into an enum; exposed connecting status Change 3503724 on 2017/06/21 by Chris.Babcock Improvement in MediaPlayer Sampler node - RGB, R, G, B, A output pins like normal texture sampler - allow preview in material editor - fix OES detection for Android Change 3509088 on 2017/06/26 by Max.Preussner MediaAssets: Added AddFile and AddUrl to UMediaPlaylist Change 3510256 on 2017/06/26 by Max.Preussner WmfMedia: Fixed play rate not set to zero when end reached Change 3510273 on 2017/06/26 by Max.Preussner MediaPlayerEditor: Removed obsolete Slate culling rectangle code Change 3510413 on 2017/06/26 by Max.Preussner MediaPlayerEditor: Showing frame rate if available Change 3510533 on 2017/06/26 by Max.Preussner MediaUtils: Preventing media cache filling up when scrubbing Change 3510859 on 2017/06/26 by Max.Preussner PS4Media: Fixed track switching crashes (UE-45960) #jira UE-45960 Change 3514173 on 2017/06/28 by Max.Preussner WmfMedia: Optimized player capabilities check Change 3514174 on 2017/06/28 by Max.Preussner WmfMedia: Moved media source resolver code into utility class Change 3514714 on 2017/06/28 by Max.Preussner Core: Added TComPointer.IsValid; code cleanup pass Change 3517912 on 2017/06/30 by Max.Preussner MediaUtils: Added GetVideoAspectRatio to player facade Change 3524957 on 2017/07/06 by Max.Preussner ImgMedia: Decoding image frames only when video track is selected Change 3525252 on 2017/07/06 by Max.Preussner ImgMedia: Async image sequence initialization Change 3525266 on 2017/07/06 by Max.Preussner ImgMedia: Enabled reverse playback Change 3525722 on 2017/07/06 by Max.Preussner WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport Change 3525800 on 2017/07/07 by Max.Preussner WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging. Change 3525801 on 2017/07/07 by Max.Preussner MediaPlayerEditor: Made scrubbing more responsive Change 3526500 on 2017/07/07 by Max.Preussner WmfMedia: Using NULL for Windows pointers Change 3527323 on 2017/07/07 by Max.Preussner WmfMedia: Added support for audio and video capture media sources Change 3530197 on 2017/07/10 by Max.Preussner WmfMedia: Added utility functions for enumerating audio and video capture devices Change 3533465 on 2017/07/12 by Max.Preussner Media: Added media capture device support API & implementation for WMF Change 3533469 on 2017/07/12 by Max.Preussner MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar Change 3533540 on 2017/07/12 by Max.Preussner MediaAssets: Blueprint support for media capture device discovery Change 3533574 on 2017/07/12 by Max.Preussner WmfMedia: Using cached supported play rates; more strict pausing support check Change 3533924 on 2017/07/12 by Max.Preussner WmfMedia: Added global LowLatency setting (UEVR-859) Note that this setting is only supported when compiling for Windows 8 or newer. Change 3534027 on 2017/07/12 by Max.Preussner WmfMedia: Compile time support for low latency session attribute on < Windows8 #jira UEVR-859 Change 3538744 on 2017/07/14 by Max.Preussner MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource Change 3542818 on 2017/07/18 by Max.Preussner WmfMedia: Fixed race condition on session shutdown Change 3543082 on 2017/07/18 by Max.Preussner WmfMedia: Fixed track selection in media that doesn't support seeking Change 3543092 on 2017/07/18 by Max.Preussner Media: Implemented media track format API Enables multiple formats per media track. By default, the first usable format is selected. This feature is currently only implemented for WmfMedia. All other players assume a single format per track. Change 3543794 on 2017/07/19 by Max.Preussner WmfMedia: Added string conversion for null GUIDs Change 3543796 on 2017/07/19 by Max.Preussner MfMedia: Copied GUID string conversion updates from WmfMedia Change 3543797 on 2017/07/19 by Max.Preussner WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support Change 3544390 on 2017/07/19 by Max.Preussner Media: Allowing INDEX_NONE as 'current selection' index in track format related functions Change 3545368 on 2017/07/19 by Max.Preussner WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting Change 3545388 on 2017/07/19 by Max.Preussner MediaAssets: Fixed RGB input sources rendered upside down Change 3545430 on 2017/07/19 by Max.Preussner MediaAssets: Fixed incorrect sRGB conversion on BMP inputs Change 3547362 on 2017/07/20 by Max.Preussner Core: Added IsGraph and IsPrint to TCHAR utilities Change 3547376 on 2017/07/20 by Max.Preussner WmfMedia: Better log messages for non-standard video types (UE-47533) #jira UE-47533 Change 3547404 on 2017/07/20 by Max.Preussner QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542) #jira UE-47542 Change 3547466 on 2017/07/20 by Max.Preussner WmfMedia: Fixed edge case for detecting whether pause is available Change 3548742 on 2017/07/21 by Max.Preussner Media: Added API for changing the input frame rate Change 3548743 on 2017/07/21 by Max.Preussner WmfMedia: Implemented ability to change input frame rate Change 3554411 on 2017/07/25 by Max.Preussner AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property Change 3554818 on 2017/07/25 by Max.Preussner Media: Added per track-type cache queries Change 3557284 on 2017/07/26 by Max.Preussner WmfMedia: Added buffer size check in texture sample as well Change 3560530 on 2017/07/27 by Max.Preussner WmfMedia: Made COM object destructors private and added assertions Change 3560580 on 2017/07/27 by Max.Preussner MediaUtils: Added method for querying number of objects in pool Change 3562572 on 2017/07/28 by Max.Preussner WmfMedia: Properly handling topology status errors when opening media Change 3576710 on 2017/08/08 by Chris.Babcock bug fixes for mediaplayer - rare cases in Android media tracks - make FMediaCaptureDevice members available in blueprints Change 3577736 on 2017/08/08 by Chris.Babcock Extend ExternalTexture to support 2x3 transform (scale/rotation + offset) Change 3578831 on 2017/08/09 by Max.Preussner MediaAssets: Made media sound component BP spawnable Change 3579210 on 2017/08/09 by Max.Preussner UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults Change 3579547 on 2017/08/09 by Chris.Babcock Better support for Android external texture detection Change 3579567 on 2017/08/09 by Chris.Babcock Android camera plugin #jira UEMOB-215 Change 3580035 on 2017/08/10 by Andrew.Rodham Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials. - Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported. - Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator - Made UTexture::GetMaterialType const-correct #tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external), and on desktop PC. Change 3581552 on 2017/08/10 by Chris.Babcock Use bilinear sampling instead of point for external texture (Android media and camera) Change 3581628 on 2017/08/10 by Max.Preussner Core: Fixed FTimespan import/export/copypaste (UE-43990) #jira UE-43990 #jira UE-44163 Change 3581909 on 2017/08/11 by Andrew.Rodham Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release) - This prevents destroyed proxies from remaining in the texture registry #jira UE-48307 Change 3582451 on 2017/08/11 by Max.Preussner AudioMixer: Fixed initialization order of synth components This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr. #jira UE-48055 Change 3582453 on 2017/08/11 by Max.Preussner MediaAssets: Enabling ticking in media sound component (UE-48055) #jira UE-48055 Change 3583101 on 2017/08/11 by Chris.Babcock Android camera improvements - return correct capture device type (webcamfront/rear) - remove seek (not supported) - support track formats - better framerate selection Change 3590109 on 2017/08/16 by Chris.Babcock Move external texture coordinate update to improve accuracy and save a uniform in final shader Change 3590530 on 2017/08/16 by Max.Preussner MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks #jira UE-48166 Change 3590547 on 2017/08/16 by Max.Preussner MediaPlayerEditor: Ticking sound component directly Change 3590628 on 2017/08/16 by Max.Preussner Switch: Fixed media decoder asserting when attempting to pause without having started Change 3591816 on 2017/08/16 by Aaron.McLeran #jira UE-48470 Disabling async processing for procedural sound waves on mac. Change 3592266 on 2017/08/16 by Max.Preussner Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames or out of memory assertions depending on the platform. This will be addressed in an upcoming change. #jira UE-48474 #jira UE-45677 Change 3592355 on 2017/08/17 by Max.Preussner MediaUtils: Added sample sink collection to remove code duplication Change 3592739 on 2017/08/17 by Max.Preussner ImgMedia: Fetching only one video sample per frame Change 3592741 on 2017/08/17 by Max.Preussner MediaUtils: Better sample fetching when paused Change 3592761 on 2017/08/17 by Max.Preussner MediaUtils: Fixed overflow detection in sample sinks Change 3592762 on 2017/08/17 by Max.Preussner ImgMedia: Sending end reached event when looping Change 3592885 on 2017/08/17 by Max.Preussner ImgMedia: Fixed reverse play Change 3592887 on 2017/08/17 by Max.Preussner MediaUtils: Better sample range calculation for audio samples Change 3593010 on 2017/08/17 by Max.Preussner ImgMedia: Fixed async loading of non-EXR image sequences Change 3593193 on 2017/08/17 by Max.Preussner AndroidMedia: Fixed typo Change 3593230 on 2017/08/17 by Max.Preussner Media: Implemented flushing for player sample queues Change 3593346 on 2017/08/17 by Max.Preussner Media: Proper sample processing for reverse playback Change 3593482 on 2017/08/17 by Max.Preussner Switch: Fixed sample range check for reverse playback Change 3594428 on 2017/08/17 by Max.Preussner PS4Media: Fixed video not playing/crashing #jira UE-48547 #jira UE-48549 Change 3595404 on 2017/08/17 by Max.Preussner MediaAssets: Not requesting audio samples if not playing #jira UE-48557 Change 3595624 on 2017/08/17 by Max.Preussner PS4Media: Fixed no looping after track switching #jira UE-46524 #jira UE-48557 Change 3595704 on 2017/08/17 by Max.Preussner MediaUtils: Improved sample queue flushing Eventually this needs to be event-driven. #jira UE-48557 Change 3595706 on 2017/08/17 by Max.Preussner PS4Media: Flushing queues when track switching #jira UE-48557 Change 3595909 on 2017/08/17 by Max.Preussner Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382) https://github.com/EpicGames/UnrealEngine/pull/3382 #jira UE-42906 #rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382) Change 3597480 on 2017/08/18 by Max.Preussner ImgMediaPlayer: Fixed presentation time calculation for very large delta times Change 3597669 on 2017/08/18 by Max.Preussner ImgMedia: Setting player stopped instead of paused when end reached Change 3597709 on 2017/08/18 by Max.Preussner SwitchMedia: Fixed audio sample duration calculation Change 3598479 on 2017/08/18 by Max.Preussner ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging Change 3598629 on 2017/08/18 by Max.Preussner MediaUtils: Properly handling pending flushes when peeking sample queues Change 3598633 on 2017/08/18 by Max.Preussner WmfMedia: Fixed occasional WMF deadlock when scrubbing Change 3598653 on 2017/08/18 by Max.Preussner MediaUtils: Fixed audio resampling in reverse playback Change 3598659 on 2017/08/18 by Max.Preussner MediaPlayerEditor: Creating sound output only if audio device available Change 3598688 on 2017/08/18 by Max.Preussner MediaUtils: Flushing sample queues on direction change regardless of paused state Change 3599444 on 2017/08/20 by Max.Preussner WmfMedia: Added missing check for rate control when quering supported rates Change 3603661 on 2017/08/22 by Max.Preussner WmfMedia: Fixed NV12 output Change 3604345 on 2017/08/23 by Max.Preussner MediaUtils: Added subtitle samples to media sample collection; fixed documentation Change 3604987 on 2017/08/23 by Max.Preussner PS4Media: Setting correct track format types Change 3605117 on 2017/08/23 by Joe.Barnes Fix issue where presentation time was being treated as milliseconds instead of microseconds. Change 3605128 on 2017/08/23 by Joe.Barnes Fix potential issue calculating total (looped) play time after seek or reset. Track last video presentation time Change 3605139 on 2017/08/23 by Joe.Barnes Support audio type DType_Setup. Fix issue with procedural sounds popping. Consume more samples if necessary. #jira ue-48544 Change 3605197 on 2017/08/23 by Max.Preussner Media: Fixed track display name formatting (UE-48767) #jira UE-48767 Change 3605817 on 2017/08/23 by Max.Chen Auto set sampler type on drop on actor. #jira UE-48769 Change 3605999 on 2017/08/23 by Max.Preussner MfMedia: Restarting source reader when switching tracks #jira UE-48766 Change 3606416 on 2017/08/23 by Max.Preussner PS4Media: Various player improvements #jira UE-48586 Change 3607656 on 2017/08/24 by Max.Preussner WmfMedia: Improved logging for Seek and SetRate Change 3607855 on 2017/08/24 by Max.Preussner MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\ #jira UE-48766 Change 3608029 on 2017/08/24 by Max.Preussner PS4Media: Fixed streaming media not playing; improved result checks & logging #jira UE-48610 Change 3608473 on 2017/08/24 by Max.Preussner MfMedia: Fixed audio sample duration calculation #jira UE-48756 Change 3609316 on 2017/08/24 by Chris.Babcock Provide external texture RotationScale and Offset from sample Change 3610067 on 2017/08/25 by Richard.Wallis Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player. - Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects. - Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker - this sets the current time and is then just returned in the getter when on game main. - Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in. #jira UE-48590, UE-48604 Change 3610267 on 2017/08/25 by Max.Preussner PS4Media: Added missing track selection validation #jira UE-48765 Change 3610399 on 2017/08/25 by Max.Preussner PS4Media: Fixed infinite player re-initialization loop if track selection failed Change 3610809 on 2017/08/25 by Chris.Babcock Fixes for Android media player and camera player - buffer samples copy proper bytecount - realloc sets new buffer ptr - refcount of Java buffers fixed Change 3610953 on 2017/08/25 by Chris.Babcock Fix audio disable before play on Android media player Change 3611405 on 2017/08/25 by Max.Preussner WmfMedia: Resetting supported rates if RateSupport unavailable Change 3611406 on 2017/08/25 by Max.Preussner MfMedia: Resetting supported rates if RateSupport unavailable Change 3611453 on 2017/08/25 by Chris.Babcock Android external texture extension updates for compatibility Change 3611719 on 2017/08/26 by Max.Preussner Media: Added media event for completed seek operations; flushing sinks on seek Change 3611764 on 2017/08/26 by Max.Preussner AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously Change 3611802 on 2017/08/26 by Max.Preussner Media: Exposed error state in media player Change 3611803 on 2017/08/26 by Max.Preussner MediaPlayerEditor: Showing error state in UI Change 3611887 on 2017/08/26 by Max.Preussner MediaUtils: Corrected media sample sink overflow check Change 3611892 on 2017/08/27 by Max.Preussner WmfMedia: Leaving session in error state after error Change 3611929 on 2017/08/27 by Max.Preussner MediaPlayerEditor: Fixed sound stopping on looping Change 3611930 on 2017/08/27 by Max.Preussner MfMedia: Rewrote async sample processing to fix various playback issues Change 3611942 on 2017/08/27 by Max.Preussner Media: Sending suspension event when playback ended Change 3611957 on 2017/08/27 by Max.Preussner UnrealEd: Allowed transient assets to be resaved to disk Change 3611981 on 2017/08/27 by Max.Preussner PS4Media: Rewrote sample processing to fix various playback issues #jira UE-48596 #jira UE-48793 Change 3612035 on 2017/08/27 by Max.Preussner UnrealEd: Picking standard default names when resaving transient packages Change 3612045 on 2017/08/27 by Max.Preussner Media: Fixed playlists not getting saved correctly from Editor (UE-35382) #jira UE-35382 Change 3612212 on 2017/08/28 by Richard.Wallis Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close. #jira UE-47602 Change 3613531 on 2017/08/28 by Max.Preussner MediaAssets: Fixed external texture related crash on shutdown (UE-48918) Also no longer creating clock sink for media player CDO #jira UE-48918 Change 3613677 on 2017/08/28 by Andrew.Porter Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object #jira UE-48937 Change 3615917 on 2017/08/29 by Max.Preussner MfMedia: Added compile options for DXVA and falling back to synchronous sample reading [CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
/* UMediaTexture interface
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
*****************************************************************************/
float UMediaTexture::GetAspectRatio() const
{
if (Dimensions.Y == 0)
{
return 0.0f;
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3386262 on 2017/04/10 by Ben.Marsh Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path. Change 3386999 on 2017/04/10 by Ben.Marsh Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on. Change 3387073 on 2017/04/10 by Ben.Marsh Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin. Change 3387988 on 2017/04/11 by Steve.Robb Comments added to clarify the role of DestructItem and DestructItems. Change 3388085 on 2017/04/11 by Ben.Marsh UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT. Change 3390048 on 2017/04/12 by Richard.Hinckley #jira UE-43876 Fixed description of Streaming settings (within Project Settings). Change 3390697 on 2017/04/12 by Steve.Robb CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed. Change 3390711 on 2017/04/12 by Steve.Robb AGRESSIVE_ARRAY_FORCEINLINE removed. Change 3392167 on 2017/04/13 by Robert.Manuszewski UObject can be added to GC cluster only if all of its Outers can also be added to it. Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters. #jira UE-42948 Change 3392309 on 2017/04/13 by Robert.Manuszewski When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it. Change 3392620 on 2017/04/13 by Ben.Marsh UGS: Only check for updates every 5 minutes. Change 3392623 on 2017/04/13 by Ben.Marsh UGS: Only poll for new changes every 60 seconds. Change 3392744 on 2017/04/13 by Ben.Marsh UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load. Change 3392874 on 2017/04/13 by Ben.Marsh UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc... Change 3392878 on 2017/04/13 by Ben.Marsh Update UGS to version 1.96 Change 3395635 on 2017/04/17 by Ben.Marsh UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command. Change 3395655 on 2017/04/17 by Ben.Marsh UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded. Change 3396989 on 2017/04/17 by Wes.Hunt CrashReporter configurable tweaks. * Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min). - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min. - Zero means never alert. * Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day). - Interval by which to report disk space availability. - Default is never (Zero) * Updated config file to match production config. #codereview:jin.zhang Change 3397656 on 2017/04/18 by Ben.Marsh UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file. Change 3397677 on 2017/04/18 by Robert.Manuszewski PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym) Change 3397722 on 2017/04/18 by Robert.Manuszewski PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist) Change 3397739 on 2017/04/18 by Richard.Hinckley #jira UE-44100 Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating. Change 3398023 on 2017/04/18 by Ben.Marsh PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist) Change 3398095 on 2017/04/18 by Ben.Marsh PR #3051: Generate map file from UAT (Contributed by projectgheist) Change 3398212 on 2017/04/18 by Ben.Marsh PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist) Change 3399304 on 2017/04/19 by Ben.Marsh UGS: Prevent editor target files being removed when running custom tools. Change 3399306 on 2017/04/19 by Robert.Manuszewski Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe Change 3399729 on 2017/04/19 by Steve.Robb Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array. RemoveAtSwap() now simply decrements the count instead of calling RemoveAt(). Checks for a positive count added to RemoveAt() and RemoveAtSwap(). Change 3399750 on 2017/04/19 by Jin.Zhang Order branch alphabetically #RB Change 3400186 on 2017/04/19 by Steve.Robb Per-header generated code. Change 3401458 on 2017/04/20 by Steve.Robb Static log categories moved out of headers to prevent duplicates when the header is included multiple times. #jira UE-37507 Change 3401657 on 2017/04/20 by Gil.Gribb UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme. Change 3401735 on 2017/04/20 by Gil.Gribb UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms. Change 3403362 on 2017/04/21 by Steve.Robb Algo::Sort() fixed to support C arrays. Size+count versions of Also::IsSorted() deprecated. Algo::IsSortedBy() added. Algo::FindBy() added to allow an element to be found by projection. Simplifications and generalizations. Change 3404017 on 2017/04/21 by Ben.Marsh Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins. Change 3405299 on 2017/04/24 by Steve.Robb Clarified the class of the incompatible function in the error message about incompatible BP event specifiers. #jira UE-35106 Change 3405302 on 2017/04/24 by Ben.Marsh UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file. Change 3405629 on 2017/04/24 by Ben.Marsh Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name. Change 3406431 on 2017/04/24 by Ben.Marsh UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present. Change 3406670 on 2017/04/24 by Ben.Marsh UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang). Change 3407080 on 2017/04/25 by Gil.Gribb UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull. Change 3407486 on 2017/04/25 by Gil.Gribb UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads. Change 3407495 on 2017/04/25 by Gil.Gribb UE4 - Tweaked out XBox and Windows low level file IO. Change 3407497 on 2017/04/25 by Gil.Gribb UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads. Change 3407705 on 2017/04/25 by Ben.Marsh Removing most of the junk in DotNETUtilities. Change 3409701 on 2017/04/26 by Ben.Marsh Disable another static analyzer warning for third party libraries. Change 3410074 on 2017/04/26 by Daniel.Lamb Network platform file runs heart beats and responds to modified file changes. Cook on the fly server in the editor (COTS) now detects changes to content and notifies client. Fixed issue with network platform file not using correct sandbox. #test cook on the side shootergame Change 3411131 on 2017/04/27 by Steve.Robb TIsTriviallyDestructible now supports forward-declared enums. Change 3411186 on 2017/04/27 by Steve.Robb Fix for #includes in generated code for Within classes which are in a different module from the generated class. Change 3411917 on 2017/04/27 by Steve.Robb Fixes to pushing/popping the CPP macro. Change 3411966 on 2017/04/27 by Steve.Robb Include spam reduced in generated code. Change 3412155 on 2017/04/27 by Ben.Marsh Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians. Change 3412223 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Calling SetHelperA.Num() twice. Change 3412273 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Duplicated variable name. Change 3412511 on 2017/04/27 by Ben.Marsh PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff) Change 3412582 on 2017/04/27 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code Change 3413136 on 2017/04/28 by Robert.Manuszewski Helper functions for dissolving specific GC clusters Change 3413310 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code. Change 3413341 on 2017/04/28 by Gil.Gribb UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame. Change 3413351 on 2017/04/28 by Ben.Marsh Include code analysis macros directly from Platform.h, so that macros are available to everything. Change 3413352 on 2017/04/28 by Ben.Marsh Fixing a few more PVS studio warnings. Change 3413437 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Comparison is always true. Change 3413759 on 2017/04/28 by Ben.Marsh Suppressing warnings for PVS-Studio. Change 3413784 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning. Change 3413898 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: Same conditional is checked twice. Change 3413915 on 2017/04/28 by Ben.Marsh Fix PVS-Studio warning: LHS of expression is identical to RHS. Change 3413989 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block. Change 3414053 on 2017/04/28 by Ben.Marsh More PVS-Studio fixes. Change 3414062 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed. Change 3414070 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Fix incorrect condition. Change 3414071 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Array index is always zero. Change 3414116 on 2017/04/28 by Ben.Marsh BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute. Change 3414160 on 2017/04/28 by Ben.Marsh Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout. Change 3414237 on 2017/04/28 by Ben.Marsh EC: Allow disabling and enabling the log preprocessor via special markers in the log. To disable: <-- Suspend Log Parsing --> To enable: <-- Resume Log Parsing --> Change 3414343 on 2017/04/28 by Ben.Marsh UBT: Exclude ThirdParty folders from PVS output. Change 3414392 on 2017/04/28 by Ben.Marsh Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory. Change 3414459 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Object goes out of scope without being freed. Change 3414495 on 2017/04/28 by Ben.Marsh Suppress some more PVS-Studio warnings. Change 3414514 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead. Change 3414526 on 2017/04/28 by Ben.Marsh Fix for PVS-Studio warning: Variable assigned to itself has no effect. Change 3415183 on 2017/04/29 by Ben.Marsh Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS. Change 3415765 on 2017/05/01 by Ben.Marsh Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not. Change 3415853 on 2017/05/01 by Ben.Marsh EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created. Change 3416138 on 2017/05/01 by Ben.Marsh Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that. Change 3416309 on 2017/05/01 by Ben.Marsh Build: Fix node names for static analysis. Change 3416360 on 2017/05/01 by Ben.Marsh UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows. Change 3416398 on 2017/05/01 by Daniel.Lamb Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed. #test Cook on the side shootergame. Change 3416826 on 2017/05/01 by Daniel.Lamb Added callback to game when files are requested reload from networkfileserver. Game will need to unload / reload effected objects. Working on simple reload capability in shootergame. #test Cook on the side shootergame with reloading Change 3417983 on 2017/05/02 by Ben.Marsh EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern. Change 3418747 on 2017/05/02 by Steve.Robb Fix for const pointer properties. Fix for UHT debugging manifest. Test added for pointer properties. Change 3420477 on 2017/05/03 by Gil.Gribb UE4 - Removed check from windows async IO layer. [CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
return (float)(Dimensions.X) / Dimensions.Y;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
}
int32 UMediaTexture::GetHeight() const
{
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
return Dimensions.Y;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
UMediaPlayer* UMediaTexture::GetMediaPlayer() const
{
return CurrentPlayer.Get();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
int32 UMediaTexture::GetWidth() const
{
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
return Dimensions.X;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
}
int32 UMediaTexture::GetTextureNumMips() const
{
return TextureNumMips;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
void UMediaTexture::SetMediaPlayer(UMediaPlayer* NewMediaPlayer)
{
CurrentPlayer = NewMediaPlayer;
UpdatePlayerAndQueue();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
}
void UMediaTexture::CacheNextAvailableSampleTime(FTimespan InNextSampleTime)
{
CachedNextSampleTime = InNextSampleTime;
}
#if WITH_EDITOR
void UMediaTexture::SetDefaultMediaPlayer(UMediaPlayer* NewMediaPlayer)
{
MediaPlayer = NewMediaPlayer;
CurrentPlayer = MediaPlayer;
}
#endif
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
/* UTexture interface
*****************************************************************************/
FTextureResource* UMediaTexture::CreateResource()
{
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
if (!ClockSink.IsValid())
{
IMediaModule* MediaModule = FModuleManager::LoadModulePtr<IMediaModule>("Media");
if (MediaModule != nullptr)
{
ClockSink = MakeShared<FMediaTextureClockSink, ESPMode::ThreadSafe>(*this);
MediaModule->GetClock().AddSink(ClockSink.ToSharedRef());
}
}
if (!NewStyleOutput)
{
Filter = (TextureNumMips > 1) ? TF_Trilinear : TF_Bilinear;
}
return new FMediaTextureResource(*this, Dimensions, Size, ClearColor, CurrentGuid.IsValid() ? CurrentGuid : DefaultGuid, EnableGenMips, NumMips);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05: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
EMaterialValueType UMediaTexture::GetMaterialType() const
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
{
if (NewStyleOutput)
{
return MCT_Texture2D;
}
return EnableGenMips ? MCT_Texture2D : MCT_TextureExternal;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
}
float UMediaTexture::GetSurfaceWidth() const
{
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
return Dimensions.X;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
}
float UMediaTexture::GetSurfaceHeight() const
{
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
return Dimensions.Y;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05: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
FGuid UMediaTexture::GetExternalTextureGuid() const
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
{
if (EnableGenMips)
{
return FGuid();
}
FScopeLock Lock(&CriticalSection);
return CurrentRenderedGuid;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
}
void UMediaTexture::SetRenderedExternalTextureGuid(const FGuid& InNewGuid)
{
check(IsInRenderingThread());
FScopeLock Lock(&CriticalSection);
CurrentRenderedGuid = InNewGuid;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
/* UObject interface
*****************************************************************************/
void UMediaTexture::BeginDestroy()
{
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
if (ClockSink.IsValid())
{
// Tell sink we are done.
ClockSink->OwnerDestroyed();
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
IMediaModule* MediaModule = FModuleManager::LoadModulePtr<IMediaModule>("Media");
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05: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
if (MediaModule != nullptr)
{
MediaModule->GetClock().RemoveSink(ClockSink.ToSharedRef());
}
ClockSink.Reset();
}
//Unregister the last rendered Guid
const FGuid LastRendered = GetExternalTextureGuid();
if (LastRendered.IsValid())
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
{
ENQUEUE_RENDER_COMMAND(MediaTextureUnregisterGuid)(
[LastRendered](FRHICommandList& RHICmdList)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
{
FExternalTextureRegistry::Get().UnregisterExternalTexture(LastRendered);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05: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
Super::BeginDestroy();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
}
FString UMediaTexture::GetDesc()
{
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
return FString::Printf(TEXT("%ix%i [%s]"), Dimensions.X, Dimensions.Y, GPixelFormats[PF_B8G8R8A8].Name);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
}
void UMediaTexture::GetResourceSizeEx(FResourceSizeEx& CumulativeResourceSize)
{
Super::GetResourceSizeEx(CumulativeResourceSize);
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
CumulativeResourceSize.AddUnknownMemoryBytes(Size);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
void UMediaTexture::PostLoad()
{
Super::PostLoad();
CurrentPlayer = MediaPlayer;
}
bool UMediaTexture::IsPostLoadThreadSafe() const
{
return false;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
#if WITH_EDITOR
void UMediaTexture::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{
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
static const FName AddressXName = GET_MEMBER_NAME_CHECKED(UMediaTexture, AddressX);
static const FName AddressYName = GET_MEMBER_NAME_CHECKED(UMediaTexture, AddressY);
static const FName AutoClearName = GET_MEMBER_NAME_CHECKED(UMediaTexture, AutoClear);
static const FName ClearColorName = GET_MEMBER_NAME_CHECKED(UMediaTexture, ClearColor);
static const FName MediaPlayerName = GET_MEMBER_NAME_CHECKED(UMediaTexture, MediaPlayer);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
FProperty* PropertyThatChanged = PropertyChangedEvent.Property;
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
if (PropertyThatChanged == nullptr)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
{
Super::PostEditChangeProperty(PropertyChangedEvent);
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
return;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05: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
const FName PropertyName = PropertyThatChanged->GetFName();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
if (PropertyName == MediaPlayerName)
{
CurrentPlayer = MediaPlayer;
}
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
// don't update resource for these properties
if ((PropertyName == AutoClearName) ||
(PropertyName == ClearColorName) ||
(PropertyName == MediaPlayerName))
{
UObject::PostEditChangeProperty(PropertyChangedEvent);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05: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
return;
}
Super::PostEditChangeProperty(PropertyChangedEvent);
// notify materials for these properties
if ((PropertyName == AddressXName) ||
(PropertyName == AddressYName))
{
NotifyMaterials();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
}
#endif // WITH_EDITOR
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
/* UMediaTexture implementation
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -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
void UMediaTexture::TickResource(FTimespan Timecode)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
{
if (GetResource() == nullptr)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
{
return;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const FGuid PreviousGuid = CurrentGuid;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
// media player bookkeeping
UpdatePlayerAndQueue();
if (!CurrentPlayer.IsValid())
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
{
if ((LastClearColor == ClearColor) && (LastSrgb == SRGB) && (bIsCleared))
{
return; // nothing to render
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
LastClearColor = ClearColor;
LastSrgb = SRGB;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
// set up render parameters
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
FMediaTextureResource::FRenderParams RenderParams;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
bool bIsSampleValid = false;
if (UMediaPlayer* CurrentPlayerPtr = CurrentPlayer.Get())
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3148965) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2883376 on 2016/02/26 by Max.Chen Sequencer: Refactored track instance API to better deal with invalid object bindings (fixes UE-27286) Change 3117044 on 2016/09/07 by Max.Chen Cine Camera: Add GetCineCameraComponent function from Cine Camera Actor. #jira UE-34036 Change 3117127 on 2016/09/07 by Max.Preussner MediaAssets: File media source path improvements Change 3117128 on 2016/09/07 by Max.Preussner PS4Media: Copied memory allocator fixes (CL# 3114158) Change 3117142 on 2016/09/07 by Max.Preussner MediaPlayerEditor: Normalizing paths of drag & drop media files Change 3117143 on 2016/09/07 by Max.Preussner Media: Made media player name accessible via IMediaPlayer Change 3117161 on 2016/09/07 by Max.Preussner PS4Media: Fixed CPU/GPU may crash due to race condition in destructor (UE-35696) Copied from Release-4.13 CL# 3117159 Change 3117184 on 2016/09/08 by Max.Chen Sequencer: Update sequencer selection on undo so that the sequencer selection stays in sync with the scene selection. Clear cached set of spawned objects in the spawn register only for spawned objects, rather than completely. This fixes an issue where deleting a selected spawnable and then undoing doesn't restore the spawnable as selected because the cached spawned objects gets cleared wholesale. #jira UE-27683 Change 3117831 on 2016/09/08 by Max.Chen Sequencer: Add option to create sub sequences for each master sequence shot. #jira UE-35378 Change 3118467 on 2016/09/08 by Max.Preussner Slate: ScrollyZoomy documentation cleanup pass Change 3118468 on 2016/09/08 by Max.Preussner MediaPlayerEditor: Added OriginalSize viewport mode (UE-35560) #jira UE-35560 Change 3118700 on 2016/09/08 by Max.Preussner Media: Removed still image tracks and sinks (UE-35767) #jira UE-35767 Change 3118987 on 2016/09/09 by Max.Chen Sequencer: Initialize player on post initialize components of level sequence actor. This is a speculative fix for GetSequencePlayer not initialized in Actor::BeginPlay before a Begin Play event in a level blueprint is invoked. #jira UE-34439 Change 3119896 on 2016/09/09 by Max.Preussner MediaAssets: Logging URL when failing to validate media source Change 3119921 on 2016/09/09 by Max.Preussner MediaAssets: Verbose logging sink shutdown in media texture Change 3120173 on 2016/09/09 by Max.Preussner WmfMedia: Refactored playback topology handling to support multiple tracks & track switching #jira UE-35383 #jira UE-35385 #jira UE-32582 Change 3120587 on 2016/09/11 by Max.Chen Fbx Export: Fix double transforms on an exported mesh. Added an option to map the skeletal motion to the root bone. In General Settings (Miscellaneous). #jira UE-35174 Change 3120685 on 2016/09/11 by Max.Chen Sequencer: Subtitles #jira UE-35824 Change 3121957 on 2016/09/12 by Max.Preussner MediaAssets: Replaced legacy texture sink shutdown code to fix race condition Change 3122113 on 2016/09/12 by Max.Preussner Media: Renamed Script track type to Text Change 3122386 on 2016/09/13 by Max.Chen Sequencer: Render movies with handles #jira UETOOL-733 Change 3124278 on 2016/09/14 by Max.Chen Sequencer: Add nullptr check for camera anim. #jira UE-35911 Change 3127211 on 2016/09/15 by Max.Preussner MediaAssets: Implemented Per-platform media player overrides in MediaAsset derived classes (UE-35478) #jira UE-35478 Change 3127536 on 2016/09/15 by Max.Preussner MediaAssets: Renamed platform player overrides property #jira UE-35478 Change 3127539 on 2016/09/15 by Max.Preussner MediaPlayerEditor: Implemented platform player overrides details customization for media assets (UE-35478) #jira UE-35478 Change 3127614 on 2016/09/15 by Max.Preussner MediaAssets: Fixed MediaSource serialization (UE-35478) #jira UE-35478 Change 3127617 on 2016/09/15 by Max.Preussner MediaAssets: Implemented PlatformMediaSource (UE-35387) #jira UE-35387 Change 3127626 on 2016/09/15 by Max.Preussner MediaAssets: Started to implement PlatformMediaSource customization (UE-35387) #jira UE-35387 Change 3128686 on 2016/09/16 by Max.Preussner WmfMedia: Added QuickTime to known video sub types Change 3128703 on 2016/09/16 by Max.Preussner WmfMedia: Fixed GuidToString printing incorrect byte sequence Change 3128705 on 2016/09/16 by Max.Preussner Core: Slightly more complicated unit test for TripleBuffer Change 3129281 on 2016/09/16 by Max.Preussner MediaPlayerEditor: Finished customization for PlatformMediaSource (UE-35387) #jira UE-35387 Change 3129291 on 2016/09/16 by Max.Preussner MediaAssets: Added verbose logging for dropped video frames Change 3130495 on 2016/09/19 by Max.Preussner PropertyEditor: Added missing forward declarations; code and documentation cleanup pass. Change 3131531 on 2016/09/19 by Max.Preussner Core: Accepting comma in milliseconds separator when parsing FTimespan Change 3131533 on 2016/09/19 by Max.Preussner Media: Started to implement subtitle support Change 3132468 on 2016/09/20 by Max.Preussner Core: Fixed TMap deserialization in struct serializer & updated unit tests Change 3132846 on 2016/09/20 by Max.Preussner SlateRemoteServer: Fixed Editor freezes and leaks memory when slate remote enabled (UE-35907) #jira UE-35907 Change 3136577 on 2016/09/22 by Frank.Fella Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues. Change 3136661 on 2016/09/22 by Max.Preussner WmfMedia: Fixed memory leak while playing videos (UE-36289) #jira UE-36289 Change 3137035 on 2016/09/22 by Cody.Albert Changed FMovieScene3DTransformTrackInstance::Update to update ComponentVelocity Change 3137155 on 2016/09/22 by Max.Preussner MediaAssets: Added OpenFile method to MediaPlayer. Change 3138413 on 2016/09/23 by Cody.Albert Fixed ComponentVelocity to use UpdateData instead of FApp::GetDeltaTime() Change 3138627 on 2016/09/23 by Max.Preussner WmfMedia: Fixed FourCC types printing in reverse order Change 3139020 on 2016/09/23 by Max.Preussner MediaAssets: Fixed Crash when after playing media that requires a different conversion shader (UE-36393) #jira UE-36393 Change 3139028 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Trimming leading & trailing whitespace in URL text box Change 3139046 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Implemented statistics tab #jira UE-35395 Change 3139072 on 2016/09/23 by Max.Preussner MediaPlayerEditor: Stats and Info tab UI polish Change 3142667 on 2016/09/27 by Max.Preussner MediaAssets: Fixed serialization of older assets Change 3142669 on 2016/09/27 by Max.Preussner Automation: Allowing movie files to be renamed to match platform requirements Merged from Fortnite-Main CL# 3140907 Change 3145836 on 2016/09/29 by andrew.porter Adding and updating media framework test content Change 3145920 on 2016/09/29 by tim.gautier Added Media Audio actor to level QA-Media Change 3145979 on 2016/09/29 by andrew.porter Updating media player test content Change 3146311 on 2016/09/30 by Andrew.Rodham Sequencer: Fixed cursor jumping around inconsistently when ending a drag - The time slider controller was using a mixture of GetScreenSpacePosition and GetLastScreenSpacePosition when calculating times. It now only uses the current screen position. #jira UE-34738 Change 3147838 on 2016/09/30 by Max.Chen Sequencer: Fix crash when rendering with handle frames = 0. #jira UE-36708 Change 3147875 on 2016/10/01 by Max.Chen Sequencer - Don't crash when a bool track or visibility track has a null runtime object. #jira UE-36707 Change 3148176 on 2016/10/01 by Max.Chen Sequencer: When keep playback range in section bounds, infinite sections should be bounded by their keyframe times. #jira UE-36666 Change 3148824 on 2016/10/03 by Max.Preussner Media: Continued to implement subtitle tracks UpgradeNotes: - caption tracks were split into captions, subtitles, and generic text tracks - added IMediaOverlaySink - IMediaOutput::SetCaptionSink renamed to SetOverlaySink [CL 3149180 by Max Chen in Main branch]
2016-10-03 14:40:19 -04:00
{
const bool PlayerActive = CurrentPlayerPtr->IsPaused() || CurrentPlayerPtr->IsPlaying() || CurrentPlayerPtr->IsPreparing();
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
if (PlayerActive)
{
check(CurrentPlayerPtr->GetPlayerFacade()->GetPlayer());
if (CurrentPlayerPtr->GetPlayerFacade()->GetPlayer()->GetPlayerFeatureFlag(IMediaPlayer::EFeatureFlag::UsePlaybackTimingV2))
{
/*
We are using the old-style "sample queue to sink" architecture to actually just pass along only ONE sample at a time from the logic
inside the player facade to the sinks. The selection as to what to render this frame is expected to be done earlier
this frame on the gamethread, hence only a single output frame is selected and passed along...
*/
TSharedPtr<IMediaTextureSample, ESPMode::ThreadSafe> Sample;
while (SampleQueue->Dequeue(Sample))
;
if (!Sample.IsValid())
{
// Player is active (do not clear), but we have no new data
// -> we do not need to trigger anything on the renderthread
return;
}
UpdateSampleInfo(Sample);
RenderParams.TextureSample = Sample;
RenderParams.Rate = CurrentPlayerPtr->GetRate();
RenderParams.Time = Sample->GetTime();
// Track the sample's sRGB status and make sure the (high level) texture flags reflect it
// (this is really only good for Rec.703 type setups and will need enhancements!)
SRGB = Sample->IsOutputSrgb();
LastSrgb = SRGB;
TextureNumMips = (Sample->GetNumMips() > 1) ? Sample->GetNumMips() : NumMips;
bIsSampleValid = true;
}
else
{
//
// Old style: pass queue along and dequeue only at render time
//
TSharedPtr<IMediaTextureSample, ESPMode::ThreadSafe> Sample;
if (SampleQueue->Peek(Sample))
{
UpdateSampleInfo(Sample);
// See above: track sRGB state (for V1 we don't look at all samples - but this should be fine as this should not change on a per sample basis usually)
SRGB = Sample->IsOutputSrgb();
LastSrgb = SRGB;
TextureNumMips = (Sample->GetNumMips() > 1) ? Sample->GetNumMips() : NumMips;
bIsSampleValid = true;
}
RenderParams.SampleSource = SampleQueue;
RenderParams.Rate = CurrentPlayerPtr->GetRate();
RenderParams.Time = CurrentPlayerPtr->GetTime();
}
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
}
else
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
{
CurrentAspectRatio = 0.0f;
CurrentOrientation = MTORI_Original;
if (!AutoClear)
{
return; // retain last frame
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
else if (!AutoClear && (CurrentGuid == PreviousGuid))
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
{
return; // retain last frame
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -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
// update filter state, responding to mips setting
if (!NewStyleOutput)
{
Filter = (TextureNumMips > 1) ? TF_Trilinear : TF_Bilinear;
}
// setup render parameters
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
RenderParams.CanClear = AutoClear;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
RenderParams.ClearColor = ClearColor;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
RenderParams.PreviousGuid = PreviousGuid;
RenderParams.CurrentGuid = CurrentGuid;
RenderParams.NumMips = NumMips;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3800792) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3631172 by Max.Chen Sequence Recorder: Record to the specified target animation for the target actor only. Newly tracked components will have newly created animations so that they don't record to the same target animation assets. #jira UE-49304 #jira UE-49216 #jira UE-49300 Change 3632895 by Max.Chen Sequencer: Fixed crash caused by erroneous persistent references to FSequencer. #jira UE-48647 #jira UE-48383 #jira UE-47661 Change 3634864 by Max.Chen Sequencer: Bake transforms #jira UE-49136 Change 3634879 by Max.Chen Sequence Recorder: Close the target animation asset editor if it exists before recording into it. #jira UE-49216 Change 3650553 by Max.Chen Sequencer: Switch shot display name to FString so that it's not localized. #jira UE-49824 Change 3650848 by Darren.Pegg Linear Timecode Plugin - first pass - still needs output interface Change 3653174 by Max.Chen Sequencer: Allow blending for vector tracks #jira UE-49809 Change 3653205 by Max.Chen Sequencer: Fix default burnin content. #jira UE-49824 Change 3653570 by Darren.Pegg Win32 Build fix: EmptyLinkFunctionForStaticInitializationLinearTimecode Change 3658673 by Darren.Pegg Timecode - Adding Accessors, renaming files Change 3663633 by Max.Chen Sequencer: Add option to export an object's transform to a camera anim asset. #jira UE-49599 Change 3665971 by Max.Chen Sequence Recorder: Add an active column for sequence recorder Change 3666066 by Max.Chen Sequencer: Suspend broadcast of selection delegates when performing multiple operations. #jira UE-40371 Change 3671057 by Max.Chen PR #4055: Fixed ACameraRig_Rail PreviewMeshes to match Spline Component (Contributed by Hemofektik) Change 3677104 by Max.Chen Sequencer: Add transaction for easing length. #jira UE-50588 Change 3677105 by Max.Chen Sequencer: Restore pre-animated state when changing active channels. #jira UE-50473 Change 3681069 by Max.Preussner LinearTimecode: Processing samples only if they have been dequeued successfully Change 3681783 by Andrew.Rodham Control Rig: Fixed crash attempting to zero out array with the wrong size Change 3681949 by Darren.Pegg OnTimecodeChange Delegate, Comments in DropTimecode, DropTimecode to string auto conversion Change 3682222 by Andrew.Porter EngineTest: Enabled MP4 Media Player test in the level ShaderModels. Set the texture ShaderModelPlayer_Video to use the correct media player. #jira UE-47213 Change 3683523 by Andrew.Rodham Sequencer: Display sub sequence name on binding ID pickers rather than the sub section name Change 3684318 by Max.Chen Sequencer: Fix crash in dragging a level sequence into the tree area. #jira UE-50902 Change 3687609 by Max.Chen Curve Editor: Add ModifyOwnerChange to CurveOwnerInterface. Call mark as changed when modifying keys or tangents. #jira UE-50882 Change 3687617 by Max.Chen Sequencer: Move some commands out of the generic sequencer command bindings so that they don't take over the viewport. ie. End for "Snap to Floor" should still function in the viewport. #jira UE-50997 Change 3687969 by Andrew.Rodham Sequencer: New compile on the fly logic - Sequencer is now able to compile partially or completely out-of-date evaluation templates from the source data as it needs. This affords much more efficient compilation when working within sequencer. - Added the concept of 'instance data' for sub sequences, available through the IMovieScenePlayer interface or persistent data stores. This replaces the compilation of specific templates for control rig templates. - Moved sub tracks and sections to MovieScene module - Removed the concept of shared tracks. Any previous uses should port over to shared execution tokens instead. #jira UE-46789 Change 3689884 by Max.Chen Sequencer: Remove null tracks on object bindings. Tracks can become null if they're from a plugin and the plugin is disabled. #jira UE-50839 Change 3690130 by Andrew.Rodham Sequencer: Fixed UMG animations not working with blueprint nativization Change 3690162 by Andrew.Rodham Sequencer: Fix assert when using filler shots #jira UE-51029 Change 3691904 by Max.Chen Sequencer: Fix overlap by looking at the key behind as well. This fixes a bug if there's 3 keyframes on consecutive frames, if you zoom out, you should see two bordered keys when the overlap threshold is passed. #jira UE-50993 Change 3692149 by Andrew.Rodham Sequencer: Change FSortByPrioritySegmentBlender::Blend to fall back to flag comparison if any sections are null for automation tests. - Combinations of null/non-null will never happen in the wild because we either run with sections or without, but the static analysis doesn't know that Change 3692212 by Andrew.Rodham Core: Changed TRange to pass-by-value for small types, inlined some functions Change 3693044 by Max.Chen Sequencer: Update pivot location for selection when closing sequencer. #jira UE-51132 Change 3693061 by Max.Chen Sequencer: Remove force evaluate on end scrubbing. Backout previous fix because 3657907 is the real fix. #jira UE-45905 Change 3694308 by Andrew.Rodham Sequencer: Sub tracks now blend correctly again #jira UE-51076 Change 3694365 by Andrew.Rodham Sequencer: Fixed exponential slow down when compiling large quantities of sub sequences on cook caused by not clamping sub-sequence compilation correctly Change 3698176 by Max.Chen Sequencer: Enable the camera cut track when popping back to the master only if there's a camera cut track in the master. This fixes an issue where if you don't have a camera cut track in the master, the camera gets locked to a camera cut in a subscene and you can't toggle out of it. #jira UE-51332 Change 3698979 by Max.Chen Sequencer: Fix delay before warmup causing sequences not to render. #jira UE-51307 Change 3700149 by Max.Chen Sequencer: Fix delay at shot boundaries causing sequences to not play back and render out. The shot id needs to be tracked to determine whether a new shot is encountered. #jira UE-51307 Change 3705624 by Max.Chen Sequencer: Reset drop node on drag leave Change 3718781 by Max.Preussner MediaAssets: Removed obsolete pointer checks (Playlist is always valid); added checks to enforce this invariant Change 3721586 by Max.Preussner MediaAssets: Added verbose logging to MediaPlayer BP functions Change 3721662 by Max.Preussner WmfMedia: Fixed media session not generating PlaybackEndReached event when session forced to stop #jira UE-50962 Change 3722954 by Max.Preussner MediaAssets: Removed looping option from play lists Change 3723076 by Andrew.Porter Removed controls for looping playlist. Change 3724202 by Max.Chen Sequencer: Spawn time optimizations #jira UE-32885 Change 3725359 by Max.Chen Sequencer: Fix spawnables not playing back. bIsEditorPreviewActor = false for sequencer spawnables so that BeginPlay() doesn't get skipped. #jira UE-51750 Change 3725362 by Max.Chen Sequencer: Change check to ensure for null object in property actuate. This prevents a crash when there's a track without a binding object. This occur when pasting a property track to the root. #jira UE-51713 Change 3725802 by Max.Chen Sequencer: Add the ability to drag sections up. #jira UE-43305 Change 3726520 by Max.Preussner MediaAssets: Fixed OnMediaOpened called when looping a source #jira UE-51773 Change 3728509 by Max.Chen Sequencer: Fix crash pasting a camera cut track because the outer isn't set to the movie scene. #jira UE-51787 Change 3729216 by Max.Chen Sequencer: Fix pre edit property chain broadcast so that the property path will include possible struct/array node. #jira UE-51525 Change 3729248 by Max.Chen Sequencer: Add default expansion states to allow track editors to specify them per track type. Material track is currently the only track that defaults to expanded. #jira UE-21741 Change 3729392 by Max.Preussner ImgMedia: Disabling video output when video track is selected Change 3729452 by Max.Preussner MediaPlayerEditor: Showing a notification if no video track available or selected Change 3729462 by Max.Preussner MediaPlayerEditor: Creating overlay font only once Change 3731155 by Max.Chen Sequencer: Set row index when creating a new take #jira UE-51867 Change 3731446 by Max.Chen Sequencer: Add null check and warning for invalid GetParameterCollectionInstance. Change 3731640 by Max.Chen Sequencer: Automatically create a camera cut track if a camera is dropped and there's no existing camera cut or there's no existing camera cut sections. #jira UE-51846 Change 3731653 by Max.Chen Sequencer: Defer details panel updates on scrubbing and playing. #jira UE-48448 Change 3732597 by Max.Chen Sequencer: Don't swap the camera cut section if it already exists and a camera is created. Change 3733554 by Max.Chen Sequencer: Fix crash when existing hotspot is null. Change 3734305 by Max.Preussner MediaAssets: Fixed assertion when assigning same media player to a media texture twice #jira UE-51012 Change 3735735 by Max.Preussner MediaFrameworkTest: Setting MediaAssets log category Verbose to prevent log spam in Editor Change 3736393 by Max.Chen Sequencer: Set min/max values for generic key area so that they don't default to 0,10. #jira UE-52012 Change 3736804 by Max.Chen Sequencer: Fix rotation rotator->quat->rotator conversion which prevents you from typing in a rotation of 0,0,320 into the key editor. Unwind rotations from the previous transform to the current transform so that the nearest rotation is set rather than the rotator->quat->rotator conversion. #jira UE-52009 #jira UE-34816 Change 3737790 by Max.Chen Sequencer: Follow up fix to quat->rot->quat so that unwinding is only processed if the last transform is valid. Change 3739738 by Max.Chen PR #4184: Unregister Missing TrackEditors in MovieSceneTools (Contributed by LordNed) Change 3741910 by Max.Preussner MfMedia: Simplified track switching code; enabled seeking Change 3742171 by Max.Preussner MediaAssets: Fixed timecode check to include current presentation time Change 3744889 by Max.Chen Sequencer: Use drag and drop actor factory if specifiied. This ensures that the correct actor factory is used in creating the object template for the sequencer spawner. This fixes some spawnables not getting created properly (ie. Empty Actor) #jira UE-51678 Change 3746049 by Andrew.Rodham FBX Import: Fixed tangent overrides producing the wrong type of key tangent modes Change 3747870 by Max.Chen Sequencer: Update auto scroll when moving keys/sections. #jira UE-31212 Change 3747885 by Max.Chen UMG: Remove template instance finish on pause. It appears that was only there to stop audio (CL #3161056). Instead, evaluate in the stopped position with the stopped playback state. #jira UE-47749 Change 3747914 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. #jira UE-49480 Change 3747915 by Max.Chen Sequencer: Set default completion mode for all sections to project default. #jira UE-49480 Change 3748377 by Max.Preussner EngineTest: Fixed media player automation test BP #jira UE-50637 Change 3748531 by Max.Preussner EngineTest: Fixed media player not opening media during FTest setup I fixed up the Blueprint. Also, don't use PlayOnOpen on the media player if you don't intend to play the movie after opening. You can call Pause right after opening. If you enable PlayOnOpen, the order of operations will not work, because it will first call Pause via the IsReady check in Tick and then Play via the PlayOnOpen checkbox. I disabled PlayOnOpen. #jira UE-47207 Change 3750362 by Max.Chen PR #4205: parameter not used bug fixes (Contributed by shrimpy56) Change 3750885 by Max.Chen Sequencer: Prevent throttling on the curve editor so that editor world tick can apply. #jira UE-51624 Change 3757123 by Max.Preussner MediaAssets: Allowing media players to be part of GC clusters #jira FORT-59774 #jira UE-51943 Change 3764055 by Max.Chen Sequencer: Add SetPlaybackPosition as latent action to fix crash when calling SetPlaybackPosition in an event. #jira UE-52270 Change 3764555 by Max.Chen Sequencer: Change camera cut binding from guid to object binding id to allow for subscene bindings Change 3764613 by Max.Chen Sequencer: Show binding ID picker customization on all details panels. Allow creation of new camera cut sections from existing bindings. Deprecate AddNewCameraCut(FGuid) Change 3766389 by Max.Chen Sequencer: Don't override existing camera binding id on postload if it's valid. Change 3766432 by Max.Chen Sequencer: Switch constraint guid to constraint binding ID #jira UE-52438 Change 3767160 by Max.Preussner WmfMedia: Added more logging Change 3767843 by Max.Preussner MediaAssets: Fixed Crash in UMediaSoundComponent::UpdatePlayer #jira UE-52594 Change 3771038 by Max.Preussner Engine: Changed message log back to ensure Cannot use message log on render thread as it may call LoadModule Change 3771071 by Max.Preussner MediaCompositing: Fixed default media plane material Change 3771287 by Max.Preussner Engine: Changed ensure to global log Change 3771450 by Max.Preussner MediaAssets: Fixed crash when dragging media player viewport #jira UE-52675 Change 3771461 by Max.Preussner ImgMedia: Fixed seeking not working when paused #jira UE-52677 Change 3772999 by Andrew.Rodham Sequencer: Added the ability to supply an instance data object to sequence runtime evaluation - This allows systems to inject information into a sequence at runtime, enabling more dynamic control of tracks - Level sequence actors use this by default to supply a dynamic 'transform origin' to all component transform tracks, to which all absolute transform sections will be added. #jira UE-46003 Change 3774633 by Max.Preussner MediaAssets: Fixed MediaPlayer.Prev/Next not playing automatically if player was playing previously #jira UE-52714 Change 3774961 by Max.Preussner UdpMessaging: Patch to make message serialization notification thread-safe #jira UE-52624 Change 3778108 by Max.Chen Sequencer: Scroll in track area. #jira UESEQ-330 Change 3778270 by Max.Chen Sequencer: Copy/cut/paste/duplicate object bindings FMovieSceneCopyableBinding - struct containing the copied FMovieSceneBinding, FMovieScenePossessable and FMovieSceneSpawnable MovieScene - AddPossessable, AddSpawnable with existing possessable or spawnable ISequencer - FOnMovieSceneBindingsPasted to allow fixing up bindings on paste #jira UESEQ-352, UESEQ-335 Change 3778674 by Max.Preussner Engine: Fixed online documentation for external texture registry Change 3778699 by Max.Preussner Engine: Fixed external textures not registering correctly in all cases #jira UE-52648 Change 3778776 by Max.Preussner Engine: Corrected code comments for external texture registry Change 3779153 by Max.Preussner LinearTimecode: Fixed plugin category Change 3779166 by Max.Preussner WmfMedia: Reversing FourceCC display string, so it displays correctly Change 3780576 by Max.Chen Sequencer: Fix viewport invalidation so that it happens on sequence evaluation. #jira UE-52836 Change 3780619 by Max.Chen Sequencer: Always save default spawnable state regardless of focused sequence. This fixes a bug where if you step back to the master sequence (and the spawnable still exists), and then scrub outside the region where the spawnable exists, it gets destroyed but saved default spawnable state doesn't get called because it's no longer the focused sequence. #jira UE-52008 Change 3781227 by Max.Chen Sequencer: Add playback speed settings menu #jira UESEQ-384 Change 3782213 by Max.Preussner WmfMedia: Fixed H.265 frames being dropped due to false negative buffer size check #jira UE-52859 Change 3782239 by Max.Chen Sequencer: Add shortcut to tooltips #jira UE-52795 Change 3782388 by Max.Preussner WmfMedia: Fixed IYUV encoded AVI not playing correctly #jira UE-52855 Change 3782541 by Chris.Babcock Protect against asking for duration before prepare completed in movie player #jira UE-52805 #ue4 #android Change 3787676 by Max.Chen Sequencer: Export unmatched float properties to custom attributes #jira UE-52983 Change 3787788 by Max.Preussner Extras: Natvis for FTimespan Change 3789419 by Max.Chen Sequencer: Fix import camera so that when new cameras are created, values from the fbx are going only to the newly created cameras. Also, added bReduceKeys and bReduceKeysTolerance to import fbx. #jira UE-52997 Change 3789628 by Max.Chen Sequencer: Remove Shift-C and Shift-D as a hotkey for toggling the cinematic viewport as it was causing some confusion when users accidentally hit it. Change 3789716 by Andrew.Rodham Seqeuncer: Fixed slot animation not being restored for montages that are recreated during evaluation - The issue here is that the animation system can deem montages as inactive at any point, and will re-create a new montage instance if this is the case. Previously, we stored pre-animated state on the anim instance, and cached the montage that we played, which meant that we attempt to restore a stale montage. - The solution is to store pre-animated state for the montages, and cache the anim instance. This means we'll always store pre-animated state if the montage is re-created. #jira UE-49981 Change 3789874 by Max.Chen Sequencer: Add option to only show selected nodes only ISequencer - Added OnGetIsBindingVisible(), OnGetIsTrackVisible() LevelEditorSequencerIntegration - implement OnGetIsBindingVisible based on actor selection #jira UESEQ-357 Change 3789877 by Max.Chen Control Rig: Implement IsTrackVisible to show nodes in the sequencer tree that are selected. #jira UESEQ-357 Change 3791514 by Andrew.Rodham Image Plate: Fixed image plates not showing up in high res screenshots - The image plate mesh had a LOD index of -1 which meant it never showed up when a LOD to render was specified - Also simplified the bounds calculation #jira UE-51764 Change 3791596 by Max.Chen Sequence Recorder: Don't record editor only components #jira UE-49071 Change 3791659 by Andrew.Rodham Sequencer: Event struct payloads now support user defined struct default values on creation #jira UE-45430 Change 3791718 by Max.Chen Sequence Recorder: Fix level sequences not triggering when recording. Level sequences would not get recorded if the world settings actor was not recorded. Change 3791761 by Max.Chen Sequencer: Find available non-overlapping row index when adding subsections. Change 3791837 by Max.Chen Sequencer: Fix sequencer not updating after toggling Bind Sequencer to PIE/Simulate while PIE is active. Change 3791875 by Max.Chen Sequence Recorder: Add recording button now adds for any selected actors. Change 3791880 by Max.Chen Sequence Recorder: Fix end pie not stopping sequence recording if not recording world settings. Change 3791932 by Max.Chen Sequence Recorder: Record spawned actors immediately so that they won't be missed if they're deleted before tick. Clean up queued recordings that were from spawned actors. Change 3791954 by Max.Chen Sequence Recorder: Don't process if not recording on end pie. Change 3791955 by Max.Chen Sequence Recorder: Fix recording spawnables not getting the correct position for being spawned at. Set a transform on the movie scene spawnable which will be used if the root component of the object template doesn't exist. Change 3792061 by Max.Chen Sequence Recorder: Change FOnRecordingStarted and FOnRecordingFinished to multicast delegate. If a sequence being recorded into is currently open in sequencer, it gets reloaded to prevent crashes. Change 3792271 by Max.Chen Sequence Recorder: Duplicate the actor to trigger before playing so that a sequence can be recorded and played back at the same time. #jira UE-49069 Change 3792292 by Max.Preussner MfMedia: Fixed tracks being reported in reverse order #jira UE-53074 Change 3792811 by Max.Chen Sequencer: Add option to disable camera cuts on the movie scene player. Change 3793341 by Max.Preussner AvfMedia: Fix for crash when opening AVF Media after opening multiple players Merged from shelved CL in Dev-Rendering #author richard.wallis #jira UE-52383 Change 3793642 by Max.Chen Sequencer: Delete and rename icons. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-52139 Change 3794678 by Max.Chen Sequencer: Fix crash on HandleRecordingFinished #jira UE-53178 Change 3795007 by Max.Preussner AudioMixer: Fix for AVF Media Player audio is garbled and has static #author ethan.geller #jira UE-52785 Change 3795103 by Max.Chen Sequencer: Add bKeyCreated for FKeyPropertyResult and notify movie scene data changed when a key is created. #jira UE-53175 Change 3795457 by Michael.Trepka Reverted one of the changes from CL 3793341 as it was causing a crash at exit #jira UE-53196 Change 3795739 by Max.Chen Sequencer: Set ease in/out objects as transactional. #jira UE-50594 Change 3796871 by Max.Preussner MediaAssets: Fixed media texture initialization related crash on Metal; fixed white output on inactive media player; added proper support for clear color #jira UE-51940 #jira UE-52932 Change 3796921 by Michael.Trepka Fix for a crash in AvfMediaPlayer related to reusing FAvfMediaPlayer object #jira UE-53181 Change 3797176 by Max.Preussner MediaAssets: Fixed white flicker when rapidly swapping media players on a media texture Also no longer clearing media textures each frame if they are not in use #jira UE-52932 Change 3797515 by Max.Chen Actor Sequence: Add nullptr check - fix actor sequence crash when actor sequence doesn't exist. #jira UE-49103 [CL 3800998 by Max Chen in Main branch]
2017-12-11 11:42:27 -05:00
// redraw texture resource on render thread
FMediaTextureResource* ResourceParam = (FMediaTextureResource*)GetResource();
ENQUEUE_RENDER_COMMAND(MediaTextureResourceRender)(
[ResourceParam, RenderParams](FRHICommandListImmediate& RHICmdList)
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
{
ResourceParam->Render(RenderParams);
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 texture is cleared if we have auto clear enabled, and we do not have a valid sample.
bIsCleared = ((AutoClear) && (bIsSampleValid == false));
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3057646) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2840895 on 2016/01/23 by Max.Chen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2937981 on 2016/04/08 by Max.Chen Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 3051834 on 2016/07/15 by Max.Chen Sequencer: Adjust tooltips for autokeying and key all to be more descriptive. #jira UE-33081 Change 3053057 on 2016/07/17 by Max.Chen Sequencer: String track editor #jira UE-32141 Change 3053083 on 2016/07/18 by Max.Chen Sequence Recorder: Add an option to maximize the viewport when starting recording. Change 3053084 on 2016/07/18 by Max.Chen Added UnmapAction to FUICommandList Sequencer uses this to re-hook into the level editor commands without issue when it re-opens. Change 3053085 on 2016/07/18 by Max.Chen Sequence Recorder: Display name of next sequence in sequence recorder Also display on-screen during countdown Change 3053086 on 2016/07/18 by Max.Chen Sequence Recorder: Improved recording indicator icon, text & timer Also fixed a bug with record/stop button where they would not show/enable correctly if no animations were being recorded for a sequence. Change 3053089 on 2016/07/18 by Max.Chen Sequencer: Added hotkey for recording selected actors Alt+R now records selected actor into sequencer. Change 3055488 on 2016/07/19 by Max.Chen Sequencer: Fixed NotifyCameraCut() being erroneously called every frame (in FSequencer), and not being called at all in ULevelSequencePlayer Change 3056783 on 2016/07/19 by Max.Preussner PS4Media: Attempting to fix playlist advance on PS4 (UE-33481) #jira UE-33481 [CL 3057666 by Max Chen in Main branch]
2016-07-20 10:38:29 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void UMediaTexture::UpdateSampleInfo(const TSharedPtr<IMediaTextureSample, ESPMode::ThreadSafe> & Sample)
{
CurrentAspectRatio = (float)Sample->GetAspectRatio();
switch (Sample->GetOrientation())
{
case EMediaOrientation::Original: CurrentOrientation = MTORI_Original; break;
case EMediaOrientation::CW90: CurrentOrientation = MTORI_CW90; break;
case EMediaOrientation::CW180: CurrentOrientation = MTORI_CW180; break;
case EMediaOrientation::CW270: CurrentOrientation = MTORI_CW270; break;
default: CurrentOrientation = MTORI_Original;
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void UMediaTexture::UpdatePlayerAndQueue()
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
if (UMediaPlayer* CurrentPlayerPtr = CurrentPlayer.Get())
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
const FGuid PlayerGuid = CurrentPlayerPtr->GetGuid();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
// Player changed?
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (CurrentGuid != PlayerGuid)
{
if (FMediaTextureResource* MediaResource = static_cast<FMediaTextureResource*>(GetResource()))
{
MediaResource->FlushPendingData();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
SampleQueue = MakeShared<FMediaTextureSampleQueue, ESPMode::ThreadSafe>();
CurrentPlayerPtr->GetPlayerFacade()->AddVideoSampleSink(SampleQueue.ToSharedRef());
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
CurrentGuid = PlayerGuid;
}
}
else
{
// No player. Did we already reset to default?
if (CurrentGuid != DefaultGuid)
{
// No, do so now...
SampleQueue.Reset();
CurrentGuid = DefaultGuid;
if (FMediaTextureResource* MediaResource = static_cast<FMediaTextureResource*>(GetResource()))
{
MediaResource->FlushPendingData();
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3821754 by Jamie.Dale [Python] Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types Change 3833107 by Patrick.Boutot Added functions to fill an existing DataTable from an existing CSV/JSON file. Change 3835044 by Aaron.Carlisle Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename. Change 3835466 by Patrick.Boutot Hide function from Python that need special compile command to be executed by the VM. Change 3839237 by Jamie.Dale Added a way to inspect the full chain of properties that are currently being serialized by an archive You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct). Change 3839974 by Jamie.Dale Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else Change 3842311 by Jamie.Dale Fixing potential null level assert Change 3842313 by Jamie.Dale Updated settings editor to handle external properties Change 3842316 by Jamie.Dale Allowing a console command to be given to GEditor/GEngine even if there's a player CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue. Change 3842867 by Jamie.Dale Added a way to generate diffs from editor transactions The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted. These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events. Change 3844428 by Patrick.Boutot Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script. Change 3845966 by Jamie.Dale Added support for minimal game RPC worlds These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world) Change 3848844 by Patrick.Boutot Expose EComponentMobility to blueprint. Change 3854616 by Patrick.Boutot Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise. Change 3856650 by Jamie.Dale Fixed a bug where transaction finalization could miss changes since the last snapshot Change 3864951 by Patrick.Boutot Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed. Change 3867158 by JeanMichel.Dignard UBT - Added the ability for dll programs to export symbols. #jira UEENT-541 Change 3872342 by Jamie.Dale Merging static analysis fixes from 4.19 Change 3879305 by Jamie.Dale Improved the processing of py files from exec commands The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments. Change 3879306 by Jamie.Dale Added a minimal commandlet for invoking Python scripts Change 3881631 by Jamie.Dale Added basic RTTI to Python meta-data types Change 3885384 by Jamie.Dale [Python] Prevent glue code using reserved names Change 3888957 by Patrick.Boutot In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject. The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing. Change 3888961 by Patrick.Boutot Fix FInterval::IsValid return type. Change 3888980 by Patrick.Boutot Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948. Change 3889165 by Patrick.Boutot Fix build. Missing include for Timespan. Introduce with CL 3888980. Change 3889261 by Jamie.Dale [Python] Fixing some more name conflicts in generated code Change 3889504 by Darren.Pegg Add option to change PreferredPixelFormat Change 3891193 by Patrick.Boutot Fix build. Missing include for Interval. Introduce with CL 3888980. Change 3897108 by Patrick.Boutot TTinterval use it own traits. Create a Interval traits for Timespan. #jira UEENT-947 Change 3899669 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs Change 3900692 by Jamie.Dale Removed some boilerplate associated with wrapping a basic type to Python You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example) Change 3901066 by conan.reis UE4 editor script bindings (Cobra) and helper functions for version control - exposed SourceControl class with common source control methods and associated SourceControlState structure - commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard) - commands store any errors in a shared error text object which is optionally printed to the error log - renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile() - included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages. Change 3901388 by Jamie.Dale Minimal Slate hooks for Python Change 3901456 by Jamie.Dale Added missing file Change 3901549 by Jamie.Dale Removing some more Windows defines that were causing build issues Change 3904518 by conan.reis Source Control - ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider Change 3905612 by Francis.Hurteau Optimize RemoveDuplicates somewhat using a TSet #jira UEENT-217 Change 3912626 by Jamie.Dale Fixed ShouldExcludeDerivedClasses option not working RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering. Change 3917739 by Jamie.Dale Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget Change 3917744 by Jamie.Dale Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime. Change 3918832 by Jamie.Dale Removed field iteration from Python function calls We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields. Change 3920648 by Patrick.Boutot Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen. Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization. Change 3921396 by Jamie.Dale Split up the generated type data to correspond to the type being wrapped A lot of types can just use the minimal set, but classes and structs have some extra data. Change 3921619 by conan.reis - add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again. - also added result info to FSourceControlWindows::PromptForCheckin() #jira UE-55255 Change 3921624 by conan.reis Removed Source Control common files from pre compiled header - main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp - remaining files have includes changed to accomodate Change 3921958 by conan.reis Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619 Change 3922740 by conan.reis Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion. They were previously removed in CL3921624 Change 3923375 by Jamie.Dale Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings Change 3926547 by Jamie.Dale Added support for struct method "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python. Change 3927050 by conan.reis Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers #JIRA UE-55256 Change 3929268 by conan.reis - fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected - removed Perforce error message about file folders outside of the workspace client mappings - clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled() #JIRA UE-55254 Change 3931024 by Rex.Hill Expose FBX and Texture import to python Change 3931273 by Rex.Hill Hide re-import slate notification pop-up during python automated asset import Change 3931368 by Jamie.Dale Stopped bools coercing to numeric types in Python nativization Change 3931374 by Jamie.Dale Added support for struct math operator "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python. Change 3932586 by Rex.Hill Removed file read into unused memory buffer during Fbx import Change 3934308 by Jamie.Dale Added a public interface for the Python plugin Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log. Change 3935088 by conan.reis - Added info/warning and error message storage to all the source control operation structures so additional information can be made available. - Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion. #JIRA UE-55257 Change 3936668 by Rex.Hill #jira UE-55985 Avoid re-allocation of memory buffer holding file bytes during asset import Change 3940596 by Rex.Hill #jira UE-55989 Optimize skeletal mesh import performance scaling Overlapping vertex check was O (N^2) 100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds Change 3942629 by Rex.Hill #jira UE-55995 Read fbx file only once during import Fixes a memory leak of FbxScene and reduces wait time during import. Change 3942884 by Rex.Hill Python asset import can now customize destination asset name Change 3946278 by Jamie.Dale Added stricter conversion for math operator arguments PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion. This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads). Change 3948455 by Jamie.Dale Added generic Tick function to FPythonScriptPlugin This can also handle init logic for after the engine is fully initialized Change 3948888 by Jamie.Dale Added settings for the Python plugin You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings). Change 3948982 by Jamie.Dale Fixed Python 3 build error caused by CObject being removed in Python 3.2 Change 3949614 by Francis.Hurteau Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer #jira UEENT-1053 Change 3950829 by Rex.Hill Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION Change 3953452 by Jamie.Dale Fixed some dependencies Change 3953645 by Jamie.Dale Fixed Python parameter packing treating bool output paramers as potential return values void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool. Change 3953850 by Jamie.Dale Fixed doc string generation for a function with multiple output paramters and no return value Change 3954279 by Jamie.Dale Initial support for exposing deprecated properties and functions to Python This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left. Change 3954922 by Rex.Hill Expose UnloadPackages to python Change 3955209 by Jamie.Dale Initial support for exposing deprecated classes to Python Change 3955248 by Jamie.Dale Added a way to load Unreal modules via Python unreal.load_module("modulename") Change 3955561 by Rex.Hill Expose asset export to python Change 3956068 by Rex.Hill Linux compile fix. Change 3960449 by Rex.Hill Fix automated test using bCombineMeshes Change 3960495 by Patrick.Boutot Add a temporary menu to show the MetaData of an asset. The menu will need to be updated to have a look and feel of the Detail View and support edition at one point. Change 3961599 by Rex.Hill Reduced peak memory during import of meshes related to duplicate vertex tracking Change 3962104 by Rex.Hill Disable import mesh overlapping corners memory optimization to because it can change uv generation Change 3962507 by Rex.Hill Fix uv generation Change 3965285 by Rex.Hill Add support for FBX export as ASCII #jira UE-56465 Change 3965287 by Rex.Hill Forgotten file, fbx export as ascii Change 3966772 by Simon.Tourangeau Fix MaterialExpressionFunctions for ExternalTexture support Change 3967014 by Jamie.Dale Added a way to get the CDO in Python Wrapped objects now have a get_default_object class method Change 3967151 by Jamie.Dale Added stats to track Python generation time Change 3968006 by Simon.Therriault Media Samples - Removed Locks and Min/Max SampleTime from queues - Added methods to fetch NextSampleTime and SampleCount in queues - Added MediaSource base class for players that want to be time synchronized #jira UEENT-948 Change 3969119 by Patrick.Boutot Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other. [CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
FTimespan UMediaTexture::GetNextSampleTime() const
{
return CachedNextSampleTime;
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 3972172) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3821754 by Jamie.Dale [Python] Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types Change 3833107 by Patrick.Boutot Added functions to fill an existing DataTable from an existing CSV/JSON file. Change 3835044 by Aaron.Carlisle Exposure for asset_import_data (editor property) and it's functions: extract_filenames and get_first_filename. Change 3835466 by Patrick.Boutot Hide function from Python that need special compile command to be executed by the VM. Change 3839237 by Jamie.Dale Added a way to inspect the full chain of properties that are currently being serialized by an archive You used to only have access to the leaf-most property, and while you could use its outer chain to inspect other properties within the same object/struct, you couldn't always get the full chain (eg, if you had an object containing a struct). Change 3839974 by Jamie.Dale Make sure that SerializedProperty is copied correctly, as SetSerializedPropertyChain may set it to something else Change 3842311 by Jamie.Dale Fixing potential null level assert Change 3842313 by Jamie.Dale Updated settings editor to handle external properties Change 3842316 by Jamie.Dale Allowing a console command to be given to GEditor/GEngine even if there's a player CL# 1848982 said it was to prevent multiple execution of stat commands, however that no longer seems to be an issue. Change 3842867 by Jamie.Dale Added a way to generate diffs from editor transactions The notifications from these diffs are send to UObject::PostTransacted and FCoreUObjectDelegates::OnObjectTransacted. These notifications are typically generated when a transaction is "finalized", but can also be generated from "snapshots" (eg, to trap nodes being dragged in the world). They're also generated from normal undo/redo events. Change 3844428 by Patrick.Boutot Move the SetMaterial code from the StaticMeshEditor to StaticMesh to be reusable by script. Change 3845966 by Jamie.Dale Added support for minimal game RPC worlds These can be created in the editor and engine and exist to allow RPC communication via Unreal Networking in a way that is sandboxed from any other worlds that may be loaded (like the main game world) Change 3848844 by Patrick.Boutot Expose EComponentMobility to blueprint. Change 3854616 by Patrick.Boutot Add Custom way time step the engine loop. Will be used by the Synchronization of media for enterprise. Change 3856650 by Jamie.Dale Fixed a bug where transaction finalization could miss changes since the last snapshot Change 3864951 by Patrick.Boutot Fix ghost asset in Content Browser when an asset is added and renamed before the RecentlyAddedAssets list had a chance to be processed. Change 3867158 by JeanMichel.Dignard UBT - Added the ability for dll programs to export symbols. #jira UEENT-541 Change 3872342 by Jamie.Dale Merging static analysis fixes from 4.19 Change 3879305 by Jamie.Dale Improved the processing of py files from exec commands The old logic used to just test if the entire command was a .py file. The new logic extracts out the first token and sees if that's a .py file, and if it is, treats the remaining data as extra arguments. Change 3879306 by Jamie.Dale Added a minimal commandlet for invoking Python scripts Change 3881631 by Jamie.Dale Added basic RTTI to Python meta-data types Change 3885384 by Jamie.Dale [Python] Prevent glue code using reserved names Change 3888957 by Patrick.Boutot In MediaPlayer, only create a PlayerFacade & Playlist when it's not a ClassDefaultObject. The MediaPlayerFacade is a MediaTickable. That trigger the tick thread to be awake even if there is no Media playing. Change 3888961 by Patrick.Boutot Fix FInterval::IsValid return type. Change 3888980 by Patrick.Boutot Modification to Media and MediaAsset to support MediaSmith. The TInterval<int64> will be changed into TTinterval<FTimespan> UEENT-947. MediaSampleQueue's critical section will be change into an atomic operation UEENT-948. Change 3889165 by Patrick.Boutot Fix build. Missing include for Timespan. Introduce with CL 3888980. Change 3889261 by Jamie.Dale [Python] Fixing some more name conflicts in generated code Change 3889504 by Darren.Pegg Add option to change PreferredPixelFormat Change 3891193 by Patrick.Boutot Fix build. Missing include for Interval. Introduce with CL 3888980. Change 3897108 by Patrick.Boutot TTinterval use it own traits. Create a Interval traits for Timespan. #jira UEENT-947 Change 3899669 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs Change 3900692 by Jamie.Dale Removed some boilerplate associated with wrapping a basic type to Python You can now derive from TPyWrapperBasic to wrap a type that is simply a value copied into Python (see FPyWrapperName and FPyWrapperText for an example) Change 3901066 by conan.reis UE4 editor script bindings (Cobra) and helper functions for version control - exposed SourceControl class with common source control methods and associated SourceControlState structure - commands have smart file strings that can convert from any of fully qualified path, relative path, long package name, asset path or export text path (often stored on clipboard) - commands store any errors in a shared error text object which is optionally printed to the error log - renamed some calls across the UE4 codebase to USourceControlHelpers::CheckOutOrAddFile() from USourceControlHelpers::CheckOutFile() - included Python test script for source control commands including that auto-creates test files as needed and passes various types of files to test as command line arguments. Any unexpected results displays error messages. Change 3901388 by Jamie.Dale Minimal Slate hooks for Python Change 3901456 by Jamie.Dale Added missing file Change 3901549 by Jamie.Dale Removing some more Windows defines that were causing build issues Change 3904518 by conan.reis Source Control - ensured that "check if modified" flag is set whenver getting source control state in USourceControlHelpers::QueryFileState() which was needed when using Perforce source control provider Change 3905612 by Francis.Hurteau Optimize RemoveDuplicates somewhat using a TSet #jira UEENT-217 Change 3912626 by Jamie.Dale Fixed ShouldExcludeDerivedClasses option not working RecursiveClassesExclusionSet requires a base ClassNames entry to operate on when filtering. Change 3917739 by Jamie.Dale Output Log suggestions list is now clamped to the work area width of the monitor that hosts the widget Change 3917744 by Jamie.Dale Changed generated code to reference the UProperty and UFunction directly, rather than constantly look them up by name Names were originally used because UHT couldn't access the objects when it registered the glue code, but now that we generate at runtime via reflection, we already have the relevant objects available, and caching them the glue structs helps performance at both generation time and runtime. Change 3918832 by Jamie.Dale Removed field iteration from Python function calls We now cache the input and output parameters for all function calls (methods, get/set, and delegates) and use this rather than iterate the struct fields. Change 3920648 by Patrick.Boutot Remove the bottom right part of the windows border of the grabbed frame when in the editor. Tested in the standalone, windowed and full screen. Add option to request a FlushOnDraw on the viewport. Flushing in SDI output flow decreases the performance by ~10ms. SDI output is synchronized and the engine tick follows that synchronization. Change 3921396 by Jamie.Dale Split up the generated type data to correspond to the type being wrapped A lot of types can just use the minimal set, but classes and structs have some extra data. Change 3921619 by conan.reis - add delegate to FSourceControlWindows::ChoosePackagesToCheckin() that gives info for result, result description, files added, files checked in and flag indicating whether files were checked out again. - also added result info to FSourceControlWindows::PromptForCheckin() #jira UE-55255 Change 3921624 by conan.reis Removed Source Control common files from pre compiled header - main changes are in UnrealEdPrivatePCH.h, UnrealEdSharedPCH.h, SouceControlWindows.h and the added SouceControlWindows.cpp - remaining files have includes changed to accomodate Change 3921958 by conan.reis Fix attempt for incude file dependency needed by some build configurations (likely PCH disabled) caused by CL3921619 Change 3922740 by conan.reis Included SourceControlOperations.h and SourceControlHelpers.h back in ISourceControlProvider.h though it does not need them since other files that were including ISourceControlProvider.h have come to expect their inclusion. They were previously removed in CL3921624 Change 3923375 by Jamie.Dale Added optimized FString <-> icu::UnicodeString conversion for platforms using UTF-16 native strings Change 3926547 by Jamie.Dale Added support for struct method "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMethod meta-data (optionally providing a new name) to "hoist" that helper function to be a method of the struct it operates on when wrapped for Python. Change 3927050 by conan.reis Source control - ensured that ISourceControlProvider::Execute(FConnect, EConcurrency, FSourceControlOperationComplete) delegate is called on initial connection even if it fails immediately. Modified Perforce, Git and Subversion source control providers #JIRA UE-55256 Change 3929268 by conan.reis - fixed case in Perforce source control code where the server available flag was set even when the server was not successfully connected - removed Perforce error message about file folders outside of the workspace client mappings - clarified comments for ISourceControlProvider::IsEnabled() and ISourceControlModule::IsEnabled() #JIRA UE-55254 Change 3931024 by Rex.Hill Expose FBX and Texture import to python Change 3931273 by Rex.Hill Hide re-import slate notification pop-up during python automated asset import Change 3931368 by Jamie.Dale Stopped bools coercing to numeric types in Python nativization Change 3931374 by Jamie.Dale Added support for struct math operator "hoisting" This allows you to tag a helper function that takes a struct as its first argument with the ScriptMathOp meta-data (providing a potentially semi-colon separated list of operators to map to) to "hoist" that helper function to be a math operator of the struct it operates on when wrapped for Python. Change 3932586 by Rex.Hill Removed file read into unused memory buffer during Fbx import Change 3934308 by Jamie.Dale Added a public interface for the Python plugin Very basic, just lets you query if Python is compiled in, and lets you execute Python commands like you would via the Output Log. Change 3935088 by conan.reis - Added info/warning and error message storage to all the source control operation structures so additional information can be made available. - Added ISourceControlOperation::GetResultInfo() which returns the modified control structures (mentioned above) with appended info/warning messages and error messages and implemented its use in all source control operations in Perforce, Git and Subversion. #JIRA UE-55257 Change 3936668 by Rex.Hill #jira UE-55985 Avoid re-allocation of memory buffer holding file bytes during asset import Change 3940596 by Rex.Hill #jira UE-55989 Optimize skeletal mesh import performance scaling Overlapping vertex check was O (N^2) 100k vertex mesh took ~15 seconds to perform overlap step now takes 0.023 seconds Change 3942629 by Rex.Hill #jira UE-55995 Read fbx file only once during import Fixes a memory leak of FbxScene and reduces wait time during import. Change 3942884 by Rex.Hill Python asset import can now customize destination asset name Change 3946278 by Jamie.Dale Added stricter conversion for math operator arguments PyConversion now returns FPyConversionResult rather than bool, which will tell you not only whether a conversion succeeded or failed, but also whether type coercion was applied during the conversion. This allows the operator stack evaluation to run a first pass looking for an exact argument match, before falling back to a coerced match if available. This allows operators to apply correctly to coerced types (eg, int vs float overloads). Change 3948455 by Jamie.Dale Added generic Tick function to FPythonScriptPlugin This can also handle init logic for after the engine is fully initialized Change 3948888 by Jamie.Dale Added settings for the Python plugin You can now define start-up scripts to execute once the engine is initialized, additional system paths for Python, and whether you want to enable developer mode (which will enable things like deprecation warnings). Change 3948982 by Jamie.Dale Fixed Python 3 build error caused by CObject being removed in Python 3.2 Change 3949614 by Francis.Hurteau Create a camera cut track from the camera switcher camera index animation curve when importing a fbx in sequencer #jira UEENT-1053 Change 3950829 by Rex.Hill Update error message to be more specific when ENGINE_API keyword is found before 'static' keyword for a UFUNCTION Change 3953452 by Jamie.Dale Fixed some dependencies Change 3953645 by Jamie.Dale Fixed Python parameter packing treating bool output paramers as potential return values void GetState(bool& OutState) would have previously triggered the code for packing output for a function that returns a bool. Change 3953850 by Jamie.Dale Fixed doc string generation for a function with multiple output paramters and no return value Change 3954279 by Jamie.Dale Initial support for exposing deprecated properties and functions to Python This handles properties and functions that are directly deprecated. We still need to handle the cases where they're renamed and a redirector is left. Change 3954922 by Rex.Hill Expose UnloadPackages to python Change 3955209 by Jamie.Dale Initial support for exposing deprecated classes to Python Change 3955248 by Jamie.Dale Added a way to load Unreal modules via Python unreal.load_module("modulename") Change 3955561 by Rex.Hill Expose asset export to python Change 3956068 by Rex.Hill Linux compile fix. Change 3960449 by Rex.Hill Fix automated test using bCombineMeshes Change 3960495 by Patrick.Boutot Add a temporary menu to show the MetaData of an asset. The menu will need to be updated to have a look and feel of the Detail View and support edition at one point. Change 3961599 by Rex.Hill Reduced peak memory during import of meshes related to duplicate vertex tracking Change 3962104 by Rex.Hill Disable import mesh overlapping corners memory optimization to because it can change uv generation Change 3962507 by Rex.Hill Fix uv generation Change 3965285 by Rex.Hill Add support for FBX export as ASCII #jira UE-56465 Change 3965287 by Rex.Hill Forgotten file, fbx export as ascii Change 3966772 by Simon.Tourangeau Fix MaterialExpressionFunctions for ExternalTexture support Change 3967014 by Jamie.Dale Added a way to get the CDO in Python Wrapped objects now have a get_default_object class method Change 3967151 by Jamie.Dale Added stats to track Python generation time Change 3968006 by Simon.Therriault Media Samples - Removed Locks and Min/Max SampleTime from queues - Added methods to fetch NextSampleTime and SampleCount in queues - Added MediaSource base class for players that want to be time synchronized #jira UEENT-948 Change 3969119 by Patrick.Boutot Add delay functionnality to MediaPlayer to delay the frame by some time. It will allow more than one player to be start at the same time, played at the same frame but offset in relation to each other. [CL 3972277 by Simon Tourangeau in Main branch]
2018-03-29 13:32:35 -04:00
}
int32 UMediaTexture::GetAvailableSampleCount() const
{
return SampleQueue->Num();
}
float UMediaTexture::GetCurrentAspectRatio() const
{
return CurrentAspectRatio;
}
MediaTextureOrientation UMediaTexture::GetCurrentOrientation() const
{
return CurrentOrientation;
}