Commit Graph

47 Commits

Author SHA1 Message Date
nick pace
9e2951b3be Revert default version of WebRTC to 4664 (M96) due to issues with LibVPX in version 5414 (M109)
#rb self
[FYI] luke.bermingham, nazar.rudenko, aidan.possemiers, denis.phoenix

[CL 26877282 by nick pace in ue5-main branch]
2023-08-06 22:10:04 -04:00
nick pace
e894d437e8 Update WebRTC 5414 binaries with LibVPX symbols stripped to avoid collisions with LibVPX provided in UE third party libraries.
#rb aidan.possemiers
[FYI] nazar.rudenko, eden.harris, matthew.cotton

[CL 26761603 by nick pace in ue5-main branch]
2023-08-01 19:46:32 -04:00
nick pace
97ae2952c4 Disable 5414 WebRTC until Compile UnrealGame Linux - CrossCompile target is fixed
#rb self
[FYI] denis.phoenix, nazar.rudenko, aidan.possemiers

[CL 26457045 by nick pace in ue5-main branch]
2023-07-19 08:15:10 -04:00
nick pace
66e927ab09 Fix WebRTC 5414 NonUnity and static analysis issues and re-enable it as the default version.
Fixes two issues:
  - Static Analysis (IncludeTool): The packaging behavior of WebRTC headers that we have modified internal caused an extra newline every line, this broke some headers which have been fixed
  - NonUnity: Some of the included WebRTC headers have changed in 5414 so that they now end up including windows.h, causing issues like "min" redefinition, this has been resolved by adding "pre" and "post" headers for WebRTC includes which will ensure the appropriate preprocessor environment is set up prior to including WebRTC headers and then clean up after itself in the "post" header

#rb nazar.rudenko, aidan.possemiers
[FYI] matthew.cotton, denis.phoenix

[CL 26453140 by nick pace in ue5-main branch]
2023-07-18 20:08:41 -04:00
nick pace
baa6240911 Revert back to WebRTC 4664 due to build health issues with 5414.
[CL 26339909 by nick pace in ue5-main branch]
2023-06-30 01:42:05 -04:00
nick pace
dfb8e17be5 Unshelved from pending changelist '25944872':
Add WebRTC 109 support to PS plugin behind a flag
This CL adds necessary changes for PS plugin to support WebRTC 109.

#rb nick.pace
[FYI] ivan.sidarau, aidan.possemiers
#jira UE-188331

Test steps:
1. Build WebRTC 109 (5414) from 3rdParty depot
2. Place headers and library into Engine\Source\ThirdParty\WebRTC\5414
3. Change "bShouldUse5414WebRTC" flag to true in WebRTC.Build.cs
4. Build UE5
5. Observe it builds and links with no issues

[CL 26336571 by nick pace in ue5-main branch]
2023-06-30 00:23:52 -04:00
joe kirchoff
8e833277da Fix WebRTC include paths or bundled third party libs
#rnx
#jira UE-177808

[CL 24432067 by joe kirchoff in ue5-main branch]
2023-02-27 16:19:25 -05:00
Nick Pace
062cbc7ebb Remove WebRTC version M84
#rb luke.bermingham
#fyi mattias.jansson
#jira none
#preflight 63d145dc94644f3e8ed4e940

[CL 23848552 by Nick Pace in ue5-main branch]
2023-01-25 10:55:03 -05:00
josh adams
1610c3bee3 UnrealArch/UnrealArchitectures changes
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
 - UnrealArch is a single architecture, expandable enum-like struct
 - There is no more concept of "no/default architecture", there is always a valid active architecture when building
 - Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
 - UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
 - UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
 - TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
 - Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)

#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471

[CL 23829977 by josh adams in ue5-main branch]
2023-01-24 09:30:28 -05:00
matthew cotton
f6421691cd Removing debug binaries from webrtc.
WebRTC binary and header updates for M96.
Reducing bloat of 5.1

#rb aidan.possemiers
[FYI] william.belcher, mattias.jansson
#jira UE-166850
#lockdown Mitchell.Wilson
#preflight 6345f9758d665d55d0fbea15

[CL 22486755 by matthew cotton in ue5-main branch]
2022-10-12 18:00:49 -04:00
aidan possemiers
263dee338e Links WebMMedia against WebRTC on platforms its supported by; this avoids symbol collisions.
#JIRA UE-165968
#rb Pavel.Punsky Ivan.Sidarau
#preflight 633d2048d74cbd55043aa4b0
#preflight 633e1480b6053e8287a4c93f

[CL 22412639 by aidan possemiers in ue5-main branch]
2022-10-07 19:41:26 -04:00
luke bermingham
d1d2e69229 Revert default WebRTC version back to M84 until M96 + FF are able to hit/ramp to expected bitrates when Pixel Streaming.
Unfortunately we have no real leads why this issue occurs in M96 + FF, only that M96/M84 + non-FF works as expected and M84 + FF works as expected.

The intent is to remove M84 support as soon the FF + M96 bitrate issue can be resolved.

#jira UE-161176
#rb self
#preflight 6333b55ddc213d2eade73a90

[CL 22231468 by luke bermingham in ue5-main branch]
2022-09-28 17:35:23 -04:00
Nick Pace
7829383587 Set 4664 (M96) as the default WebRTC version on Windows and update usage of WebRTC by Pixel Streaming to avoid deprecated API
#rb matthew.cotton
#fyi mattias.jansson, ivan.sidarau, william.belcher
#jira none
#preflight 630816f53042e94f9f6e84a6 63081723d65521a5a5927a19

[CL 21580148 by Nick Pace in ue5-main branch]
2022-08-25 21:08:53 -04:00
jessica agee
04122edcd9 [Backout] - CL21559988
#fyi Nick.Pace
Original CL Desc
-----------------------------------------------------------------
Set 4664 (M96) as the default WebRTC version and update usage of WebRTC by Pixel Streaming to avoid deprecated API

#rb self
#fyi mattias.jansson, ivan.sidarau, william.belcher, matthew.cotton
#jira none
#preflight 6307233fc85b7fef22ecb57b

[CL 21569680 by jessica agee in ue5-main branch]
2022-08-25 14:42:31 -04:00
Nick Pace
43275e46b5 Set 4664 (M96) as the default WebRTC version and update usage of WebRTC by Pixel Streaming to avoid deprecated API
#rb self
#fyi mattias.jansson, ivan.sidarau, william.belcher, matthew.cotton
#jira none
#preflight 6307233fc85b7fef22ecb57b

[CL 21559988 by Nick Pace in ue5-main branch]
2022-08-25 03:28:43 -04:00
William Belcher
fe31211473 Early Pixel Streaming features, bugfixes, and refactors that benefit main.
This change list is a collation of work from multiple authors.

********Features*******
* Add a ForceKeyFrame blueprints and cpp method which forces the modules default streamer to send a keyframe.
* Add support for use of WebRTC version 96 with Pixel Streaming. NOTE: There are noticeable performance regressions introduced with this version that are being investigated. Version 84 remains the default.
* Add the ability to stream the main Level Editor window to the browser.
* Add a Pixel Streaming specific toolbar for starting and stopping streaming in the editor, as well as configuring some basic plugin settings.
* Add ARKit transform support for controlling PixelStreamingVCam cameras with ARKit transform data received from the LiveLink app. See PixelStreamingVCamSession for handling of this data.


********Bugfixes*******
* Fix backwards compatibility break where offers from players wouldn't result in a connection.
* Fix a deadlock scenario that could be triggered with rapid peer connects/disconnects.
* Fix a crash in WebRTC caused by not removing the audio sink when a peer disconnects.
* Fix streams being capped at 30fps by default.
* Fix incorrect WebRTC headers being included in public header.


********Refactors*******
* Refactor Pixel Streaming start-up logic to be a more uniform code path.
* Refactor Pixel Streaming URL to use settings function like PixelStreamingIP and Port.
* Moved ECodec to public so the module can expose a method to select what codec the user would like to use.
* Modified packaging of a PixelStreaming project so that ps-infra files are placed in a nicer location.
* Refactor handling of input so mouse and touch events don't affect windows in front of or around the target viewport.
* Renamed the encoders and their corresponding factories to better describe their purpose.

#rb luke.bermingham
#jira none
#preflight 62c3919fc438da7f09fe0914
#fyi mattias.jansson, aidan.possemiers, david.hibbitts

[CL 20938453 by William Belcher in ue5-main branch]
2022-07-04 22:23:38 -04:00
Aidan Possemiers
19c966c925 Adding WerbRTC binaries for upgrade to WebRTC M96. Currently not enabled by default.
#JIRA UE-153246
#rb Luke.Berminham, Ivan.Sidarau
#fyi Mattias.Jansson, Pavel.Punsky
#preflight 6286e0dc9016c6dd89a5dda5

[CL 20315916 by Aidan Possemiers in ue5-main branch]
2022-05-22 19:35:22 -04:00
David Harvey
41557382a7 Main media plugins build for Windows-based platform extensions.
- Windows-based platform extensions should not use MfMedia player now - should change to WmfMedia for the time being.

#jira UE-131865
#rb Eric.McDaniel
#preflight 62347b390820efd09469a25a

[CL 19434256 by David Harvey in ue5-main branch]
2022-03-18 08:43:12 -04:00
aurel cordonnier
34f55d3a4a Merge from Release-Engine-Test @ 17946149 to UE5/Main
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17949667 by aurel cordonnier in ue5-main branch]
2021-10-27 15:14:40 -04:00
Nick Pace
db7ffa0445 Integrate Dev-TensorWorks PixelStreaming/AVEncoder changes into Main
#JIRA UCS-1831
#fyi luke.bermingham, marco.anastasi
#rb aidan.possemiers

[CL 17920208 by Nick Pace in ue5-main branch]
2021-10-26 01:05:06 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Josh Adams
b0e4357576 - UBT Code changes to remove 32-bit Windows support (C++ code for 32-bit still exists)
#rb marc.audy (concept, not each file)

[CL 15265424 by Josh Adams in ue5-main branch]
2021-01-31 15:09:58 -04:00
josh adams
62945c475f - Moving ThirdParty platform files to PlatformExtensions
#rb none

#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 13048826 via CL 13048840 via CL 13048844
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13048916 by josh adams in Main branch]
2020-04-27 13:58:54 -04:00
ryan durand
5954c1f85b Updating remaining copyrights in Engine.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869250 via CL 10869537 via CL 10869906
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870965 by ryan durand in Main branch]
2019-12-26 23:08:00 -05:00