diff --git a/GreenScreen/CMakeLists.txt b/GreenScreen/CMakeLists.txt
index b19d1fd..2b8af88 100644
--- a/GreenScreen/CMakeLists.txt
+++ b/GreenScreen/CMakeLists.txt
@@ -56,7 +56,6 @@
                ./../lib/accel.cpp
                ./../lib/frameUtils.cpp
                ./../lib/frameFilter.cpp
-               ${DAEMON_SRC}/string_utils.cpp
                )
 
 set(plugin_HDR pluginMediaHandler.h
diff --git a/GreenScreen/ffmpeg/package.json b/GreenScreen/ffmpeg/package.json
index bf8413d..fe7cfe8 100644
--- a/GreenScreen/ffmpeg/package.json
+++ b/GreenScreen/ffmpeg/package.json
@@ -1,6 +1,6 @@
 {
     "name": "ffmpeg",
-    "version": "n4.4",
+    "version": "n4.4.2",
     "url": "https://github.com/FFmpeg/FFmpeg/archive/__VERSION__.tar.gz",
     "deps": [
         "zlib",
@@ -13,7 +13,7 @@
     "patches": [
         "change-RTCP-ratio.patch",
         "rtp_ext_abs_send_time.patch",
-        "libopusenc-enable-FEC.patch",
+        "libopusenc-reload-packet-loss-at-encode.patch",
         "libopusdec-enable-FEC.patch"
     ],
     "win_patches": [
diff --git a/GreenScreen/ffmpeg/rules.mak b/GreenScreen/ffmpeg/rules.mak
index ee69f58..33bdb42 100644
--- a/GreenScreen/ffmpeg/rules.mak
+++ b/GreenScreen/ffmpeg/rules.mak
@@ -1,4 +1,4 @@
-FFMPEG_HASH := n4.4
+FFMPEG_HASH := n4.4.2
 FFMPEG_URL := https://git.ffmpeg.org/gitweb/ffmpeg.git/snapshot/$(FFMPEG_HASH).tar.gz
 
 PKGS+=ffmpeg
@@ -339,7 +339,9 @@
 	$(APPLY) $(SRC)/ffmpeg/change-RTCP-ratio.patch
 	$(APPLY) $(SRC)/ffmpeg/rtp_ext_abs_send_time.patch
 	$(APPLY) $(SRC)/ffmpeg/libopusdec-enable-FEC.patch
-	$(APPLY) $(SRC)/ffmpeg/libopusenc-enable-FEC.patch
+	$(APPLY) $(SRC)/ffmpeg/libopusenc-reload-packet-loss-at-encode.patch
+	$(APPLY) $(SRC)/ffmpeg/ios-disable-b-frames.patch
+	$(APPLY) $(SRC)/ffmpeg/screen-sharing-x11-fix.patch
 	$(UPDATE_AUTOCONFIG)
 	$(MOVE)
 
diff --git a/GreenScreen/pluginProcessor.cpp b/GreenScreen/pluginProcessor.cpp
index 1337f6f..5a10145 100644
--- a/GreenScreen/pluginProcessor.cpp
+++ b/GreenScreen/pluginProcessor.cpp
@@ -27,9 +27,28 @@
 }
 #include <frameUtils.h>
 #include <pluglog.h>
+
 #ifdef WIN32
-#include <string_utils.h>
+#include <WTypes.h>
+
+namespace string_utils {
+std::wstring
+to_wstring(const std::string& str) {
+    int codePage = CP_UTF8;
+    int srcLength = (int) str.length();
+    int requiredSize = MultiByteToWideChar(codePage, 0, str.c_str(), srcLength, nullptr, 0);
+    if (!requiredSize) {
+        throw std::runtime_error("Can't convert string to wstring");
+    }
+    std::wstring result((size_t) requiredSize, 0);
+    if (!MultiByteToWideChar(codePage, 0, str.c_str(), srcLength, &(*result.begin()), requiredSize)) {
+        throw std::runtime_error("Can't convert string to wstring");
+    }
+    return result;
+}
+} // namespace string_utils
 #endif
+
 const char sep = separator();
 
 const std::string TAG = "FORESEG";
@@ -77,7 +96,7 @@
 
         sessOpt_.SetGraphOptimizationLevel(GraphOptimizationLevel::ORT_ENABLE_ALL);
 #ifdef WIN32
-        session_ = new Ort::Session(env_, to_wstring(modelPath).c_str(), sessOpt_);
+        session_ = new Ort::Session(env_, string_utils::to_wstring(modelPath).c_str(), sessOpt_);
 #else
         session_ = new Ort::Session(env_, modelPath.c_str(), sessOpt_);
 #endif
