diff --git a/.gitignore b/.gitignore
index c505fa036287939ae2c27e433c0c82108b57a574..4b390e5f50fb374aaaf4bc10f049d462a6ac0d14 100644
--- a/.gitignore
+++ b/.gitignore
@@ -107,3 +107,9 @@ bin/ringcli
 doltcompile
 doltlibtool
 __pycache__
+
+#contribs
+contrib/*
+!contrib/bootstrap
+!contrib/src
+!contrib/tarballs
\ No newline at end of file
diff --git a/MSVC/ring-daemon.sln b/MSVC/ring-daemon.sln
index 7c80cff38d432d2ed8e5b968d4bc0ef0ef7120e4..9599faa5f2eb80973cddd96bdc885c0d21ad33e5 100644
--- a/MSVC/ring-daemon.sln
+++ b/MSVC/ring-daemon.sln
@@ -1,39 +1,39 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25123.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ring-daemon", "ring-daemon.vcxproj", "{79F8DE42-595D-49D9-A66F-55244FD9DCC3}"
-EndProject
-Global
-    GlobalSection(SolutionConfigurationPlatforms) = preSolution
-        Debug|x64 = Debug|x64
-        Debug|x86 = Debug|x86
-        DebugLib|x64 = DebugLib|x64
-        DebugLib|x86 = DebugLib|x86
-        Release|x64 = Release|x64
-        Release|x86 = Release|x86
-        ReleaseLib|x64 = ReleaseLib|x64
-        ReleaseLib|x86 = ReleaseLib|x86
-    EndGlobalSection
-    GlobalSection(ProjectConfigurationPlatforms) = postSolution
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Debug|x64.ActiveCfg = Debug|x64
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Debug|x64.Build.0 = Debug|x64
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Debug|x86.ActiveCfg = Debug|Win32
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Debug|x86.Build.0 = Debug|Win32
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.DebugLib|x64.ActiveCfg = DebugLib|x64
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.DebugLib|x64.Build.0 = DebugLib|x64
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.DebugLib|x86.ActiveCfg = DebugLib|Win32
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.DebugLib|x86.Build.0 = DebugLib|Win32
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release|x64.ActiveCfg = Release|x64
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release|x64.Build.0 = Release|x64
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release|x86.ActiveCfg = Release|Win32
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release|x86.Build.0 = Release|Win32
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLib|x64.ActiveCfg = ReleaseLib|x64
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLib|x64.Build.0 = ReleaseLib|x64
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLib|x86.ActiveCfg = ReleaseLib|Win32
-        {79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLib|x86.Build.0 = ReleaseLib|Win32
-    EndGlobalSection
-    GlobalSection(SolutionProperties) = preSolution
-        HideSolutionNode = FALSE
-    EndGlobalSection
-EndGlobal
\ No newline at end of file
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ring-daemon", "ring-daemon.vcxproj", "{79F8DE42-595D-49D9-A66F-55244FD9DCC3}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		DebugLib|x64 = DebugLib|x64
+		DebugLib|x86 = DebugLib|x86
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+		ReleaseLib|x64 = ReleaseLib|x64
+		ReleaseLib|x86 = ReleaseLib|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Debug|x64.ActiveCfg = Debug|x64
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Debug|x64.Build.0 = Debug|x64
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Debug|x86.ActiveCfg = Debug|Win32
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Debug|x86.Build.0 = Debug|Win32
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.DebugLib|x64.ActiveCfg = DebugLib|x64
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.DebugLib|x64.Build.0 = DebugLib|x64
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.DebugLib|x86.ActiveCfg = DebugLib|Win32
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.DebugLib|x86.Build.0 = DebugLib|Win32
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release|x64.ActiveCfg = Release|x64
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release|x64.Build.0 = Release|x64
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release|x86.ActiveCfg = Release|Win32
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.Release|x86.Build.0 = Release|Win32
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLib|x64.ActiveCfg = ReleaseLib|x64
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLib|x64.Build.0 = ReleaseLib|x64
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLib|x86.ActiveCfg = ReleaseLib|Win32
+		{79F8DE42-595D-49D9-A66F-55244FD9DCC3}.ReleaseLib|x86.Build.0 = ReleaseLib|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/MSVC/ring-daemon.vcxproj b/MSVC/ring-daemon.vcxproj
index d7784ab0b29157c56252d23cb438d9a91492b30c..709248eae1547e3b4dbb246a2d7d2d4f58e28992 100644
--- a/MSVC/ring-daemon.vcxproj
+++ b/MSVC/ring-daemon.vcxproj
@@ -192,8 +192,8 @@
       <LinkLibraryDependencies>false</LinkLibraryDependencies>
     </ProjectReference>
     <PreBuildEvent>
-      <Command>cd ../src
-del intrin.h</Command>
+      <Command>
+      </Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugLib|Win32'">
@@ -227,8 +227,8 @@ del intrin.h</Command>
       <LinkLibraryDependencies>true</LinkLibraryDependencies>
     </ProjectReference>
     <PreBuildEvent>
-      <Command>cd ../src
-del intrin.h</Command>
+      <Command>
+      </Command>
     </PreBuildEvent>
     <Lib>
       <AdditionalDependencies>ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;avcodecd.lib;avdeviced.lib;avfilterd.lib;avformatd.lib;avutild.lib;ixml.lib;libaacs.lib;libavutil.lib;libbaseclasses.lib;libgcrypt.lib;libgmp.lib;libgpg-error.lib;libgsmcodec.lib;libgtest.lib;libhogweed.lib;libiconv.lib;libilbccodec.lib;libmilenage.lib;libnettle.lib;libogg.lib;liboggd.lib;libpjproject.lib;libresample.lib;libsamplerate.lib;libsndfile.lib;libspeex.lib;libspeexdsp.lib;libsrtp.lib;libupnp.lib;libuuid.lib;libvorbis.lib;libvpx.lib;libx264.lib;libx265.lib;libx265_10b.lib;libx265_12b.lib;libyaml-cpp.lib;libzlib.lib;msgpack.lib;opendht.lib;opus.lib;pcred.lib;portaudio.lib;pjlib.lib;pjlib_util.lib;pjnath.lib;pjsip_core.lib;pjsip_simple.lib;pjmedia.lib;pjmedia_codec.lib;pjsip_ua.lib;pjsua2_lib.lib;pjsua_lib.lib;swresampled.lib;swscaled.lib;lib_json.lib;Strmiids.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -262,8 +262,8 @@ del intrin.h</Command>
       <LinkLibraryDependencies>false</LinkLibraryDependencies>
     </ProjectReference>
     <PreBuildEvent>
-      <Command>cd ../src
-del intrin.h</Command>
+      <Command>
+      </Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugLib|x64'">
@@ -293,8 +293,8 @@ del intrin.h</Command>
       <AdditionalLibraryDirectories>..\contrib\lib\x64;</AdditionalLibraryDirectories>
     </Lib>
     <PreBuildEvent>
-      <Command>cd ../src
-del intrin.h</Command>
+      <Command>
+      </Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -329,8 +329,8 @@ del intrin.h</Command>
       <LinkLibraryDependencies>false</LinkLibraryDependencies>
     </ProjectReference>
     <PreBuildEvent>
-      <Command>cd ../src
-del intrin.h</Command>
+      <Command>
+      </Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLib|Win32'">
@@ -366,8 +366,8 @@ del intrin.h</Command>
       <LinkLibraryDependencies>true</LinkLibraryDependencies>
     </ProjectReference>
     <PreBuildEvent>
-      <Command>cd ../src
-del intrin.h</Command>
+      <Command>
+      </Command>
     </PreBuildEvent>
     <Lib>
       <AdditionalDependencies>ws2_32.lib;iphlpapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;Strmiids.lib;libavcodec.lib;libavdevice.lib;libavfilter.lib;libavformat.lib;libavutil.lib;libswresample.lib;libswscale.lib;libsamplerate.lib;libsndfile.lib;libgnutls.lib;lib_json.lib;opendht.lib;argon.lib;blake.lib;pcre.lib;pjlib.lib;pjlib_util.lib;pjmedia.lib;pjmedia_codec.lib;pjnath.lib;pjsip_core.lib;pjsip_simple.lib;pjsip_ua.lib;pjsua2_lib.lib;pjsua_lib.lib;yaml-cpp.lib;libupnp.lib;pthreadVC2.lib;portaudio.lib;libspeex-pj.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -405,8 +405,8 @@ del intrin.h</Command>
       <LinkLibraryDependencies>false</LinkLibraryDependencies>
     </ProjectReference>
     <PreBuildEvent>
-      <Command>cd ../src
-del intrin.h</Command>
+      <Command>
+      </Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLib|x64'">
@@ -436,8 +436,8 @@ del intrin.h</Command>
       <LinkLibraryDependencies>false</LinkLibraryDependencies>
     </ProjectReference>
     <PreBuildEvent>
-      <Command>cd ../src
-del intrin.h</Command>
+      <Command>
+      </Command>
     </PreBuildEvent>
     <Lib>
       <AdditionalDependencies>ws2_32.lib;iphlpapi.lib;kernel32.lib;advapi32.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;libsamplerate.lib;libsndfile.lib;libgnutls.lib;lib_json.lib;opendht.lib;argon.lib;blake.lib;pcre.lib;pjlib.lib;pjlib_util.lib;pjmedia.lib;pjmedia_codec.lib;pjnath.lib;pjsip_core.lib;pjsip_simple.lib;pjsip_ua.lib;pjsua2_lib.lib;pjsua_lib.lib;yaml-cpp.lib;libupnp.lib;pthreadVC2.lib;portaudio.lib;libspeex-pj.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -514,7 +514,6 @@ del intrin.h</Command>
     <ClInclude Include="..\src\media\system_codec_container.h" />
     <ClInclude Include="..\src\media\video\shm_header.h" />
     <ClInclude Include="..\src\media\video\sinkclient.h" />
-    <ClInclude Include="..\src\media\video\uwpvideo\capture_graph_interfaces.h" />
     <ClInclude Include="..\src\media\video\video_base.h" />
     <ClInclude Include="..\src\media\video\video_device.h" />
     <ClInclude Include="..\src\media\video\video_device_monitor.h" />
@@ -524,9 +523,6 @@ del intrin.h</Command>
     <ClInclude Include="..\src\media\video\video_rtp_session.h" />
     <ClInclude Include="..\src\media\video\video_scaler.h" />
     <ClInclude Include="..\src\media\video\video_sender.h" />
-    <ClInclude Include="..\src\media\video\winvideo\capture_graph_interfaces.h">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseLib|x64'">true</ExcludedFromBuild>
-    </ClInclude>
     <ClInclude Include="..\src\noncopyable.h" />
     <ClInclude Include="..\src\plugin_loader.h" />
     <ClInclude Include="..\src\plugin_manager.h" />
@@ -562,7 +558,6 @@ del intrin.h</Command>
     <ClInclude Include="..\src\upnp\upnp_control.h" />
     <ClInclude Include="..\src\upnp\upnp_igd.h" />
     <ClInclude Include="..\src\utf8_utils.h" />
-    <ClInclude Include="..\src\wingetopt\wingetopt.h" />
     <ClInclude Include="..\src\winsyslog.h" />
     <ClInclude Include="config.h" />
     <ClInclude Include="unistd.h" />
@@ -629,12 +624,6 @@ del intrin.h</Command>
     <ClCompile Include="..\src\media\video\video_rtp_session.cpp" />
     <ClCompile Include="..\src\media\video\video_scaler.cpp" />
     <ClCompile Include="..\src\media\video\video_sender.cpp" />
-    <ClCompile Include="..\src\media\video\winvideo\video_device_impl.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseLib|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="..\src\media\video\winvideo\video_device_monitor_impl.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseLib|x64'">true</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="..\src\plugin_loader_dl.cpp" />
     <ClCompile Include="..\src\plugin_manager.cpp" />
     <ClCompile Include="..\src\preferences.cpp" />
@@ -664,13 +653,6 @@ del intrin.h</Command>
     <ClCompile Include="..\src\upnp\upnp_control.cpp" />
     <ClCompile Include="..\src\upnp\upnp_igd.cpp" />
     <ClCompile Include="..\src\utf8_utils.cpp" />
-    <ClCompile Include="..\src\main.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugLib|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseLib|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugLib|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="..\src\wingetopt\wingetopt.c" />
     <ClCompile Include="..\src\winsyslog.c" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/MSVC/ring-daemon.vcxproj.filters b/MSVC/ring-daemon.vcxproj.filters
index 429326befe4d385f9eb9a49144b3ae5684ee783f..69efb20bb9bc2ad2d8dbf5381aead4d6c9442bb0 100644
--- a/MSVC/ring-daemon.vcxproj.filters
+++ b/MSVC/ring-daemon.vcxproj.filters
@@ -34,9 +34,6 @@
     <Filter Include="Header Files\media\video">
       <UniqueIdentifier>{250d421b-dc17-448b-a691-41b1c17e0b43}</UniqueIdentifier>
     </Filter>
-    <Filter Include="Header Files\media\video\winvideo">
-      <UniqueIdentifier>{ae8de5f8-719d-4fc3-be99-71e5fbfe046f}</UniqueIdentifier>
-    </Filter>
     <Filter Include="Header Files\ringdht">
       <UniqueIdentifier>{6661a3cb-975d-4b0f-b4ea-2e987f122fdb}</UniqueIdentifier>
     </Filter>
@@ -80,9 +77,6 @@
     <Filter Include="Source Files\media\video">
       <UniqueIdentifier>{79038082-1478-4202-923a-0af34dc8d704}</UniqueIdentifier>
     </Filter>
-    <Filter Include="Source Files\media\video\winvideo">
-      <UniqueIdentifier>{dd032b50-fe88-459c-8d19-2bb1a892e124}</UniqueIdentifier>
-    </Filter>
     <Filter Include="Source Files\ringdht">
       <UniqueIdentifier>{44a8a1a1-b597-480e-92d9-77c76445a0bd}</UniqueIdentifier>
     </Filter>
@@ -95,12 +89,6 @@
     <Filter Include="Source Files\upnp">
       <UniqueIdentifier>{4dc7f6c7-24a7-4741-a626-0fa5dbaa4461}</UniqueIdentifier>
     </Filter>
-    <Filter Include="Source Files\wingetopt">
-      <UniqueIdentifier>{fcd61206-2c0a-4479-ab82-a7aa9247416a}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Header Files\wingetopt">
-      <UniqueIdentifier>{8d887069-2909-462e-85f6-ba95a2c1a7db}</UniqueIdentifier>
-    </Filter>
     <Filter Include="Header Files\media\video\uwpvideo">
       <UniqueIdentifier>{52e3514f-c7d8-45d9-a75f-a82e34ec8590}</UniqueIdentifier>
     </Filter>
@@ -235,9 +223,6 @@
     <ClInclude Include="..\src\media\video\video_sender.h">
       <Filter>Header Files\media\video</Filter>
     </ClInclude>
-    <ClInclude Include="..\src\media\video\winvideo\capture_graph_interfaces.h">
-      <Filter>Header Files\media\video\winvideo</Filter>
-    </ClInclude>
     <ClInclude Include="..\src\media\libav_deps.h">
       <Filter>Header Files\media</Filter>
     </ClInclude>
@@ -451,12 +436,6 @@
     <ClInclude Include="..\src\media\audio\portaudio\portaudiolayer.h">
       <Filter>Header Files\media\audio\portaudio</Filter>
     </ClInclude>
-    <ClInclude Include="..\src\wingetopt\wingetopt.h">
-      <Filter>Header Files\wingetopt</Filter>
-    </ClInclude>
-    <ClInclude Include="..\src\media\video\uwpvideo\capture_graph_interfaces.h">
-      <Filter>Header Files\media\video\uwpvideo</Filter>
-    </ClInclude>
     <ClInclude Include="unistd.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -522,9 +501,6 @@
     <ClCompile Include="..\src\plugin_manager.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\src\main.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\src\client\configurationmanager.cpp">
       <Filter>Source Files\client</Filter>
     </ClCompile>
@@ -654,12 +630,6 @@
     <ClCompile Include="..\src\media\video\video_sender.cpp">
       <Filter>Source Files\media\video</Filter>
     </ClCompile>
-    <ClCompile Include="..\src\media\video\winvideo\video_device_impl.cpp">
-      <Filter>Source Files\media\video\winvideo</Filter>
-    </ClCompile>
-    <ClCompile Include="..\src\media\video\winvideo\video_device_monitor_impl.cpp">
-      <Filter>Source Files\media\video\winvideo</Filter>
-    </ClCompile>
     <ClCompile Include="..\src\ringdht\ringaccount.cpp">
       <Filter>Source Files\ringdht</Filter>
     </ClCompile>
@@ -738,9 +708,6 @@
     <ClCompile Include="..\src\media\audio\portaudio\portaudiolayer.cpp">
       <Filter>Source Files\media\audio\portaudio</Filter>
     </ClCompile>
-    <ClCompile Include="..\src\wingetopt\wingetopt.c">
-      <Filter>Source Files\wingetopt</Filter>
-    </ClCompile>
     <ClCompile Include="..\src\media\video\uwpvideo\video_device_impl.cpp">
       <Filter>Source Files\media\video\uwpvideo</Filter>
     </ClCompile>
diff --git a/src/media/audio/audiolayer.h b/src/media/audio/audiolayer.h
index 7218ee2742bb6e9b08c1facdcd7378fc87f0b937..fa6a62e98676c816112a29d2864e7275c5f9465f 100644
--- a/src/media/audio/audiolayer.h
+++ b/src/media/audio/audiolayer.h
@@ -29,13 +29,12 @@
 #include "dcblocker.h"
 #include "noncopyable.h"
 
-#ifdef WIN32_NATIVE
-#include <time.h>
-#else
-#include <sys/time.h>
+#ifdef WIN32_NATIVE
+#include <time.h>
+#else
+#include <sys/time.h>
 #endif
 
-#include <sys/time.h>
 #include <mutex>
 #include <vector>
 #include <atomic>
diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp
index ce0db3d931bb87f3b617e1e373e85283519f5aa0..bd28ef136fc85517c813d7c396483d8417fa653d 100644
--- a/src/media/media_encoder.cpp
+++ b/src/media/media_encoder.cpp
@@ -525,7 +525,7 @@ std::string
 MediaEncoder::print_sdp()
 {
     /* theora sdp can be huge */
-    const auto sdp_size = outputCtx_->streams[0]->codecpar->extradata_size + 2048;
+    const auto sdp_size = outputCtx_->streams[0]->codec->extradata_size + 2048;
     std::string result;
     std::string sdp(sdp_size, '\0');
     av_sdp_create(&outputCtx_, 1, &(*sdp.begin()), sdp_size);
diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp
index d035583a2418dc25f5099d432a27c1b924e89675..82acf89a34b92615d4f86d215447a68b807192b8 100644
--- a/src/ringdht/ringaccount.cpp
+++ b/src/ringdht/ringaccount.cpp
@@ -178,7 +178,6 @@ RingAccount::newIncomingCall(const std::string& from)
     return nullptr;
 }
 
-template <>
 std::shared_ptr<SIPCall>
 RingAccount::newOutgoingSIPCall(const std::string& toUrl)
 {