diff --git a/src/Umbraco.Core/Media/IEmbedSettingProvider.cs b/src/Umbraco.Core/Media/IEmbedSettingProvider.cs
deleted file mode 100644
index b9ba611100..0000000000
--- a/src/Umbraco.Core/Media/IEmbedSettingProvider.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using System.Xml;
-
-namespace Umbraco.Core.Media
-{
- public interface IEmbedSettingProvider
- {
- object GetSetting(XmlNode settingNode);
- }
-}
diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj
index f44db01738..2edb39fc86 100755
--- a/src/Umbraco.Core/Umbraco.Core.csproj
+++ b/src/Umbraco.Core/Umbraco.Core.csproj
@@ -647,7 +647,6 @@
-
diff --git a/src/Umbraco.Web.UI/config/EmbeddedMedia.config b/src/Umbraco.Web.UI/config/EmbeddedMedia.config
index 262dc2993f..0e2c5aa988 100644
--- a/src/Umbraco.Web.UI/config/EmbeddedMedia.config
+++ b/src/Umbraco.Web.UI/config/EmbeddedMedia.config
@@ -12,20 +12,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -35,20 +21,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Umbraco.Web/Media/EmbedProviders/SoundCloud.cs b/src/Umbraco.Web/Media/EmbedProviders/SoundCloud.cs
new file mode 100644
index 0000000000..080437a246
--- /dev/null
+++ b/src/Umbraco.Web/Media/EmbedProviders/SoundCloud.cs
@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+
+namespace Umbraco.Web.Media.EmbedProviders
+{
+ public class Soundcloud : EmbedProviderBase
+ {
+ public override string ApiEndpoint => "https://soundcloud.com/oembed";
+
+ public override string[] UrlSchemeRegex => new string[]
+ {
+ @"soundcloud.com\/*"
+ };
+
+ public override Dictionary RequestParams => new Dictionary();
+
+ public override string GetMarkup(string url, int maxWidth = 0, int maxHeight = 0)
+ {
+ var requestUrl = base.GetEmbedProviderUrl(url, maxWidth, maxHeight);
+ var xmlDocument = base.GetXmlResponse(requestUrl);
+
+ return GetXmlProperty(xmlDocument, "/oembed/html");
+ }
+ }
+}
diff --git a/src/Umbraco.Web/Media/EmbedProviders/Ted.cs b/src/Umbraco.Web/Media/EmbedProviders/Ted.cs
new file mode 100644
index 0000000000..aa14423349
--- /dev/null
+++ b/src/Umbraco.Web/Media/EmbedProviders/Ted.cs
@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+
+namespace Umbraco.Web.Media.EmbedProviders
+{
+ public class Ted : EmbedProviderBase
+ {
+ public override string ApiEndpoint => "http://www.ted.com/talks/oembed.xml";
+
+ public override string[] UrlSchemeRegex => new string[]
+ {
+ @"ted.com\/talks\/*"
+ };
+
+ public override Dictionary RequestParams => new Dictionary();
+
+ public override string GetMarkup(string url, int maxWidth = 0, int maxHeight = 0)
+ {
+ var requestUrl = base.GetEmbedProviderUrl(url, maxWidth, maxHeight);
+ var xmlDocument = base.GetXmlResponse(requestUrl);
+
+ return GetXmlProperty(xmlDocument, "/oembed/html");
+ }
+ }
+}
diff --git a/src/Umbraco.Web/Media/EmbedProviders/Vimeo.cs b/src/Umbraco.Web/Media/EmbedProviders/Vimeo.cs
new file mode 100644
index 0000000000..806f40a10c
--- /dev/null
+++ b/src/Umbraco.Web/Media/EmbedProviders/Vimeo.cs
@@ -0,0 +1,24 @@
+using System.Collections.Generic;
+
+namespace Umbraco.Web.Media.EmbedProviders
+{
+ public class Vimeo : EmbedProviderBase
+ {
+ public override string ApiEndpoint => "https://vimeo.com/api/oembed.xml";
+
+ public override string[] UrlSchemeRegex => new string[]
+ {
+ @"vimeo\.com/"
+ };
+
+ public override Dictionary RequestParams => new Dictionary();
+
+ public override string GetMarkup(string url, int maxWidth = 0, int maxHeight = 0)
+ {
+ var requestUrl = base.GetEmbedProviderUrl(url, maxWidth, maxHeight);
+ var xmlDocument = base.GetXmlResponse(requestUrl);
+
+ return GetXmlProperty(xmlDocument, "/oembed/html");
+ }
+ }
+}
diff --git a/src/Umbraco.Web/Runtime/WebRuntimeComposer.cs b/src/Umbraco.Web/Runtime/WebRuntimeComposer.cs
index 444a4e6098..5696589647 100644
--- a/src/Umbraco.Web/Runtime/WebRuntimeComposer.cs
+++ b/src/Umbraco.Web/Runtime/WebRuntimeComposer.cs
@@ -222,7 +222,11 @@ namespace Umbraco.Web.Runtime
.Append()
.Append()
.Append()
- .Append();
+ .Append()
+ .Append()
+ .Append()
+ .Append();
}
}
}
+
diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj
index 4f20e30b68..3e767f97a8 100755
--- a/src/Umbraco.Web/Umbraco.Web.csproj
+++ b/src/Umbraco.Web/Umbraco.Web.csproj
@@ -148,6 +148,9 @@
+
+
+