diff -Nur rygel-0.32.1.orig/src/librygel-server/filelist.am rygel-0.32.1.mine/src/librygel-server/filelist.am
--- rygel-0.32.1.orig/src/librygel-server/filelist.am	2016-06-26 17:10:17.000000000 +0200
+++ rygel-0.32.1.mine/src/librygel-server/filelist.am	2017-01-22 10:56:03.590051674 +0100
@@ -80,6 +80,7 @@
 	rygel-thumbnailer.vala \
 	rygel-wmp-hacks.vala \
 	rygel-xbmc-hacks.vala \
+	rygel-xbmc4xbox-hacks.vala \
 	rygel-xbox-hacks.vala \
 	rygel-phillips-hacks.vala \
 	rygel-data-sink.vala \
diff -Nur rygel-0.32.1.orig/src/librygel-server/rygel-client-hacks.vala rygel-0.32.1.mine/src/librygel-server/rygel-client-hacks.vala
--- rygel-0.32.1.orig/src/librygel-server/rygel-client-hacks.vala	2016-06-26 17:10:17.000000000 +0200
+++ rygel-0.32.1.mine/src/librygel-server/rygel-client-hacks.vala	2017-01-22 10:55:06.490051057 +0100
@@ -64,6 +64,10 @@
         } catch (Error error) { }
 
         try {
+            return new XBMC4XBoxHacks (message);
+        } catch (Error error) { }
+
+        try {
             return new XBoxHacks (message);
         } catch (Error error) { }
 
diff -Nur rygel-0.32.1.orig/src/librygel-server/rygel-xbmc4xbox-hacks.vala rygel-0.32.1.mine/src/librygel-server/rygel-xbmc4xbox-hacks.vala
--- rygel-0.32.1.orig/src/librygel-server/rygel-xbmc4xbox-hacks.vala	1970-01-01 01:00:00.000000000 +0100
+++ rygel-0.32.1.mine/src/librygel-server/rygel-xbmc4xbox-hacks.vala	2017-01-24 18:34:12.539993415 +0100
@@ -0,0 +1,38 @@
+using Soup;
+using GUPnP;
+
+
+internal class Rygel.XBMC4XBoxHacks : ClientHacks {
+
+	private const string AGENT = "(.*XBMC.*Xbox.*)|(Platinum/0.5.3.0)";
+
+	public XBMC4XBoxHacks (Message? message = null) throws ClientHacksError {
+		base (AGENT, message);
+	}
+
+	public override void apply (MediaObject object) {
+		Gee.List<MediaResource> resources = object.get_resource_list();
+		MediaResource primary = resources.first();
+		if(primary != null){
+			debug("%s primary resource is %dx%d, %s. DNLA profile is %s",
+			              object.title,
+				      primary.width,
+				      primary.height,
+				      primary.extension,
+				      primary.dlna_profile);
+			if(primary.width > 720 || primary.height > 480 ){
+				MediaResource right_one = null;
+				foreach (var resource in resources) {
+					if(resource.dlna_profile == "MPEG_TS_SD_EU_ISO"){
+						right_one = resource;
+						break;
+					}
+				}
+				if(right_one != null){
+					//Makes the right_one the first_one, that will be picked up by XBMC4XBOX
+					resources.set(0,right_one);
+				}
+			}
+		}
+	}
+}
