Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

Commit

Permalink
Packaging improvements + screen share crash #419
Browse files Browse the repository at this point in the history
  • Loading branch information
djova-dolby authored Oct 9, 2023
2 parents 89aed11 + 7c13ce5 commit 16e57ce
Show file tree
Hide file tree
Showing 9 changed files with 87 additions and 23 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ permissions:
packages: write

env:
PLUGIN_VERSION: "1.2.0"
PLUGIN_VERSION: "1.2.2"
CPP_SDK_VERSION: "2.6.1"
CPP_SDK_URL: "https://github.com/DolbyIO/comms-sdk-cpp/releases/download"
PLUGIN_SOURCE_DIR: "DolbyIO"
Expand Down
34 changes: 34 additions & 0 deletions DolbyIO/Config/FilterPlugin.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,37 @@
; /README.txt
; /Extras/...
; /Binaries/ThirdParty/*.dll
; MacOS
/sdk-release/include/...
/sdk-release/lib/libcac_dvdnr.dylib
/sdk-release/lib/libdlb_vidseg_c_api.dylib
/sdk-release/lib/libdolbyio_comms_media.dylib
/sdk-release/lib/libdolbyio_comms_sdk.dylib
/sdk-release/lib/libdvclient.dylib
/sdk-release/lib/libdvdnr.dylib
/sdk-release/lib/libopencv_core.4.5.dylib
/sdk-release/lib/libopencv_imgcodecs.4.5.dylib
/sdk-release/lib/libopencv_imgproc.4.5.dylib
/sdk-release/lib/libvideo_processor.dylib
/sdk-release/lib/model.dnr
/sdk-release/lib/video_processor.model
; Linux
/sdk-release-ubuntu-20.04-clang10-libc++10/include/...
/sdk-release-ubuntu-20.04-clang10-libc++10/lib/libavcodec.so.59
/sdk-release-ubuntu-20.04-clang10-libc++10/lib/libavformat.so.59
/sdk-release-ubuntu-20.04-clang10-libc++10/lib/libavutil.so.57
/sdk-release-ubuntu-20.04-clang10-libc++10/lib/libcac_dvdnr.so
/sdk-release-ubuntu-20.04-clang10-libc++10/lib/libdolbyio_comms_media.so
/sdk-release-ubuntu-20.04-clang10-libc++10/lib/libdolbyio_comms_sdk.so
/sdk-release-ubuntu-20.04-clang10-libc++10/lib/libdvclient.so
/sdk-release-ubuntu-20.04-clang10-libc++10/lib/model.dnr
; Windows
/sdk-release/include/...
/sdk-release/bin/*.dll
/sdk-release/bin/model.dnr
/sdk-release/bin/video_processor.model
/sdk-release/lib/dolbyio_comms_media.lib
/sdk-release/lib/dolbyio_comms_sdk.lib
/sdk-release/lib/video_processor.lib
; Android
/sdk-release-android/...
2 changes: 1 addition & 1 deletion DolbyIO/DolbyIO.uplugin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"FileVersion": 3,
"Version": 1,
"VersionName": "1.2.0",
"VersionName": "1.2.2",
"FriendlyName": "Dolby.io Virtual Worlds",
"Description": "Plugin integrating Dolby.io Communications.",
"Category": "Communications",
Expand Down
5 changes: 3 additions & 2 deletions DolbyIO/Source/DolbyIO.Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public DolbyIO(ReadOnlyTargetRules Target) : base(Target)

string[] Dlls = new string[] { "avutil-57.dll",
"avcodec-59.dll",
"avformat-59.dll",
"dvclient.dll",
"dolbyio_comms_media.dll",
"dolbyio_comms_sdk.dll",
Expand Down Expand Up @@ -69,12 +70,12 @@ public DolbyIO(ReadOnlyTargetRules Target) : base(Target)
{
RuntimeDependencies.Add(Lib);
}
RuntimeDependencies.Add(Path.Combine(LibDir, "libdlb_vidseg_c_api.dylib"));
RuntimeDependencies.Add(Path.Combine(LibDir, "libdvclient.dylib"));
RuntimeDependencies.Add(Path.Combine(LibDir, "libdvdnr.dylib"));
RuntimeDependencies.Add(Path.Combine(LibDir, "libopencv_core.4.5.dylib"));
RuntimeDependencies.Add(Path.Combine(LibDir, "libopencv_imgcodecs.4.5.dylib"));
RuntimeDependencies.Add(Path.Combine(LibDir, "libopencv_imgproc.4.5.dylib"));
RuntimeDependencies.Add(Path.Combine(LibDir, "libdvdnr.dylib"));
RuntimeDependencies.Add(Path.Combine(LibDir, "libdlb_vidseg_c_api.dylib"));
RuntimeDependencies.Add(Path.Combine(LibDir, "model.dnr"));
RuntimeDependencies.Add(Path.Combine(LibDir, "video_processor.model"));
}
Expand Down
28 changes: 17 additions & 11 deletions DolbyIO/Source/Private/DolbyIOModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,11 @@ class FDolbyIOModule final : public IModuleInterface
[](std::size_t Count, std::size_t Al) { return ::operator new(Count, static_cast<std::align_val_t>(Al)); },
::operator delete,
[](void* Ptr, std::size_t Al) { ::operator delete(Ptr, static_cast<std::align_val_t>(Al)); }};
// Add this here as I am not sure how Windows paths are interpreted (do I need the backslash)
BaseDir = FPaths::Combine(BaseDir, TEXT("bin"));
LoadDll(BaseDir, "avutil-57.dll");
LoadDll(BaseDir, "avcodec-59.dll");
LoadDll(BaseDir, "avformat-59.dll");
LoadDll(BaseDir, "dvclient.dll");
LoadDll(BaseDir, "dolbyio_comms_media.dll");
LoadDll(BaseDir, "dolbyio_comms_sdk.dll");
Expand All @@ -39,19 +41,23 @@ class FDolbyIOModule final : public IModuleInterface
LoadDll(BaseDir, "video_processor.dll");
dolbyio::comms::plugin::video_processor::set_app_allocator(Allocator);
#elif PLATFORM_MAC
BaseDir = FPaths::Combine(BaseDir, TEXT("lib"));
LoadDll(BaseDir, "libdolbyio_comms_media.dylib");
LoadDll(BaseDir, "libdolbyio_comms_sdk.dylib");
LoadDll(BaseDir, "libvideo_processor.dylib");
LoadDll(BaseDir, "lib/libdvclient.dylib");
LoadDll(BaseDir, "lib/libdolbyio_comms_media.dylib");
LoadDll(BaseDir, "lib/libdolbyio_comms_sdk.dylib");
LoadDll(BaseDir, "lib/libopencv_core.4.5.dylib");
LoadDll(BaseDir, "lib/libopencv_imgproc.4.5.dylib");
LoadDll(BaseDir, "lib/libopencv_imgcodecs.4.5.dylib");
LoadDll(BaseDir, "lib/libdlb_vidseg_c_api.dylib");
LoadDll(BaseDir, "lib/libdvdnr.dylib");
LoadDll(BaseDir, "lib/libvideo_processor.dylib");
#elif PLATFORM_LINUX
BaseDir += "-ubuntu-20.04-clang10-libc++10";
BaseDir = FPaths::Combine(BaseDir, TEXT("lib"));
LoadDll(BaseDir, "libavutil.so.57");
LoadDll(BaseDir, "libavcodec.so.59");
LoadDll(BaseDir, "libavformat.so.59");
LoadDll(BaseDir, "libdvclient.so");
LoadDll(BaseDir, "libdolbyio_comms_media.so");
LoadDll(BaseDir, "libdolbyio_comms_sdk.so");
LoadDll(BaseDir, "lib/libavutil.so.57");
LoadDll(BaseDir, "lib/libavcodec.so.59");
LoadDll(BaseDir, "lib/libavformat.so.59");
LoadDll(BaseDir, "lib/libdvclient.so");
LoadDll(BaseDir, "lib/libdolbyio_comms_media.so");
LoadDll(BaseDir, "lib/libdolbyio_comms_sdk.so");
#endif
}

Expand Down
2 changes: 1 addition & 1 deletion DolbyIO/Source/Private/Subsystem/DolbyIOScreenshare.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ void UDolbyIOSubsystem::GetCurrentScreenshareSource()
void UDolbyIOSubsystem::Handle(const screen_share_error& Event)
{
DLB_UE_LOG_BASE(Warning, "Received screen_share_error event source=%s type=%s description=%s force_stopped=%d",
*ToString(Event.source), Event.type, *ToFString(Event.description), Event.force_stopped);
*ToString(Event.source), *ToString(Event.type), *ToFString(Event.description), Event.force_stopped);
if (Event.force_stopped)
{
StopScreenshare();
Expand Down
12 changes: 12 additions & 0 deletions DolbyIO/Source/Private/Utils/DolbyIOConversions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,18 @@ namespace DolbyIO
*(ToFText(Source.title).ToString()));
}

FString ToString(dolbyio::comms::screen_share_error::error_type err_type) {
switch (err_type) {
case dolbyio::comms::screen_share_error::error_type::continuos_temporary:
return "Continuous but temporary";
case dolbyio::comms::screen_share_error::error_type::permanent:
return "Permanent";
default:
return "";
}
}


EDolbyIOParticipantStatus ToEDolbyIOParticipantStatus(std::optional<participant_status> Status)
{
if (Status)
Expand Down
1 change: 1 addition & 0 deletions DolbyIO/Source/Private/Utils/DolbyIOConversions.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ namespace DolbyIO
FString ToString(enum dolbyio::comms::audio_device::direction Direction);
FString ToString(const dolbyio::comms::camera_device& Device);
FString ToString(const dolbyio::comms::screen_share_source& Source);
FString ToString(dolbyio::comms::screen_share_error::error_type err_type);

EDolbyIOParticipantStatus ToEDolbyIOParticipantStatus(std::optional<dolbyio::comms::participant_status> Status);
FDolbyIOParticipantInfo ToFDolbyIOParticipantInfo(const dolbyio::comms::participant_info& Info);
Expand Down
24 changes: 17 additions & 7 deletions docs/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 16e57ce

Please sign in to comment.