rpms/xbmc/devel xbmc-11.0-dteirney-myth-0.25.patch, NONE, 1.1 xbmc-11.0-tsp-Eden-pvr.patch, NONE, 1.1 xbmc-10.1-libpng-1.5.patch, 1.2, NONE xbmc-11.0-libpng-1.5-fix-plt-trn-get.patch, 1.1, NONE

Alex Lancaster alexlan at rpmfusion.org
Thu May 17 20:51:52 CEST 2012


Author: alexlan

Update of /cvs/free/rpms/xbmc/devel
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv16836

Added Files:
	xbmc-11.0-dteirney-myth-0.25.patch 
	xbmc-11.0-tsp-Eden-pvr.patch 
Removed Files:
	xbmc-10.1-libpng-1.5.patch 
	xbmc-11.0-libpng-1.5-fix-plt-trn-get.patch 
Log Message:
Sync with git.


xbmc-11.0-dteirney-myth-0.25.patch:
 include/cmyth/cmyth.h  |   21 +++++++
 libcmyth/bookmark.c    |   19 +++++-
 libcmyth/cmyth_local.h |    3 +
 libcmyth/connection.c  |   30 ++++++++--
 libcmyth/file.c        |   31 +++++++---
 libcmyth/proginfo.c    |   63 ++++++++++++++++++++-
 libcmyth/proglist.c    |    9 ++-
 libcmyth/socket.c      |  143 ++++++++++++++++++++++++++++++++++++++-----------
 8 files changed, 267 insertions(+), 52 deletions(-)

--- NEW FILE xbmc-11.0-dteirney-myth-0.25.patch ---
diff --git a/lib/cmyth/include/cmyth/cmyth.h b/lib/cmyth/include/cmyth/cmyth.h
index 52f2f68..d8cb364 100644
--- a/lib/cmyth/include/cmyth/cmyth.h
+++ b/lib/cmyth/include/cmyth/cmyth.h
@@ -749,6 +749,20 @@ extern char *cmyth_proginfo_subtitle(cmyth_proginfo_t prog);
 extern char *cmyth_proginfo_description(cmyth_proginfo_t prog);
 
 /**
+ * Retrieve the season of a program.
+ * \param prog proginfo handle
+ * \return season
+ */
+extern unsigned short cmyth_proginfo_season(cmyth_proginfo_t prog);
+
+/**
+ * Retrieve the episode of a program.
+ * \param prog proginfo handle
+ * \return episode
+ */
+extern unsigned short cmyth_proginfo_episode(cmyth_proginfo_t prog);
+
+/**
  * Retrieve the category of a program.
  * \param prog proginfo handle
  * \return null-terminated string
@@ -805,6 +819,13 @@ extern char *cmyth_proginfo_seriesid(cmyth_proginfo_t prog);
 extern long cmyth_proginfo_priority(cmyth_proginfo_t prog);
 
 /**
+ * Retrieve the inetref of a program.
+ * \param prog proginfo handle
+ * \return null-terminated string
+ */
+extern char *cmyth_proginfo_inetref(cmyth_proginfo_t prog);
+
+/**
  * Retrieve the critics rating (number of stars) of a program.
  * \param prog proginfo handle
  * \return null-terminated string
diff --git a/lib/cmyth/libcmyth/bookmark.c b/lib/cmyth/libcmyth/bookmark.c
index af7580f..4681c21 100644
--- a/lib/cmyth/libcmyth/bookmark.c
+++ b/lib/cmyth/libcmyth/bookmark.c
@@ -20,6 +20,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <inttypes.h>
 #include <errno.h>
 #include <cmyth_local.h>
 
@@ -59,7 +60,7 @@ long long cmyth_get_bookmark(cmyth_conn_t conn, cmyth_proginfo_t prog)
 	}
 	if ((r=cmyth_rcv_long_long(conn, &err, &ll, count)) < 0) {
 		cmyth_dbg(CMYTH_DBG_ERROR,
-			"%s: cmyth_rcv_longlong() failed (%d)\n",
+			"%s: cmyth_rcv_long_long() failed (%d)\n",
 			__FUNCTION__, r);
 		ret = err;
 		goto out;
@@ -74,7 +75,7 @@ long long cmyth_get_bookmark(cmyth_conn_t conn, cmyth_proginfo_t prog)
 int cmyth_set_bookmark(cmyth_conn_t conn, cmyth_proginfo_t prog, long long bookmark)
 {
 	char *buf;
-	unsigned int len = CMYTH_TIMESTAMP_LEN + CMYTH_LONGLONG_LEN + 18;
+	unsigned int len = CMYTH_TIMESTAMP_LEN + CMYTH_LONGLONG_LEN * 2 + 18;
 	char resultstr[3];
 	int r,err;
 	int ret;
@@ -85,8 +86,18 @@ int cmyth_set_bookmark(cmyth_conn_t conn, cmyth_proginfo_t prog, long long bookm
 	if (!buf) {
 		return -ENOMEM;
 	}
-	sprintf(buf,"%s %ld %s %lld %lld","SET_BOOKMARK",prog->proginfo_chanId,
-		start_ts_dt, bookmark >> 32,(bookmark & 0xffffffff));
+	if (conn->conn_version >= 66) {
+		/*
+		 * Since protocol 66 mythbackend expects a single 64 bit integer rather than two 32 bit
+		 * hi and lo integers.
+		 */
+		sprintf(buf, "SET_BOOKMARK %ld %s %"PRIu64, prog->proginfo_chanId,
+				start_ts_dt, (int64_t)bookmark);
+	}
+	else {
+		sprintf(buf, "SET_BOOKMARK %ld %s %d %d", prog->proginfo_chanId,
+				start_ts_dt, (int32_t)(bookmark >> 32), (int32_t)(bookmark & 0xffffffff));
+	}
 	pthread_mutex_lock(&mutex);
 	if ((err = cmyth_send_message(conn,buf)) < 0) {
 		cmyth_dbg(CMYTH_DBG_ERROR,
diff --git a/lib/cmyth/libcmyth/cmyth_local.h b/lib/cmyth/libcmyth/cmyth_local.h
index 40bed11..f7b85fb 100644
--- a/lib/cmyth/libcmyth/cmyth_local.h
+++ b/lib/cmyth/libcmyth/cmyth_local.h
@@ -224,6 +224,8 @@ struct cmyth_proginfo {
 	char *proginfo_title;
 	char *proginfo_subtitle;
 	char *proginfo_description;
+	unsigned short proginfo_season;    /* new in V67 */
+	unsigned short proginfo_episode;    /* new in V67 */
 	char *proginfo_category;
 	long proginfo_chanId;
 	char *proginfo_chanstr;
@@ -258,6 +260,7 @@ struct cmyth_proginfo {
 	char *proginfo_chan_output_filters;    /* new in V8 */
 	char *proginfo_seriesid;    /* new in V8 */
 	char *proginfo_programid;    /* new in V12 */
+	char *proginfo_inetref;    /* new in V67 */
 	cmyth_timestamp_t proginfo_lastmodified;    /* new in V12 */
 	char *proginfo_stars;    /* new in V12 */
 	cmyth_timestamp_t proginfo_originalairdate;	/* new in V12 */
diff --git a/lib/cmyth/libcmyth/connection.c b/lib/cmyth/libcmyth/connection.c
index 9d5fb0d..9d13721 100644
--- a/lib/cmyth/libcmyth/connection.c
+++ b/lib/cmyth/libcmyth/connection.c
@@ -56,6 +56,15 @@ static myth_protomap_t protomap[] = {
 	{62, "78B5631E"},
 	{63, "3875641D"},
 	{64, "8675309J"},
+	{65, "D2BB94C2"},
+	{66, "0C0FFEE0"},
+	{67, "0G0G0G0"},
+	{68, "90094EAD"},
+	{69, "63835135"},
+	{70, "53153836"},
+	{71, "05e82186"},
+	{72, "D78EFD6F"},
+	{73, "D7FE8D6F"},
 	{0, 0}
 };
 
@@ -527,7 +536,7 @@ cmyth_conn_connect_file(cmyth_proginfo_t prog,  cmyth_conn_t control,
 	int err = 0;
 	int count = 0;
 	int r;
-	int ann_size = sizeof("ANN FileTransfer []:[][]:[]");
+	int ann_size = sizeof("ANN FileTransfer 0[]:[][]:[]");
 	cmyth_file_t ret = NULL;
 
 	if (!prog) {
@@ -575,6 +584,12 @@ cmyth_conn_connect_file(cmyth_proginfo_t prog,  cmyth_conn_t control,
 			  myth_host, prog->proginfo_port, buflen);
 		goto shut;
 	}
+	/*
+	 * Explicitly set the conn version to the control version as cmyth_connect() doesn't and some of
+	 * the cmyth_rcv_* functions expect it to be the same as the protocol version used by mythbackend.
+	 */
+	conn->conn_version = control->conn_version;
+
 	ann_size += strlen(prog->proginfo_pathname) + strlen(my_hostname);
 	announcement = malloc(ann_size);
 	if (!announcement) {
@@ -584,7 +599,7 @@ cmyth_conn_connect_file(cmyth_proginfo_t prog,  cmyth_conn_t control,
 		goto shut;
 	}
 	if (control->conn_version >= 44) {
-		sprintf(announcement, "ANN FileTransfer %s[]:[]%s[]:[]",
+		sprintf(announcement, "ANN FileTransfer %s 0[]:[]%s[]:[]", // write = false
 			  my_hostname, prog->proginfo_pathname);
 	}
 	else {
@@ -631,7 +646,7 @@ cmyth_conn_connect_file(cmyth_proginfo_t prog,  cmyth_conn_t control,
 	r = cmyth_rcv_u_long_long(conn, &err, &ret->file_length, count);
 	if (err) {
 		cmyth_dbg(CMYTH_DBG_ERROR,
-			  "%s: (length) cmyth_rcv_longlong() failed (%d)\n",
+			  "%s: (length) cmyth_rcv_u_long_long() failed (%d)\n",
 			  __FUNCTION__, err);
 		goto shut;
 	}
@@ -683,7 +698,7 @@ cmyth_conn_connect_path(char* path, cmyth_conn_t control,
 	int err = 0;
 	int count = 0;
 	int r, port;
-	int ann_size = sizeof("ANN FileTransfer []:[][]:[]");
+	int ann_size = sizeof("ANN FileTransfer 0[]:[][]:[]");
 	struct sockaddr_in addr;
         socklen_t addr_size = sizeof(addr);
 	cmyth_file_t ret = NULL;
@@ -716,6 +731,11 @@ cmyth_conn_connect_path(char* path, cmyth_conn_t control,
 			  __FUNCTION__, host, port, buflen);
 		goto shut;
 	}
+	/*
+	 * Explicitly set the conn version to the control version as cmyth_connect() doesn't and some of
+	 * the cmyth_rcv_* functions expect it to be the same as the protocol version used by mythbackend.
+	 */
+	conn->conn_version = control->conn_version;
 	
 	ann_size += strlen(path) + strlen(my_hostname) + strlen(sgToGetFrom) + 6;
 	announcement = malloc(ann_size);
@@ -771,7 +792,7 @@ cmyth_conn_connect_path(char* path, cmyth_conn_t control,
 	r = cmyth_rcv_u_long_long(conn, &err, &ret->file_length, count);
 	if (err) {
 		cmyth_dbg(CMYTH_DBG_ERROR,
-			  "%s: (length) cmyth_rcv_longlong() failed (%d)\n",
+			  "%s: (length) cmyth_rcv_u_long_long() failed (%d)\n",
 			  __FUNCTION__, err);
 		goto shut;
 	}
diff --git a/lib/cmyth/libcmyth/file.c b/lib/cmyth/libcmyth/file.c
index 74408ed..640f299 100644
--- a/lib/cmyth/libcmyth/file.c
+++ b/lib/cmyth/libcmyth/file.c
@@ -20,6 +20,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <errno.h>
+#include <inttypes.h>
 #ifndef _MSC_VER
 #include <sys/socket.h>
 #endif
@@ -449,14 +450,28 @@ cmyth_file_seek(cmyth_file_t file, long long offset, int whence)
 
 	pthread_mutex_lock(&mutex);
 
-	snprintf(msg, sizeof(msg),
-		 "QUERY_FILETRANSFER %ld[]:[]SEEK[]:[]%d[]:[]%d[]:[]%d[]:[]%d[]:[]%d",
-		 file->file_id,
-		 (int32_t)(offset >> 32),
-		 (int32_t)(offset & 0xffffffff),
-		 whence,
-		 (int32_t)(file->file_pos >> 32),
-		 (int32_t)(file->file_pos & 0xffffffff));
+	if (file->file_control->conn_version >= 66) {
+		/*
+		 * Since protocol 66 mythbackend expects to receive a single 64 bit integer rather than
+		 * two 32 bit hi and lo integers.
+		 */
+		snprintf(msg, sizeof(msg),
+			 "QUERY_FILETRANSFER %ld[]:[]SEEK[]:[]%"PRIu64"[]:[]%d[]:[]%"PRIu64,
+			 file->file_id,
+			 (int64_t)offset,
+			 whence,
+			 (int64_t)file->file_pos);
+	}
+	else {
+		snprintf(msg, sizeof(msg),
+			 "QUERY_FILETRANSFER %ld[]:[]SEEK[]:[]%d[]:[]%d[]:[]%d[]:[]%d[]:[]%d",
+			 file->file_id,
+			 (int32_t)(offset >> 32),
+			 (int32_t)(offset & 0xffffffff),
+			 whence,
+			 (int32_t)(file->file_pos >> 32),
+			 (int32_t)(file->file_pos & 0xffffffff));
+	}
 
 	if ((err = cmyth_send_message(file->file_control, msg)) < 0) {
 		cmyth_dbg(CMYTH_DBG_ERROR,
diff --git a/lib/cmyth/libcmyth/proginfo.c b/lib/cmyth/libcmyth/proginfo.c
index b175637..f6f9347 100644
--- a/lib/cmyth/libcmyth/proginfo.c
+++ b/lib/cmyth/libcmyth/proginfo.c
@@ -116,6 +116,9 @@ cmyth_proginfo_destroy(cmyth_proginfo_t p)
 	if (p->proginfo_programid) {
 		ref_release(p->proginfo_programid);
 	}
+	if (p->proginfo_inetref) {
+		ref_release(p->proginfo_inetref);
+	}
 	if (p->proginfo_stars) {
 		ref_release(p->proginfo_stars);
 	}
@@ -217,6 +220,8 @@ cmyth_proginfo_create(void)
 	ret->proginfo_title = NULL;
 	ret->proginfo_subtitle = NULL;
 	ret->proginfo_description = NULL;
+	ret->proginfo_season = 0;
+	ret->proginfo_episode = 0;
 	ret->proginfo_category = NULL;
 	ret->proginfo_chanId = 0;
 	ret->proginfo_chanstr = NULL;
@@ -250,6 +255,7 @@ cmyth_proginfo_create(void)
 	ret->proginfo_chan_output_filters = NULL;
 	ret->proginfo_seriesid = NULL;
 	ret->proginfo_programid = NULL;
+	ret->proginfo_inetref = NULL;
 	ret->proginfo_stars = NULL;
 	ret->proginfo_version = 12;
 	ret->proginfo_hasairdate = 0;
@@ -307,6 +313,8 @@ cmyth_proginfo_dup(cmyth_proginfo_t p)
 	ret->proginfo_title = ref_hold(p->proginfo_title);
 	ret->proginfo_subtitle = ref_hold(p->proginfo_subtitle);
 	ret->proginfo_description = ref_hold(p->proginfo_description);
+	ret->proginfo_season = p->proginfo_season;
+	ret->proginfo_episode = p->proginfo_episode;
 	ret->proginfo_category = ref_hold(p->proginfo_category);
 	ret->proginfo_chanId = p->proginfo_chanId;
 	ret->proginfo_chanstr = ref_hold(p->proginfo_chanstr);
@@ -340,6 +348,7 @@ cmyth_proginfo_dup(cmyth_proginfo_t p)
 	ret->proginfo_chan_output_filters = ref_hold(p->proginfo_chan_output_filters);
 	ret->proginfo_seriesid = ref_hold(p->proginfo_seriesid);
 	ret->proginfo_programid = ref_hold(p->proginfo_programid);
+	ret->proginfo_inetref = ref_hold(p->proginfo_inetref);
 	ret->proginfo_stars = ref_hold(p->proginfo_stars);
 	ret->proginfo_version = p->proginfo_version;
 	ret->proginfo_hasairdate = p->proginfo_hasairdate;
@@ -386,7 +395,7 @@ delete_command(cmyth_conn_t control, cmyth_proginfo_t prog, char *cmd)
 	char *buf;
 	unsigned int len = ((2 * CMYTH_LONGLONG_LEN) + 
 			    (6 * CMYTH_TIMESTAMP_LEN) +
-			    (14 * CMYTH_LONG_LEN));
+			    (16 * CMYTH_LONG_LEN));
 	char start_ts[CMYTH_TIMESTAMP_LEN + 1];
 	char end_ts[CMYTH_TIMESTAMP_LEN + 1];
 	char rec_start_ts[CMYTH_TIMESTAMP_LEN + 1];
@@ -415,8 +424,12 @@ delete_command(cmyth_conn_t control, cmyth_proginfo_t prog, char *cmd)
 	len += strlen(S(prog->proginfo_url));
 	len += strlen(S(prog->proginfo_hostname));
 	len += strlen(S(prog->proginfo_playgroup));
+	len += strlen(S(prog->proginfo_seriesid));
+	len += strlen(S(prog->proginfo_programid));
+	len += strlen(S(prog->proginfo_inetref));
 	len += strlen(S(prog->proginfo_recpriority_2));
 	len += strlen(S(prog->proginfo_storagegroup));
+	len += strlen(S(prog->proginfo_prodyear));
 
 	buf = alloca(len + 1+2048);
 	if (!buf) {
@@ -462,6 +475,10 @@ delete_command(cmyth_conn_t control, cmyth_proginfo_t prog, char *cmd)
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_title));
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_subtitle));
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_description));
+		if (control->conn_version >= 67) {
+			sprintf(buf + strlen(buf), "%u[]:[]", prog->proginfo_season);
+			sprintf(buf + strlen(buf), "%u[]:[]", prog->proginfo_episode);
+		}
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_category));
 		sprintf(buf + strlen(buf), "%ld[]:[]", prog->proginfo_chanId);
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_chanstr));
@@ -504,6 +521,9 @@ delete_command(cmyth_conn_t control, cmyth_proginfo_t prog, char *cmd)
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_chan_output_filters));
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_seriesid));
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_programid));
+		if (control->conn_version >= 67) {
+			sprintf(buf + strlen(buf), "%s[]:[]", S(prog->proginfo_inetref));
+		}
 		sprintf(buf + strlen(buf), "%s[]:[]",  lastmodified);
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_stars));
 		sprintf(buf + strlen(buf), "%s[]:[]",  originalairdate);
@@ -773,6 +793,24 @@ cmyth_proginfo_description(cmyth_proginfo_t prog)
 	return ref_hold(prog->proginfo_description);
 }
 
+unsigned short
+cmyth_proginfo_season(cmyth_proginfo_t prog)
+{
+	if (!prog) {
+		return 0;
+	}
+	return prog->proginfo_season;
+}
+
+unsigned short
+cmyth_proginfo_episode(cmyth_proginfo_t prog)
+{
+	if (!prog) {
+		return 0;
+	}
+	return prog->proginfo_episode;
+}
+
 /*
  * cmyth_proginfo_category(cmyth_proginfo_t prog)
  *
@@ -827,6 +865,17 @@ cmyth_proginfo_programid(cmyth_proginfo_t prog)
 }
 
 char *
+cmyth_proginfo_inetref(cmyth_proginfo_t prog)
+{
+	if (!prog) {
+		cmyth_dbg(CMYTH_DBG_ERROR, "%s: NULL inetref\n",
+			  __FUNCTION__);
+		return NULL;
+	}
+	return ref_hold(prog->proginfo_inetref);
+}
+
+char *
 cmyth_proginfo_stars(cmyth_proginfo_t prog)
 {
 	if (!prog) {
@@ -1260,7 +1309,7 @@ fill_command(cmyth_conn_t control, cmyth_proginfo_t prog, char *cmd)
 	char *buf;
 	unsigned int len = ((2 * CMYTH_LONGLONG_LEN) + 
 			    (6 * CMYTH_TIMESTAMP_LEN) +
-			    (14 * CMYTH_LONG_LEN));
+			    (16 * CMYTH_LONG_LEN));
 	char start_ts[CMYTH_TIMESTAMP_LEN + 1];
 	char end_ts[CMYTH_TIMESTAMP_LEN + 1];
 	char rec_start_ts[CMYTH_TIMESTAMP_LEN + 1];
@@ -1288,6 +1337,9 @@ fill_command(cmyth_conn_t control, cmyth_proginfo_t prog, char *cmd)
 	len += strlen(S(prog->proginfo_url));
 	len += strlen(S(prog->proginfo_hostname));
 	len += strlen(S(prog->proginfo_playgroup));
+	len += strlen(S(prog->proginfo_seriesid));
+	len += strlen(S(prog->proginfo_programid));
+	len += strlen(S(prog->proginfo_inetref));
 	len += strlen(S(prog->proginfo_recpriority_2));
 	len += strlen(S(prog->proginfo_storagegroup));
 	len += strlen(S(prog->proginfo_prodyear));
@@ -1336,6 +1388,10 @@ fill_command(cmyth_conn_t control, cmyth_proginfo_t prog, char *cmd)
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_title));
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_subtitle));
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_description));
+		if (control->conn_version >= 67) {
+			sprintf(buf + strlen(buf), "%u[]:[]", prog->proginfo_season);
+			sprintf(buf + strlen(buf), "%u[]:[]", prog->proginfo_episode);
+		}
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_category));
 		sprintf(buf + strlen(buf), "%ld[]:[]", prog->proginfo_chanId);
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_chanstr));
@@ -1378,6 +1434,9 @@ fill_command(cmyth_conn_t control, cmyth_proginfo_t prog, char *cmd)
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_chan_output_filters));
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_seriesid));
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_programid));
+		if (control->conn_version >= 67) {
+			sprintf(buf + strlen(buf), "%s[]:[]", S(prog->proginfo_inetref));
+		}
 		sprintf(buf + strlen(buf), "%s[]:[]",  lastmodified);
 		sprintf(buf + strlen(buf), "%s[]:[]",  S(prog->proginfo_stars));
 		sprintf(buf + strlen(buf), "%s[]:[]",  originalairdate);
diff --git a/lib/cmyth/libcmyth/proglist.c b/lib/cmyth/libcmyth/proglist.c
index 28e742c..fe75577 100644
--- a/lib/cmyth/libcmyth/proglist.c
+++ b/lib/cmyth/libcmyth/proglist.c
@@ -315,6 +315,7 @@ cmyth_proglist_get_list(cmyth_conn_t conn,
 cmyth_proglist_t
 cmyth_proglist_get_all_recorded(cmyth_conn_t control)
 {
+	char query[32];
 	cmyth_proglist_t proglist = cmyth_proglist_create();
 
 	if (proglist == NULL) {
@@ -324,8 +325,14 @@ cmyth_proglist_get_all_recorded(cmyth_conn_t control)
 		return NULL;
 	}
 
+	if (control->conn_version < 65) {
+		strcpy(query, "QUERY_RECORDINGS Play");
+	}
+	else {
+		strcpy(query, "QUERY_RECORDINGS Ascending");
+	}
 	if (cmyth_proglist_get_list(control, proglist,
-				    "QUERY_RECORDINGS Play",
+				    query,
 				    __FUNCTION__) < 0) {
 		cmyth_dbg(CMYTH_DBG_ERROR,
 			  "%s: cmyth_proglist_get_list() failed\n",
diff --git a/lib/cmyth/libcmyth/socket.c b/lib/cmyth/libcmyth/socket.c
index f1f9a45..552b88d 100644
--- a/lib/cmyth/libcmyth/socket.c
+++ b/lib/cmyth/libcmyth/socket.c
@@ -882,23 +882,38 @@ cmyth_rcv_long_long(cmyth_conn_t conn, int *err, long long *buf, int count)
 		*err = EINVAL;
 		return 0;
 	}
-	consumed = cmyth_rcv_u_long(conn, err, &hi, count);
-	if (*err) {
-		cmyth_dbg(CMYTH_DBG_ERROR,
-			  "%s: cmyth_rcv_long_long() failed (%d)\n",
-			  __FUNCTION__, consumed);
-		return consumed;
+
+	if (conn->conn_version >= 66) {
+		/*
+		 * Since protocol 66 mythbackend now sends a single 64 bit integer rather than two hi and lo
+		 * 32 bit integers for ALL 64 bit values.
+		 */
+		consumed = cmyth_rcv_int64(conn, err, &val, count);
+		if (*err) {
+			cmyth_dbg(CMYTH_DBG_ERROR,
+				  "%s: cmyth_rcv_int64() failed (%d)\n",
+				  __FUNCTION__, consumed);
+			return consumed;
+		}
 	}
-	consumed += cmyth_rcv_u_long(conn, err, &lo, count-consumed);
-	if (*err) {
-		cmyth_dbg(CMYTH_DBG_ERROR,
-			  "%s: cmyth_rcv_long_long() failed (%d)\n",
-			  __FUNCTION__, consumed);
-		return consumed;
+	else {
+		consumed = cmyth_rcv_u_long(conn, err, &hi, count);
+		if (*err) {
+			cmyth_dbg(CMYTH_DBG_ERROR,
+				  "%s: cmyth_rcv_u_long_long() failed (%d)\n",
+				  __FUNCTION__, consumed);
+			return consumed;
+		}
+		consumed += cmyth_rcv_u_long(conn, err, &lo, count-consumed);
+		if (*err) {
+			cmyth_dbg(CMYTH_DBG_ERROR,
+				  "%s: cmyth_rcv_u_long_long() failed (%d)\n",
+				  __FUNCTION__, consumed);
+			return consumed;
+		}
+		val = (((long long)hi) << 32) | ((long long)(lo & 0xFFFFFFFF));
 	}
 
-	val = (((long long)hi) << 32) | ((long long)(lo & 0xFFFFFFFF));
-
 	*err = 0;
 	*buf = val;
 
@@ -1172,6 +1187,7 @@ cmyth_rcv_ulong_long(cmyth_conn_t conn, int *err,
 		     unsigned long long *buf, int count)
 {
 	unsigned long long val;
+	long long val64;
 	unsigned long hi, lo;
 	int consumed;
 	int tmp;
@@ -1186,23 +1202,45 @@ cmyth_rcv_ulong_long(cmyth_conn_t conn, int *err,
 		*err = EINVAL;
 		return 0;
 	}
-	consumed = cmyth_rcv_u_long(conn, err, &hi, count);
-	if (*err) {
-		cmyth_dbg(CMYTH_DBG_ERROR,
-			  "%s: cmyth_rcv_ulong_long() failed (%d)\n",
-			  __FUNCTION__, consumed);
-		return consumed;
+	
+	if (conn->conn_version >= 66) {
+		/*
+		 * Since protocol 66 mythbackend now sends a single 64 bit integer rather than two hi and lo
+		 * 32 bit integers for ALL 64 bit values.
+		 */
+		consumed = cmyth_rcv_int64(conn, err, &val64, count);
+		if (*err) {
+			cmyth_dbg(CMYTH_DBG_ERROR,
+				  "%s: cmyth_rcv_int64() failed (%d)\n",
+				  __FUNCTION__, consumed);
+			return consumed;
+		}
+		if (val64 < 0) {
+			cmyth_dbg(CMYTH_DBG_ERROR,
+				  "%s: cmyth_rcv_int64() failed as signed 64 bit integer received\n",
+				  __FUNCTION__, consumed);
+			*err = EINVAL;
+			return consumed;
+		}
+		val = (unsigned long long)val64;
 	}
-	consumed += cmyth_rcv_u_long(conn, err, &lo, count);
-	if (*err) {
-		cmyth_dbg(CMYTH_DBG_ERROR,
-			  "%s: cmyth_rcv_ulong_long() failed (%d)\n",
-			  __FUNCTION__, consumed);
-		return consumed;
+	else {
+		consumed = cmyth_rcv_u_long(conn, err, &hi, count);
+		if (*err) {
+			cmyth_dbg(CMYTH_DBG_ERROR,
+				  "%s: cmyth_rcv_u_long_long() failed (%d)\n",
+				  __FUNCTION__, consumed);
+			return consumed;
+		}
+		consumed += cmyth_rcv_u_long(conn, err, &lo, count);
+		if (*err) {
+			cmyth_dbg(CMYTH_DBG_ERROR,
+				  "%s: cmyth_rcv_u_long_long() failed (%d)\n",
+				  __FUNCTION__, consumed);
+			return consumed;
+		}
+		val = (((unsigned long long)hi) << 32) | ((unsigned long long)(lo & 0xFFFFFFFF));
 	}
-
-	val = (((unsigned long long)hi) << 32) | ((unsigned long long)(lo & 0xFFFFFFFF));
-
 	*err = 0;
 	*buf = val;
 
@@ -1485,7 +1523,8 @@ cmyth_rcv_proginfo(cmyth_conn_t conn, int *err, cmyth_proginfo_t buf,
 
 	if (buf->proginfo_version >= 57) {
 		/*
-		 * Myth now sends a single 64bit int, rather than 2 32bit ints
+		 * Since protocol 57 mythbackend now sends a single 64 bit integer rather than two 32 bit
+		 * hi and lo integers for the proginfo length.
 		 */
 		rcv_64 = &cmyth_rcv_int64;
 	} else {
@@ -1536,6 +1575,29 @@ cmyth_rcv_proginfo(cmyth_conn_t conn, int *err, cmyth_proginfo_t buf,
 		ref_release(buf->proginfo_description);
 	buf->proginfo_description = ref_strdup(tmp_str);
 
+	if (buf->proginfo_version >= 67) {
+		/*
+		 * Get season and episode (unsigned int)
+		 */
+		consumed = cmyth_rcv_ushort(conn, err,
+					   &buf->proginfo_season, count);
+		count -= consumed;
+		total += consumed;
+		if (*err) {
+			failed = "cmyth_rcv_ushort";
+			goto fail;
+		}
+
+		consumed = cmyth_rcv_ushort(conn, err,
+					   &buf->proginfo_episode, count);
+		count -= consumed;
+		total += consumed;
+		if (*err) {
+			failed = "cmyth_rcv_ushort";
+			goto fail;
+		}
+	}
+
 	/*
 	 * Get proginfo_category (string)
 	 */
@@ -1649,7 +1711,7 @@ cmyth_rcv_proginfo(cmyth_conn_t conn, int *err, cmyth_proginfo_t buf,
 	count -= consumed;
 	total += consumed;
 	if (*err) {
-		failed = "cmyth_rcv_long_long";
+		failed = "rcv_64";
 		goto fail;
 	}
 
@@ -2013,7 +2075,7 @@ cmyth_rcv_proginfo(cmyth_conn_t conn, int *err, cmyth_proginfo_t buf,
 		count -= consumed;
 		total += consumed;
 		if (*err) {
-			failed = "cmyth_rcv_timestamp";
+			failed = "cmyth_rcv_string";
 			goto fail;
 		}
 		if (buf->proginfo_programid)
@@ -2021,6 +2083,23 @@ cmyth_rcv_proginfo(cmyth_conn_t conn, int *err, cmyth_proginfo_t buf,
 		buf->proginfo_programid = ref_strdup(tmp_str);
 	}
 
+	if (buf->proginfo_version >= 67) {
+		/*
+		 * Get inetref (string)
+		 */
+		consumed = cmyth_rcv_string(conn, err, tmp_str,
+						sizeof(tmp_str) - 1, count);
+		count -= consumed;
+		total += consumed;
+		if (*err) {
+			failed = "cmyth_rcv_string";
+			goto fail;
+		}
+		if (buf->proginfo_inetref)
+			ref_release(buf->proginfo_inetref);
+		buf->proginfo_inetref = ref_strdup(tmp_str);
+	}
+
 	if (buf->proginfo_version >= 12) {
 		/*
 		 * Get lastmodified (string)

xbmc-11.0-tsp-Eden-pvr.patch:
 /dev/null                                                                                                     |binary
 addons/skin.confluence/language/Portuguese                                                                    |    3 
 b/.gitattributes                                                                                              |    1 
 b/.gitignore                                                                                                  |   56 
 b/Makefile.in                                                                                                 |   60 
 b/XBMC-ATV2.xcodeproj/project.pbxproj                                                                         |binary
 b/XBMC-IOS.xcodeproj/project.pbxproj                                                                          |binary
 b/XBMC.xcodeproj/project.pbxproj                                                                              |binary
 b/addons/library.xbmc.addon/dlfcn-win32.cpp                                                                   |  263 
 b/addons/library.xbmc.addon/dlfcn-win32.h                                                                     |   46 
 b/addons/library.xbmc.addon/libXBMC_addon.h                                                                   |  192 
 b/addons/library.xbmc.gui/libXBMC_gui.h                                                                       |  352 
 b/addons/library.xbmc.pvr/libXBMC_pvr.h                                                                       |  170 
 b/addons/pvr.demo/addon.xml                                                                                   |   19 
 b/addons/pvr.hts/addon.xml                                                                                    |   22 
 b/addons/pvr.hts/icon.png                                                                                     |binary
 b/addons/pvr.hts/pthreadVC2.dll                                                                               |binary
 b/addons/pvr.hts/pthreadVC2d.dll                                                                              |binary
 b/addons/pvr.hts/resources/language/Dutch/strings.xml                                                         |   15 
 b/addons/pvr.hts/resources/language/English/strings.xml                                                       |   15 
 b/addons/pvr.hts/resources/language/Finnish/strings.xml                                                       |   15 
 b/addons/pvr.hts/resources/language/German/strings.xml                                                        |   16 
 b/addons/pvr.hts/resources/settings.xml                                                                       |   10 
 b/addons/pvr.mythtv.cmyth/Thumbs.db                                                                           |binary
 b/addons/pvr.mythtv.cmyth/addon.xml                                                                           |   23 
 b/addons/pvr.mythtv.cmyth/icon.png                                                                            |binary
 b/addons/pvr.mythtv.cmyth/pthreadVC2.dll                                                                      |binary
 b/addons/pvr.mythtv.cmyth/pthreadVC2d.dll                                                                     |binary
 b/addons/pvr.mythtv.cmyth/resources/language/Danish/strings.xml                                               |   11 
 b/addons/pvr.mythtv.cmyth/resources/language/English/strings.xml                                              |   18 
 b/addons/pvr.mythtv.cmyth/resources/language/German/strings.xml                                               |   14 
 b/addons/pvr.mythtv.cmyth/resources/settings.xml                                                              |   14 
 b/addons/pvr.mythtv.cmyth/resources/skins/skin.confluence/720p/DialogRecordingRulesSettings.xml               |  155 
 b/addons/pvr.mythtv.cmyth/resources/skins/skin.confluence/720p/RecordingRules.xml                             |  339 
 b/addons/pvr.mythtv/addon.xml                                                                                 |   23 
 b/addons/pvr.mythtv/icon.png                                                                                  |binary
 b/addons/pvr.mythtv/resources/language/English/strings.xml                                                    |    7 
 b/addons/pvr.mythtv/resources/language/Finnish/strings.xml                                                    |    6 
 b/addons/pvr.mythtv/resources/language/German/strings.xml                                                     |    7 
 b/addons/pvr.mythtv/resources/settings.xml                                                                    |    6 
 b/addons/pvr.team-mediaportal.tvserver/LICENSE.txt                                                            |  282 
 b/addons/pvr.team-mediaportal.tvserver/addon.xml                                                              |   23 
 b/addons/pvr.team-mediaportal.tvserver/changelog.txt                                                          |   89 
 b/addons/pvr.team-mediaportal.tvserver/icon.png                                                               |binary
 b/addons/pvr.team-mediaportal.tvserver/resources/genre_translation.xml                                        |  128 
 b/addons/pvr.team-mediaportal.tvserver/resources/language/Dutch/strings.xml                                   |   44 
 b/addons/pvr.team-mediaportal.tvserver/resources/language/English/strings.xml                                 |   44 
 b/addons/pvr.team-mediaportal.tvserver/resources/language/Finnish/strings.xml                                 |   25 
 b/addons/pvr.team-mediaportal.tvserver/resources/language/German/strings.xml                                  |   21 
 b/addons/pvr.team-mediaportal.tvserver/resources/language/Italian/strings.xml                                 |   25 
 b/addons/pvr.team-mediaportal.tvserver/resources/settings.xml                                                 |   22 
 b/addons/pvr.vdr.vnsi/addon.xml                                                                               |   23 
 b/addons/pvr.vdr.vnsi/icon.png                                                                                |binary
 b/addons/pvr.vdr.vnsi/pthreadVC2.dll                                                                          |binary
 b/addons/pvr.vdr.vnsi/pthreadVC2d.dll                                                                         |binary
 b/addons/pvr.vdr.vnsi/resources/language/Dutch/strings.xml                                                    |   48 
 b/addons/pvr.vdr.vnsi/resources/language/English/strings.xml                                                  |   51 
 b/addons/pvr.vdr.vnsi/resources/language/Finnish/strings.xml                                                  |   51 
 b/addons/pvr.vdr.vnsi/resources/language/German/strings.xml                                                   |   51 
 b/addons/pvr.vdr.vnsi/resources/settings.xml                                                                  |   10 
 b/addons/pvr.vdr.vnsi/resources/skins/Confluence/720p/ChannelScan.xml                                         |  733 +
 b/addons/skin.confluence/720p/DialogButtonMenu.xml                                                            |   40 
 b/addons/skin.confluence/720p/DialogExtendedProgressBar.xml                                                   |   48 
 b/addons/skin.confluence/720p/DialogPVRChannelManager.xml                                                     |  539 +
 b/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml                                                        |  296 
 b/addons/skin.confluence/720p/DialogPVRGroupManager.xml                                                       |  433 
 b/addons/skin.confluence/720p/DialogPVRGuideInfo.xml                                                          |  226 
 b/addons/skin.confluence/720p/DialogPVRGuideOSD.xml                                                           |  253 
 b/addons/skin.confluence/720p/DialogPVRGuideSearch.xml                                                        |  456 +
 b/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml                                                      |  267 
 b/addons/skin.confluence/720p/DialogPVRTimerSettings.xml                                                      |  155 
 b/addons/skin.confluence/720p/Home.xml                                                                        |  363 
 b/addons/skin.confluence/720p/IncludesBackgroundBuilding.xml                                                  |  120 
 b/addons/skin.confluence/720p/IncludesHomeMenuItems.xml                                                       |   44 
 b/addons/skin.confluence/720p/MusicOSD.xml                                                                    |    6 
 b/addons/skin.confluence/720p/MyPVR.xml                                                                       |  256 
 b/addons/skin.confluence/720p/PlayerControls.xml                                                              |  148 
 b/addons/skin.confluence/720p/Settings.xml                                                                    |   18 
 b/addons/skin.confluence/720p/SettingsSystemInfo.xml                                                          |   15 
 b/addons/skin.confluence/720p/VideoFullScreen.xml                                                             |  324 
 b/addons/skin.confluence/720p/VideoOSD.xml                                                                    |  254 
 b/addons/skin.confluence/720p/ViewsPVR.xml                                                                    | 2378 +++++
 b/addons/skin.confluence/720p/custom_SkinSetting_1111.xml                                                     |    8 
 b/addons/skin.confluence/720p/defaults.xml                                                                    |    1 
 b/addons/skin.confluence/720p/includes.xml                                                                    |  132 
 b/addons/skin.confluence/backgrounds/tv.jpg                                                                   |binary
 b/addons/skin.confluence/language/Czech/strings.xml                                                           |   15 
 b/addons/skin.confluence/language/Dutch/strings.xml                                                           |   11 
 b/addons/skin.confluence/language/English/strings.xml                                                         |   15 
 b/addons/skin.confluence/language/Finnish/strings.xml                                                         |   13 
 b/addons/skin.confluence/language/French/strings.xml                                                          |   16 
 b/addons/skin.confluence/language/German/strings.xml                                                          |   27 
 b/addons/skin.confluence/language/Greek/strings.xml                                                           |  175 
 b/addons/skin.confluence/language/Japanese/strings.xml                                                        |  264 
 b/addons/skin.confluence/language/Slovak/strings.xml                                                          |  175 
 b/addons/skin.confluence/language/Slovenian/strings.xml                                                       |   13 
 b/addons/skin.confluence/media/OSDChannelDownFO.png                                                           |binary
 b/addons/skin.confluence/media/OSDChannelDownNF.png                                                           |binary
 b/addons/skin.confluence/media/OSDChannelListFO.png                                                           |binary
 b/addons/skin.confluence/media/OSDChannelListNF.png                                                           |binary
 b/addons/skin.confluence/media/OSDChannelUPFO.png                                                             |binary
 b/addons/skin.confluence/media/OSDChannelUPNF.png                                                             |binary
 b/addons/skin.confluence/media/OSDRecordOffFO.png                                                             |binary
 b/addons/skin.confluence/media/OSDRecordOffNF.png                                                             |binary
 b/addons/skin.confluence/media/OSDRecordOnFO.png                                                              |binary
 b/addons/skin.confluence/media/OSDRecordOnNF.png                                                              |binary
 b/addons/skin.confluence/media/OSDTeleTextFO.png                                                              |binary
 b/addons/skin.confluence/media/OSDTeleTextNF.png                                                              |binary
 b/addons/skin.confluence/media/OSDepgFO.png                                                                   |binary
 b/addons/skin.confluence/media/OSDepgNF.png                                                                   |binary
 b/addons/skin.confluence/media/PVR-HasTimer.png                                                               |binary
 b/addons/skin.confluence/media/PVR-IsRecording.png                                                            |binary
 b/addons/skin.confluence/media/StackNF.png                                                                    |binary
 b/addons/skin.confluence/media/epg-genres/0.png                                                               |binary
 b/addons/skin.confluence/media/epg-genres/112.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/128.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/144.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/16.png                                                              |binary
 b/addons/skin.confluence/media/epg-genres/160.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/176.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/192.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/208.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/224.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/240.png                                                             |binary
 b/addons/skin.confluence/media/epg-genres/32.png                                                              |binary
 b/addons/skin.confluence/media/epg-genres/48.png                                                              |binary
 b/addons/skin.confluence/media/epg-genres/64.png                                                              |binary
 b/addons/skin.confluence/media/epg-genres/80.png                                                              |binary
 b/addons/skin.confluence/media/epg-genres/96.png                                                              |binary
 b/addons/skin.confluence/media/epg-genres/genre-numbers.txt                                                   |   18 
 b/addons/skin.confluence/media/gradient.png                                                                   |binary
 b/addons/skin.confluence/media/home-power-inhibit-FO.png                                                      |binary
 b/addons/skin.confluence/media/home-power-inhibit.png                                                         |binary
 b/addons/webinterface.default/js/iscroll.js                                                                   |  709 +
 b/configure.in                                                                                                |   42 
 b/language/Czech/strings.xml                                                                                  |  444 +
 b/language/Dutch/strings.xml                                                                                  |  552 +
 b/language/English/strings.xml                                                                                |  463 +
 b/language/Finnish/strings.xml                                                                                |  451 +
 b/language/French/strings.xml                                                                                 |  430 
 b/language/German/strings.xml                                                                                 |  439 +
 b/language/Greek/strings.xml                                                                                  |  892 +-
 b/language/Japanese/strings.xml                                                                               | 1867 +++-
 b/language/Polish/strings.xml                                                                                 |  249 
 b/language/Russian/langinfo.xml                                                                               |   22 
 b/language/Russian/strings.xml                                                                                |  455 +
 b/language/Slovak/strings.xml                                                                                 | 1738 +---
 b/language/Slovenian/strings.xml                                                                              |  454 +
 b/language/Swedish/strings.xml                                                                                |  434 +
 b/lib/addons/library.xbmc.addon/Makefile.in                                                                   |   27 
 b/lib/addons/library.xbmc.addon/libXBMC_addon.cpp                                                             |  152 
 b/lib/addons/library.xbmc.addon/project/VS2010Express/libXBMC_addon.vcxproj                                   |   89 
 b/lib/addons/library.xbmc.addon/project/VS2010Express/libXBMC_addon.vcxproj.filters                           |   19 
 b/lib/addons/library.xbmc.gui/Makefile.in                                                                     |   27 
 b/lib/addons/library.xbmc.gui/libXBMC_gui.cpp                                                                 |  673 +
 b/lib/addons/library.xbmc.gui/project/VS2010Express/libXBMC_gui.vcxproj                                       |   86 
 b/lib/addons/library.xbmc.gui/project/VS2010Express/libXBMC_gui.vcxproj.filters                               |   14 
 b/lib/addons/library.xbmc.pvr/Makefile.in                                                                     |   27 
 b/lib/addons/library.xbmc.pvr/libXBMC_pvr.cpp                                                                 |  181 
 b/lib/addons/library.xbmc.pvr/project/VS2010Express/libXBMC_pvr.vcxproj                                       |   86 
 b/lib/addons/library.xbmc.pvr/project/VS2010Express/libXBMC_pvr.vcxproj.filters                               |   18 
 b/lib/cmyth/Win32/libcmyth.def                                                                                |   67 
 b/lib/cmyth/Win32/libcmyth.vcxproj                                                                            |    6 
 b/lib/cmyth/include/cmyth/cmyth.h                                                                             |  156 
 b/lib/cmyth/include/refmem/atomic.h                                                                           |    2 
 b/lib/cmyth/libcmyth/cmyth_local.h                                                                            |   81 
 b/lib/cmyth/libcmyth/connection.c                                                                             |  175 
 b/lib/cmyth/libcmyth/event.c                                                                                  |   22 
 b/lib/cmyth/libcmyth/file.c                                                                                   |  133 
 b/lib/cmyth/libcmyth/livetv.c                                                                                 |   42 
 b/lib/cmyth/libcmyth/mysql_query.c                                                                            |    1 
 b/lib/cmyth/libcmyth/mythtv_mysql.c                                                                           | 1182 ++
 b/lib/cmyth/libcmyth/proginfo.c                                                                               |   28 
 b/lib/cmyth/libcmyth/proglist.c                                                                               |  350 
 b/lib/cmyth/libcmyth/socket.c                                                                                 |    4 
 b/lib/platform/os.h                                                                                           |   38 
 b/lib/platform/posix/os-socket.h                                                                              |  326 
 b/lib/platform/posix/os-threads.h                                                                             |  119 
 b/lib/platform/posix/os-types.h                                                                               |   54 
 b/lib/platform/posix/serialport.cpp                                                                           |  193 
 b/lib/platform/sockets/serialport.h                                                                           |  115 
 b/lib/platform/sockets/socket.h                                                                               |  228 
 b/lib/platform/sockets/tcp.h                                                                                  |  130 
 b/lib/platform/threads/mutex.h                                                                                |  353 
 b/lib/platform/threads/threads.h                                                                              |  152 
 b/lib/platform/util/StdString.h                                                                               | 4337 ++++++++++
 b/lib/platform/util/baudrate.h                                                                                |  211 
 b/lib/platform/util/buffer.h                                                                                  |   98 
 b/lib/platform/util/timeutils.h                                                                               |  122 
 b/lib/platform/windows/dlfcn-win32.cpp                                                                        |  263 
 b/lib/platform/windows/dlfcn-win32.h                                                                          |   46 
 b/lib/platform/windows/os-socket.h                                                                            |  297 
 b/lib/platform/windows/os-threads.cpp                                                                         |  136 
 b/lib/platform/windows/os-threads.h                                                                           |   65 
 b/lib/platform/windows/os-types.h                                                                             |   80 
 b/lib/platform/windows/serialport.cpp                                                                         |  211 
 b/lib/platform/windows/stdint.h                                                                               |  247 
 b/project/VS2010Express/XBMC.vcxproj                                                                          |  122 
 b/project/VS2010Express/XBMC.vcxproj.filters                                                                  |  337 
 b/system/PVRDemoAddonSettings.xml                                                                             |  460 +
 b/system/keymaps/keyboard.xml                                                                                 |   56 
 b/system/keymaps/remote.xml                                                                                   |  154 
 b/system/playercorefactory.xml                                                                                |    3 
 b/xbmc/Application.cpp                                                                                        |  119 
 b/xbmc/Application.h                                                                                          |    8 
 b/xbmc/ApplicationMessenger.cpp                                                                               |   29 
 b/xbmc/ApplicationMessenger.h                                                                                 |    7 
 b/xbmc/FileItem.cpp                                                                                           |  349 
 b/xbmc/FileItem.h                                                                                             |   72 
 b/xbmc/GUIInfoManager.cpp                                                                                     |  628 +
 b/xbmc/GUIInfoManager.h                                                                                       |  121 
 b/xbmc/GUIViewControl.cpp                                                                                     |    5 
 b/xbmc/GUIViewState.cpp                                                                                       |    5 
 b/xbmc/SortFileItem.cpp                                                                                       |   18 
 b/xbmc/SortFileItem.h                                                                                         |    2 
 b/xbmc/URL.cpp                                                                                                |    3 
 b/xbmc/Util.cpp                                                                                               |   36 
 b/xbmc/Util.h                                                                                                 |    4 
 b/xbmc/XBDateTime.cpp                                                                                         |   39 
 b/xbmc/XBDateTime.h                                                                                           |    3 
 b/xbmc/addons/Addon.cpp                                                                                       |    6 
 b/xbmc/addons/Addon.h                                                                                         |    5 
 b/xbmc/addons/AddonCallbacks.cpp                                                                              |  142 
 b/xbmc/addons/AddonCallbacks.h                                                                                |  292 
 b/xbmc/addons/AddonCallbacksAddon.cpp                                                                         |  359 
 b/xbmc/addons/AddonCallbacksAddon.h                                                                           |  109 
 b/xbmc/addons/AddonCallbacksGUI.cpp                                                                           | 1762 ++++
 b/xbmc/addons/AddonCallbacksGUI.h                                                                             |  225 
 b/xbmc/addons/AddonCallbacksPVR.cpp                                                                           |  311 
 b/xbmc/addons/AddonCallbacksPVR.h                                                                             |  153 
 b/xbmc/addons/AddonDatabase.cpp                                                                               |    8 
 b/xbmc/addons/AddonDatabase.h                                                                                 |    4 
 b/xbmc/addons/AddonDll.h                                                                                      |   16 
 b/xbmc/addons/AddonManager.cpp                                                                                |   77 
 b/xbmc/addons/AddonManager.h                                                                                  |    8 
 b/xbmc/addons/AddonStatusHandler.cpp                                                                          |    2 
 b/xbmc/addons/DllPVRClient.h                                                                                  |   30 
 b/xbmc/addons/GUIDialogAddonInfo.cpp                                                                          |   17 
 b/xbmc/addons/Makefile                                                                                        |    4 
 b/xbmc/addons/Skin.cpp                                                                                        |    1 
 b/xbmc/addons/include/xbmc_pvr_dll.h                                                                          |  441 +
 b/xbmc/addons/include/xbmc_pvr_types.h                                                                        |  412 
 b/xbmc/cores/DllLoader/DllLoaderContainer.cpp                                                                 |    2 
 b/xbmc/cores/DllLoader/Win32DllLoader.cpp                                                                     |    3 
 b/xbmc/cores/IPlayer.h                                                                                        |    6 
 b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp                                                              |   26 
 b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h                                                                 |   14 
 b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp                                                         |    1 
 b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.cpp                                                           |    4 
 b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp                                                      |  317 
 b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.h                                                        |  108 
 b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPacket.h                                                           |   37 
 b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxUtils.h                                                            |    2 
 b/xbmc/cores/dvdplayer/DVDDemuxers/DVDFactoryDemuxer.cpp                                                      |   36 
 b/xbmc/cores/dvdplayer/DVDDemuxers/Makefile.in                                                                |    1 
 b/xbmc/cores/dvdplayer/DVDInputStreams/DVDFactoryInputStream.cpp                                              |    3 
 b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStream.h                                                       |   14 
 b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamHTSP.cpp                                                 |   34 
 b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamHTSP.h                                                   |   15 
 b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.cpp                                           |  294 
 b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamPVRManager.h                                             |  107 
 b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamTV.cpp                                                   |    9 
 b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamTV.h                                                     |    7 
 b/xbmc/cores/dvdplayer/DVDInputStreams/Makefile                                                               |    1 
 b/xbmc/cores/dvdplayer/DVDMessage.h                                                                           |    3 
 b/xbmc/cores/dvdplayer/DVDPlayer.cpp                                                                          |  324 
 b/xbmc/cores/dvdplayer/DVDPlayer.h                                                                            |   24 
 b/xbmc/cores/dvdplayer/DVDSubtitles/SamiTagConvertor.cpp                                                      |  242 
 b/xbmc/cores/dvdplayer/DVDSubtitles/SamiTagConvertor.h                                                        |   68 
 b/xbmc/cores/dvdplayer/Edl.cpp                                                                                |    5 
 b/xbmc/cores/paplayer/CodecFactory.cpp                                                                        |    3 
 b/xbmc/dialogs/GUIDialogContextMenu.h                                                                         |   20 
 b/xbmc/dialogs/GUIDialogExtendedProgressBar.cpp                                                               |  103 
 b/xbmc/dialogs/GUIDialogExtendedProgressBar.h                                                                 |   44 
 b/xbmc/dialogs/GUIDialogMediaSource.cpp                                                                       |   10 
 b/xbmc/dialogs/GUIDialogNumeric.cpp                                                                           |    9 
 b/xbmc/dialogs/GUIDialogNumeric.h                                                                             |    2 
 b/xbmc/dialogs/GUIDialogSeekBar.cpp                                                                           |    2 
 b/xbmc/dialogs/Makefile                                                                                       |    1 
 b/xbmc/epg/Epg.cpp                                                                                            |  999 ++
 b/xbmc/epg/Epg.h                                                                                              |  367 
 b/xbmc/epg/EpgContainer.cpp                                                                                   |  624 +
 b/xbmc/epg/EpgContainer.h                                                                                     |  296 
 b/xbmc/epg/EpgDatabase.cpp                                                                                    |  449 +
 b/xbmc/epg/EpgDatabase.h                                                                                      |  163 
 b/xbmc/epg/EpgInfoTag.cpp                                                                                     |  974 ++
 b/xbmc/epg/EpgInfoTag.h                                                                                       |  469 +
 b/xbmc/epg/EpgSearchFilter.cpp                                                                                |  246 
 b/xbmc/epg/EpgSearchFilter.h                                                                                  |   81 
 b/xbmc/epg/GUIEPGGridContainer.cpp                                                                            | 1915 ++++
 b/xbmc/epg/GUIEPGGridContainer.h                                                                              |  223 
 b/xbmc/epg/Makefile                                                                                           |   13 
 b/xbmc/filesystem/AddonsDirectory.cpp                                                                         |    7 
 b/xbmc/filesystem/DllLibCMyth.h                                                                               |   21 
 b/xbmc/filesystem/FactoryDirectory.cpp                                                                        |    6 
 b/xbmc/filesystem/FileFactory.cpp                                                                             |    6 
 b/xbmc/filesystem/ILiveTV.h                                                                                   |    4 
 b/xbmc/filesystem/Makefile.in                                                                                 |    2 
 b/xbmc/filesystem/MythFile.cpp                                                                                |    8 
 b/xbmc/filesystem/MythFile.h                                                                                  |    4 
 b/xbmc/filesystem/PVRDirectory.cpp                                                                            |  126 
 b/xbmc/filesystem/PVRDirectory.h                                                                              |   46 
 b/xbmc/filesystem/PVRFile.cpp                                                                                 |  324 
 b/xbmc/filesystem/PVRFile.h                                                                                   |   81 
 b/xbmc/filesystem/Slingbox.cpp                                                                                |    4 
 b/xbmc/filesystem/Slingbox.h                                                                                  |    4 
 b/xbmc/filesystem/VTPFile.cpp                                                                                 |    4 
 b/xbmc/filesystem/VTPFile.h                                                                                   |    4 
 b/xbmc/guilib/GUIControl.h                                                                                    |    1 
 b/xbmc/guilib/GUIControlFactory.cpp                                                                           |   14 
 b/xbmc/guilib/GUIDialog.cpp                                                                                   |   13 
 b/xbmc/guilib/GUIDialog.h                                                                                     |    3 
 b/xbmc/guilib/GUIEditControl.cpp                                                                              |   16 
 b/xbmc/guilib/GUIEditControl.h                                                                                |    1 
 b/xbmc/guilib/GUILabelControl.cpp                                                                             |    7 
 b/xbmc/guilib/GUILabelControl.h                                                                               |    1 
 b/xbmc/guilib/GUIListGroup.cpp                                                                                |   44 
 b/xbmc/guilib/GUIListGroup.h                                                                                  |    2 
 b/xbmc/guilib/GUIListItemLayout.cpp                                                                           |   14 
 b/xbmc/guilib/GUIListItemLayout.h                                                                             |    2 
 b/xbmc/guilib/GUIListLabel.cpp                                                                                |   12 
 b/xbmc/guilib/GUIListLabel.h                                                                                  |    1 
 b/xbmc/guilib/GUIProgressControl.cpp                                                                          |    4 
 b/xbmc/guilib/GUIProgressControl.h                                                                            |    1 
 b/xbmc/guilib/GUIWindow.cpp                                                                                   |    4 
 b/xbmc/guilib/GUIWindow.h                                                                                     |    2 
 b/xbmc/guilib/Key.h                                                                                           |   36 
 b/xbmc/input/ButtonTranslator.cpp                                                                             |   29 
 b/xbmc/input/XBIRRemote.h                                                                                     |    5 
 b/xbmc/interfaces/Builtins.cpp                                                                                |   41 
 b/xbmc/interfaces/json-rpc/JSONServiceDescription.cpp                                                         |   14 
 b/xbmc/interfaces/json-rpc/JSONUtils.h                                                                        |   26 
 b/xbmc/interfaces/json-rpc/Makefile                                                                           |    1 
 b/xbmc/interfaces/json-rpc/PVROperations.cpp                                                                  |  207 
 b/xbmc/interfaces/json-rpc/PVROperations.h                                                                    |   41 
 b/xbmc/interfaces/json-rpc/ServiceDescription.h                                                               |   81 
 b/xbmc/interfaces/json-rpc/methods.json                                                                       |   81 
 b/xbmc/interfaces/python/xbmcmodule/xbmcmodule.cpp                                                            |   55 
 b/xbmc/pvr/Makefile                                                                                           |    8 
 b/xbmc/pvr/PVRDatabase.cpp                                                                                    |  935 ++
 b/xbmc/pvr/PVRDatabase.h                                                                                      |  258 
 b/xbmc/pvr/PVRGUIInfo.cpp                                                                                     |  864 +
 b/xbmc/pvr/PVRGUIInfo.h                                                                                       |  172 
 b/xbmc/pvr/PVRManager.cpp                                                                                     | 1116 ++
 b/xbmc/pvr/PVRManager.h                                                                                       |  595 +
 b/xbmc/pvr/addons/Makefile                                                                                    |    7 
 b/xbmc/pvr/addons/PVRClient.cpp                                                                               | 1137 ++
 b/xbmc/pvr/addons/PVRClient.h                                                                                 |  499 +
 b/xbmc/pvr/addons/PVRClients.cpp                                                                              | 1365 +++
 b/xbmc/pvr/addons/PVRClients.h                                                                                |  681 +
 b/xbmc/pvr/channels/Makefile                                                                                  |   10 
 b/xbmc/pvr/channels/PVRChannel.cpp                                                                            |  797 +
 b/xbmc/pvr/channels/PVRChannel.h                                                                              |  513 +
 b/xbmc/pvr/channels/PVRChannelGroup.cpp                                                                       | 1073 ++
 b/xbmc/pvr/channels/PVRChannelGroup.h                                                                         |  467 +
 b/xbmc/pvr/channels/PVRChannelGroupInternal.cpp                                                               |  398 
 b/xbmc/pvr/channels/PVRChannelGroupInternal.h                                                                 |  184 
 b/xbmc/pvr/channels/PVRChannelGroups.cpp                                                                      |  509 +
 b/xbmc/pvr/channels/PVRChannelGroups.h                                                                        |  211 
 b/xbmc/pvr/channels/PVRChannelGroupsContainer.cpp                                                             |  336 
 b/xbmc/pvr/channels/PVRChannelGroupsContainer.h                                                               |  215 
 b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp                                                             |  839 +
 b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h                                                               |   85 
 b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp                                                                |  239 
 b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.h                                                                  |   53 
 b/xbmc/pvr/dialogs/GUIDialogPVRCutterOSD.cpp                                                                  |   62 
 b/xbmc/pvr/dialogs/GUIDialogPVRCutterOSD.h                                                                    |   37 
 b/xbmc/pvr/dialogs/GUIDialogPVRDirectorOSD.cpp                                                                |   68 
 b/xbmc/pvr/dialogs/GUIDialogPVRDirectorOSD.h                                                                  |   37 
 b/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.cpp                                                               |  388 
 b/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.h                                                                 |   73 
 b/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.cpp                                                                  |  224 
 b/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.h                                                                    |   56 
 b/xbmc/pvr/dialogs/GUIDialogPVRGuideOSD.cpp                                                                   |  165 
 b/xbmc/pvr/dialogs/GUIDialogPVRGuideOSD.h                                                                     |   49 
 b/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.cpp                                                                |  369 
 b/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.h                                                                  |   58 
 b/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp                                                              |   61 
 b/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.h                                                                |   41 
 b/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp                                                              |  389 
 b/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.h                                                                |   61 
 b/xbmc/pvr/dialogs/Makefile                                                                                   |   15 
 b/xbmc/pvr/recordings/Makefile                                                                                |    7 
 b/xbmc/pvr/recordings/PVRRecording.cpp                                                                        |  210 
 b/xbmc/pvr/recordings/PVRRecording.h                                                                          |  107 
 b/xbmc/pvr/recordings/PVRRecordings.cpp                                                                       |  355 
 b/xbmc/pvr/recordings/PVRRecordings.h                                                                         |   70 
 b/xbmc/pvr/timers/Makefile                                                                                    |    7 
 b/xbmc/pvr/timers/PVRTimerInfoTag.cpp                                                                         |  628 +
 b/xbmc/pvr/timers/PVRTimerInfoTag.h                                                                           |  181 
 b/xbmc/pvr/timers/PVRTimers.cpp                                                                               |  755 +
 b/xbmc/pvr/timers/PVRTimers.h                                                                                 |  198 
 b/xbmc/pvr/windows/GUIViewStatePVR.cpp                                                                        |   69 
 b/xbmc/pvr/windows/GUIViewStatePVR.h                                                                          |   40 
 b/xbmc/pvr/windows/GUIWindowPVR.cpp                                                                           |  288 
 b/xbmc/pvr/windows/GUIWindowPVR.h                                                                             |   89 
 b/xbmc/pvr/windows/GUIWindowPVRChannels.cpp                                                                   |  581 +
 b/xbmc/pvr/windows/GUIWindowPVRChannels.h                                                                     |   75 
 b/xbmc/pvr/windows/GUIWindowPVRCommon.cpp                                                                     |  826 +
 b/xbmc/pvr/windows/GUIWindowPVRCommon.h                                                                       |  141 
 b/xbmc/pvr/windows/GUIWindowPVRGuide.cpp                                                                      |  456 +
 b/xbmc/pvr/windows/GUIWindowPVRGuide.h                                                                        |   72 
 b/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp                                                                 |  322 
 b/xbmc/pvr/windows/GUIWindowPVRRecordings.h                                                                   |   62 
 b/xbmc/pvr/windows/GUIWindowPVRSearch.cpp                                                                     |  288 
 b/xbmc/pvr/windows/GUIWindowPVRSearch.h                                                                       |   61 
 b/xbmc/pvr/windows/GUIWindowPVRTimers.cpp                                                                     |  284 
 b/xbmc/pvr/windows/GUIWindowPVRTimers.h                                                                       |   56 
 b/xbmc/pvr/windows/Makefile                                                                                   |   13 
 b/xbmc/pvrclients/Makefile.include.in                                                                         |   29 
 b/xbmc/pvrclients/MediaPortal/Cards.cpp                                                                       |   81 
 b/xbmc/pvrclients/MediaPortal/Cards.h                                                                         |   63 
 b/xbmc/pvrclients/MediaPortal/FileUtils.h                                                                     |   10 
 b/xbmc/pvrclients/MediaPortal/GenreTable.cpp                                                                  |  143 
 b/xbmc/pvrclients/MediaPortal/GenreTable.h                                                                    |   45 
 b/xbmc/pvrclients/MediaPortal/Makefile.in                                                                     |   33 
 b/xbmc/pvrclients/MediaPortal/README                                                                          |  162 
 b/xbmc/pvrclients/MediaPortal/Socket.cpp                                                                      |  755 +
 b/xbmc/pvrclients/MediaPortal/Socket.h                                                                        |  302 
 b/xbmc/pvrclients/MediaPortal/channels.cpp                                                                    |   74 
 b/xbmc/pvrclients/MediaPortal/channels.h                                                                      |   48 
 b/xbmc/pvrclients/MediaPortal/client.cpp                                                                      |  734 +
 b/xbmc/pvrclients/MediaPortal/client.h                                                                        |   71 
 b/xbmc/pvrclients/MediaPortal/epg.cpp                                                                         |  149 
 b/xbmc/pvrclients/MediaPortal/epg.h                                                                           |   82 
 b/xbmc/pvrclients/MediaPortal/lib/tinyxml/Makefile                                                            |    9 
 b/xbmc/pvrclients/MediaPortal/lib/tinyxml/readme.txt                                                          |    8 
 b/xbmc/pvrclients/MediaPortal/lib/tinyxml/tinystr.cpp                                                         |  111 
 b/xbmc/pvrclients/MediaPortal/lib/tinyxml/tinystr.h                                                           |  305 
 b/xbmc/pvrclients/MediaPortal/lib/tinyxml/tinyxml.cpp                                                         | 1886 ++++
 b/xbmc/pvrclients/MediaPortal/lib/tinyxml/tinyxml.h                                                           | 1807 ++++
 b/xbmc/pvrclients/MediaPortal/lib/tinyxml/tinyxmlerror.cpp                                                    |   52 
 b/xbmc/pvrclients/MediaPortal/lib/tinyxml/tinyxmlparser.cpp                                                   | 1638 +++
 b/xbmc/pvrclients/MediaPortal/os-dependent.h                                                                  |   37 
 b/xbmc/pvrclients/MediaPortal/posix/os_posix.h                                                                |   30 
 b/xbmc/pvrclients/MediaPortal/project/VS2010Express/XBMC_MPTV.vcxproj                                         |  167 
 b/xbmc/pvrclients/MediaPortal/project/VS2010Express/XBMC_MPTV.vcxproj.filters                                 |  143 
 b/xbmc/pvrclients/MediaPortal/pvrclient-mediaportal.cpp                                                       | 1452 +++
 b/xbmc/pvrclients/MediaPortal/pvrclient-mediaportal.h                                                         |  124 
 b/xbmc/pvrclients/MediaPortal/recordings.cpp                                                                  |  289 
 b/xbmc/pvrclients/MediaPortal/recordings.h                                                                    |  128 
 b/xbmc/pvrclients/MediaPortal/timers.cpp                                                                      |  506 +
 b/xbmc/pvrclients/MediaPortal/timers.h                                                                        |  132 
 b/xbmc/pvrclients/MediaPortal/uri.cpp                                                                         |  221 
 b/xbmc/pvrclients/MediaPortal/uri.h                                                                           |   71 
 b/xbmc/pvrclients/MediaPortal/utils.cpp                                                                       |  133 
 b/xbmc/pvrclients/MediaPortal/utils.h                                                                         |   55 
 b/xbmc/pvrclients/MediaPortal/windows/FileUtils.cpp                                                           |   91 
 b/xbmc/pvrclients/MediaPortal/windows/WindowsUtils.cpp                                                        |  104 
 b/xbmc/pvrclients/MediaPortal/windows/WindowsUtils.h                                                          |   27 
 b/xbmc/pvrclients/MediaPortal/windows/os_windows.h                                                            |   30 
 b/xbmc/pvrclients/mythtv-cmyth/Makefile.in                                                                    |   34 
 b/xbmc/pvrclients/mythtv-cmyth/boost_d.txt                                                                    |    4 
 b/xbmc/pvrclients/mythtv-cmyth/boost_win32_dependency.bat                                                     |   48 
 b/xbmc/pvrclients/mythtv-cmyth/client.cpp                                                                     |  743 +
 b/xbmc/pvrclients/mythtv-cmyth/client.h                                                                       |   67 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth.h                                                                      |   12 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythChannel.cpp                                                        |   79 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythChannel.h                                                          |   26 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythConnection.cpp                                                     |  317 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythConnection.h                                                       |   51 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythDatabase.cpp                                                       |  224 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythDatabase.h                                                         |   45 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythEventHandler.cpp                                                   |  258 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythEventHandler.h                                                     |   26 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythFile.cpp                                                           |   68 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythFile.h                                                             |   24 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythPointer.h                                                          |   48 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythProgramInfo.cpp                                                    |  169 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythProgramInfo.h                                                      |   37 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythRecorder.cpp                                                       |  223 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythRecorder.h                                                         |   35 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythSGFile.cpp                                                         |   43 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythSGFile.h                                                           |   21 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythSignal.cpp                                                         |   14 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythSignal.h                                                           |   21 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythTimer.cpp                                                          |  378 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythTimer.h                                                            |  138 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythTimestamp.cpp                                                      |   88 
 b/xbmc/pvrclients/mythtv-cmyth/cppmyth/MythTimestamp.h                                                        |   28 
 b/xbmc/pvrclients/mythtv-cmyth/fileOps.cpp                                                                    |  313 
 b/xbmc/pvrclients/mythtv-cmyth/fileOps.h                                                                      |   66 
 b/xbmc/pvrclients/mythtv-cmyth/libcmyth.h                                                                     | 1642 +++
 b/xbmc/pvrclients/mythtv-cmyth/project/VS2010Express/XBMC_mythtc_cmyth.vcxproj                                |  163 
 b/xbmc/pvrclients/mythtv-cmyth/project/VS2010Express/XBMC_mythtc_cmyth.vcxproj.filters                        |  141 
 b/xbmc/pvrclients/mythtv-cmyth/pvrclient-mythtv.cpp                                                           | 1291 ++
 b/xbmc/pvrclients/mythtv-cmyth/pvrclient-mythtv.h                                                             |  109 
 b/xbmc/pvrclients/mythtv-cmyth/recordingRules.cpp                                                             |  312 
 b/xbmc/pvrclients/mythtv-cmyth/recordingRules.h                                                               |   35 
 b/xbmc/pvrclients/mythtv-cmyth/tools.h                                                                        |   99 
 b/xbmc/pvrclients/mythtv/Makefile.in                                                                          |   25 
 b/xbmc/pvrclients/mythtv/MythXml.cpp                                                                          |  144 
 b/xbmc/pvrclients/mythtv/MythXml.h                                                                            |   34 
 b/xbmc/pvrclients/mythtv/client.cpp                                                                           |  482 +
 b/xbmc/pvrclients/mythtv/client.h                                                                             |   48 
 b/xbmc/pvrclients/mythtv/libmythxml/GetChannelListCommand.h                                                   |   25 
 b/xbmc/pvrclients/mythtv/libmythxml/GetChannelListParameters.h                                                |   19 
 b/xbmc/pvrclients/mythtv/libmythxml/GetChannelListResult.cpp                                                  |   53 
 b/xbmc/pvrclients/mythtv/libmythxml/GetChannelListResult.h                                                    |   17 
 b/xbmc/pvrclients/mythtv/libmythxml/GetNumChannelsCommand.h                                                   |   24 
 b/xbmc/pvrclients/mythtv/libmythxml/GetNumChannelsParameters.h                                                |   19 
 b/xbmc/pvrclients/mythtv/libmythxml/GetNumChannelsResult.cpp                                                  |   54 
 b/xbmc/pvrclients/mythtv/libmythxml/GetNumChannelsResult.h                                                    |   23 
 b/xbmc/pvrclients/mythtv/libmythxml/GetProgramGuideCommand.h                                                  |   18 
 b/xbmc/pvrclients/mythtv/libmythxml/GetProgramGuideParameters.cpp                                             |   43 
 b/xbmc/pvrclients/mythtv/libmythxml/GetProgramGuideParameters.h                                               |   38 
 b/xbmc/pvrclients/mythtv/libmythxml/GetProgramGuideResult.cpp                                                 |  331 
 b/xbmc/pvrclients/mythtv/libmythxml/GetProgramGuideResult.h                                                   |   25 
 b/xbmc/pvrclients/mythtv/libmythxml/Makefile                                                                  |   16 
 b/xbmc/pvrclients/mythtv/libmythxml/MythXmlCommand.cpp                                                        |   42 
 b/xbmc/pvrclients/mythtv/libmythxml/MythXmlCommand.h                                                          |   49 
 b/xbmc/pvrclients/mythtv/libmythxml/MythXmlCommandParameters.cpp                                              |   33 
 b/xbmc/pvrclients/mythtv/libmythxml/MythXmlCommandParameters.h                                                |   43 
 b/xbmc/pvrclients/mythtv/libmythxml/MythXmlCommandResult.h                                                    |   35 
 b/xbmc/pvrclients/mythtv/libmythxml/SChannel.h                                                                |   18 
 b/xbmc/pvrclients/mythtv/libmythxml/SEpg.h                                                                    |   29 
 b/xbmc/pvrclients/pvr-demo/Makefile.in                                                                        |   23 
 b/xbmc/pvrclients/pvr-demo/PVRDemoData.cpp                                                                    |  360 
 b/xbmc/pvrclients/pvr-demo/PVRDemoData.h                                                                      |   94 
 b/xbmc/pvrclients/pvr-demo/client.cpp                                                                         |  290 
 b/xbmc/pvrclients/pvr-demo/client.h                                                                           |   30 
 b/xbmc/pvrclients/tvheadend/HTSPConnection.cpp                                                                |  364 
 b/xbmc/pvrclients/tvheadend/HTSPConnection.h                                                                  |   76 
 b/xbmc/pvrclients/tvheadend/HTSPData.cpp                                                                      | 1117 ++
 b/xbmc/pvrclients/tvheadend/HTSPData.h                                                                        |  121 
 b/xbmc/pvrclients/tvheadend/HTSPDemux.cpp                                                                     |  539 +
 b/xbmc/pvrclients/tvheadend/HTSPDemux.h                                                                       |   69 
 b/xbmc/pvrclients/tvheadend/HTSPTypes.h                                                                       |  234 
 b/xbmc/pvrclients/tvheadend/Makefile.in                                                                       |   25 
 b/xbmc/pvrclients/tvheadend/client.cpp                                                                        |  554 +
 b/xbmc/pvrclients/tvheadend/client.h                                                                          |   46 
 b/xbmc/pvrclients/tvheadend/project/VS2010Express/XBMC_tvheadend.vcxproj                                      |  112 
 b/xbmc/pvrclients/tvheadend/project/VS2010Express/XBMC_tvheadend.vcxproj.filters                              |   54 
 b/xbmc/pvrclients/vdr-vnsi/COPYING                                                                            |  340 
 b/xbmc/pvrclients/vdr-vnsi/Makefile.in                                                                        |   29 
 b/xbmc/pvrclients/vdr-vnsi/README                                                                             |   71 
 b/xbmc/pvrclients/vdr-vnsi/VNSIChannelScan.cpp                                                                |  598 +
 b/xbmc/pvrclients/vdr-vnsi/VNSIChannelScan.h                                                                  |   95 
 b/xbmc/pvrclients/vdr-vnsi/VNSIData.cpp                                                                       |  986 ++
 b/xbmc/pvrclients/vdr-vnsi/VNSIData.h                                                                         |   94 
 b/xbmc/pvrclients/vdr-vnsi/VNSIDemux.cpp                                                                      |  487 +
 b/xbmc/pvrclients/vdr-vnsi/VNSIDemux.h                                                                        |   66 
 b/xbmc/pvrclients/vdr-vnsi/VNSIRecording.cpp                                                                  |  180 
 b/xbmc/pvrclients/vdr-vnsi/VNSIRecording.h                                                                    |   51 
 b/xbmc/pvrclients/vdr-vnsi/VNSISession.cpp                                                                    |  371 
 b/xbmc/pvrclients/vdr-vnsi/VNSISession.h                                                                      |  100 
 b/xbmc/pvrclients/vdr-vnsi/client.cpp                                                                         |  642 +
 b/xbmc/pvrclients/vdr-vnsi/client.h                                                                           |   45 
 b/xbmc/pvrclients/vdr-vnsi/project/VS2010Express/XBMC_VDR_vnsi.vcxproj                                        |  126 
 b/xbmc/pvrclients/vdr-vnsi/project/VS2010Express/XBMC_VDR_vnsi.vcxproj.filters                                |   79 
 b/xbmc/pvrclients/vdr-vnsi/requestpacket.cpp                                                                  |  146 
 b/xbmc/pvrclients/vdr-vnsi/requestpacket.h                                                                    |   62 
 b/xbmc/pvrclients/vdr-vnsi/responsepacket.cpp                                                                 |  161 
 b/xbmc/pvrclients/vdr-vnsi/responsepacket.h                                                                   |   79 
 b/xbmc/pvrclients/vdr-vnsi/tools.cpp                                                                          |   52 
 b/xbmc/pvrclients/vdr-vnsi/tools.h                                                                            |   26 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/COPYING                                                      |  340 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/HISTORY                                                      |    6 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/Makefile                                                     |   98 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/README                                                       |   26 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/bitstream.c                                                  |  131 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/bitstream.h                                                  |   50 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/config.c                                                     |   42 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/config.h                                                     |   81 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/cxsocket.c                                                   |  174 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/cxsocket.h                                                   |   65 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer.c                                                    |  362 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer.h                                                    |  307 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_AAC.c                                                |  281 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_AAC.h                                                |   62 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_AC3.c                                                |  371 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_AC3.h                                                |   79 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_DTS.c                                                |   45 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_DTS.h                                                |   45 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_MPEGAudio.c                                          |  396 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_MPEGAudio.h                                          |  118 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_MPEGVideo.c                                          |  414 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_MPEGVideo.h                                          |   68 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_Subtitle.c                                           |  139 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_Subtitle.h                                           |   53 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_Teletext.c                                           |  113 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_Teletext.h                                           |   50 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_h264.c                                               |  455 +
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/demuxer_h264.h                                               |   99 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/hash.c                                                       |  111 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/hash.h                                                       |   37 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/patches/vdr-wirbelscan-0.0.5-pre11e-AddServiceInterface.diff |  426 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/receiver.c                                                   | 1212 ++
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/receiver.h                                                   |  116 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/recordingscache.c                                            |   70 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/recordingscache.h                                            |   56 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/recplayer.c                                                  |  295 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/recplayer.h                                                  |   80 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/requestpacket.c                                              |  123 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/requestpacket.h                                              |   73 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/responsepacket.c                                             |  214 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/responsepacket.h                                             |   75 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/vnsi.c                                                       |  138 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/vnsi.h                                                       |   59 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/vnsiclient.c                                                 | 1926 ++++
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/vnsiclient.h                                                 |  168 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/vnsicommand.h                                                |  127 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/vnsiserver.c                                                 |  271 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/vnsiserver.h                                                 |   57 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/vnsiserver/allowed_hosts.conf                                |   13 
 b/xbmc/pvrclients/vdr-vnsi/vdr-plugin-vnsiserver/wirbelscanservice.h                                          |   57 
 b/xbmc/pvrclients/vdr-vnsi/vnsicommand.h                                                                      |  122 
 b/xbmc/settings/AdvancedSettings.cpp                                                                          |   61 
 b/xbmc/settings/AdvancedSettings.h                                                                            |   18 
 b/xbmc/settings/GUIDialogSettings.cpp                                                                         |  130 
 b/xbmc/settings/GUIDialogSettings.h                                                                           |   10 
 b/xbmc/settings/GUISettings.cpp                                                                               |   90 
 b/xbmc/settings/GUISettings.h                                                                                 |   12 
 b/xbmc/settings/GUIWindowSettingsCategory.cpp                                                                 |   89 
 b/xbmc/settings/GUIWindowSettingsCategory.h                                                                   |    2 
 b/xbmc/settings/Settings.cpp                                                                                  |    2 
 b/xbmc/settings/VideoSettings.h                                                                               |    3 
 b/xbmc/system.h                                                                                               |    1 
 b/xbmc/utils/Makefile                                                                                         |    2 
 b/xbmc/utils/MathUtils.h                                                                                      |    8 
 b/xbmc/utils/Observer.cpp                                                                                     |  189 
 b/xbmc/utils/Observer.h                                                                                       |  136 
 b/xbmc/utils/TextSearch.cpp                                                                                   |  166 
 b/xbmc/utils/TextSearch.h                                                                                     |   50 
 b/xbmc/utils/URIUtils.cpp                                                                                     |   15 
 b/xbmc/utils/URIUtils.h                                                                                       |    1 
 b/xbmc/utils/XMLUtils.cpp                                                                                     |    8 
 b/xbmc/utils/XMLUtils.h                                                                                       |    1 
 b/xbmc/utils/log.cpp                                                                                          |   15 
 b/xbmc/video/GUIViewStateVideo.cpp                                                                            |    2 
 b/xbmc/video/dialogs/GUIDialogAudioSubtitleSettings.cpp                                                       |    5 
 b/xbmc/video/dialogs/GUIDialogVideoOSD.cpp                                                                    |   12 
 b/xbmc/video/dialogs/GUIDialogVideoSettings.cpp                                                               |    6 
 b/xbmc/video/windows/GUIWindowFullScreen.cpp                                                                  |  245 
 b/xbmc/video/windows/GUIWindowFullScreen.h                                                                    |    4 
 b/xbmc/video/windows/GUIWindowVideoBase.cpp                                                                   |   63 
 b/xbmc/win32/stdbool.h                                                                                        |   53 
 b/xbmc/windowing/X11/WinSystemX11GLES.cpp                                                                     |   14 
 b/xbmc/windows/GUIMediaWindow.cpp                                                                             |    3 
 b/xbmc/windows/GUIWindowSystemInfo.cpp                                                                        |   19 
 lib/libhts/Win32/include/stdint.h                                                                             |  222 
 lib/libhts/Win32/libhts_2003.sln                                                                              |   21 
 lib/libhts/Win32/libhts_2003.vcproj                                                                           |  161 
 lib/libhts/Win32/libhts_2008.sln                                                                              |   20 
 lib/libhts/Win32/libhts_2008.vcproj                                                                           |  237 
 project/VS2010Express/XBMC                                                                                    |  247 
 646 files changed, 110987 insertions(+), 3344 deletions(-)

--- NEW FILE xbmc-11.0-tsp-Eden-pvr.patch ---
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..ffc7f0e
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+*.pbxproj -crlf -diff
diff --git a/.gitignore b/.gitignore
index bcc3307..a82fba6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,6 +42,7 @@ config.log
 *.vcxproj.*.user
 *.vcxproj.user
 *.obj
+*.idb
 *ReSharper*
 *.idb
 
@@ -62,16 +63,22 @@ config.log
 .libs/
 .deps/
 
+# Eclipse project files. Not needed as they are generated in two clicks if needed.
+.settings
+.project
+.cproject
+
 # /
 /.dummy
 /.dummy.in
 /Makefile
 /Makefile.include
 /aclocal.m4
-/autom4te.cache/
+autom4te.cache
 /build-aux/config.guess
 /build-aux/config.sub
 /build-aux/install-sh
+/build-aux/ltmain.sh
 /build-aux/missing
 /build-aux/ltmain.sh
 /autotools
@@ -110,6 +117,7 @@ config.log
 /addons/visualization.waveform/Waveform_win32.vis
 /addons/visualization.itunes/iTunes.mvis
 /addons/script.module.pil/
+/addons/pvr.*/*.pvr
 
 # /xbmc/guilib/
 /xbmc/guilib/Makefile
@@ -145,6 +153,17 @@ config.log
 /lib/asap/xbmc/xbmc_asap.res
 
 
+# /lib/addons/
+/lib/addons/library.xbmc.addon/Makefile
+/lib/addons/library.xbmc.gui/Makefile
+/lib/addons/library.xbmc.pvr/Makefile
+/lib/addons/library.xbmc.addon/project/VS2010Express/Release
+/lib/addons/library.xbmc.addon/project/VS2010Express/Debug
+/lib/addons/library.xbmc.gui/project/VS2010Express/Release
+/lib/addons/library.xbmc.gui/project/VS2010Express/Debug
+/lib/addons/library.xbmc.pvr/project/VS2010Express/Release
+/lib/addons/library.xbmc.pvr/project/VS2010Express/Debug
+
 # /lib/cmyth/
 lib/cmyth/Makefile
 
@@ -212,6 +231,11 @@ lib/cmyth/Makefile
 /lib/libass/libass/Makefile.in
 /lib/libass/libtool
 /lib/libass/ltmain.sh
+/lib/libass/m4/libtool.m4
+/lib/libass/m4/ltoptions.m4
+/lib/libass/m4/ltsugar.m4
+/lib/libass/m4/ltversion.m4
+/lib/libass/m4/lt~obsolete.m4
 /lib/libass/missing
 /lib/libass/shave/libtool.m4
 /lib/libass/shave/ltoptions.m4
@@ -295,6 +319,7 @@ lib/cmyth/Makefile
 /lib/libapetag/config.h
 /lib/libapetag/install-sh
 /lib/libapetag/libtool
+/lib/libapetag/m4/lt~obsolete.m4
 /lib/libapetag/stamp-h1
 
 # /project
@@ -1123,6 +1148,17 @@ lib/cmyth/Makefile
 /lib/libXDAAP/libXDAAP_win32/Debug
 /lib/libXDAAP/libXDAAP_win32/Release
 
+# /xbmc/osx/
+/xbmc/osx/Makefile
+
+# /portable_data
+/portable_data
+
+# /xbmc/pvrclients
+/xbmc/pvrclients/Makefile.include
+/xbmc/pvrclients/*/.dependencies
+/xbmc/pvrclients/*/Makefile
+
 /xbmc/screensavers/Makefile
 
 /xbmc/screensavers/rsxs-0.9/Makefile
@@ -1220,3 +1256,21 @@ lib/cmyth/Makefile
 /xbmc/visualizations/XBMCProjectM/libprojectM/config.inp
 
 /xbmc/win32/git_rev.h
+
+/addons/library.xbmc.addon/libXBMC_addon.dll
+/addons/library.xbmc.addon/libXBMC_addon.lib
+/addons/library.xbmc.gui/libXBMC_gui.dll
+/addons/library.xbmc.gui/libXBMC_gui.lib
+/addons/library.xbmc.pvr/libXBMC_pvr.dll
+/addons/library.xbmc.pvr/libXBMC_pvr.lib
+
+/addons/pvr.team-mediaportal.tvserver/XBMC_MPTV.lib
+/addons/pvr.hts/XBMC_Tvheadend_win32.lib
+/addons/pvr.vdr.streamdev/XBMC_VDR_win32.lib
+
+/xbmc/pvrclients/MediaPortal/project/VS2010Express/Debug
+/xbmc/pvrclients/MediaPortal/project/VS2010Express/Release
+/xbmc/pvrclients/tvheadend/project/VS2010Express/Debug
+/xbmc/pvrclients/tvheadend/project/VS2010Express/Release
+/xbmc/pvrclients/vdr-streamdev/project/VS2010Express/Debug
+/xbmc/pvrclients/vdr-streamdev/project/VS2010Express/Release
diff --git a/Makefile.in b/Makefile.in
index 9d850e4..bfd10e0 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -42,6 +42,7 @@ DIRECTORY_ARCHIVES=$(DVDPLAYER_ARCHIVES) \
                    xbmc/cores/playercorefactory/playercorefactory.a \
                    xbmc/dbwrappers/dbwrappers.a \
                    xbmc/dialogs/dialogs.a \
+                   xbmc/epg/epg.a \
                    xbmc/filesystem/MusicDatabaseDirectory/musicdatabasedirectory.a \
                    xbmc/filesystem/VideoDatabaseDirectory/videodatabasedirectory.a \
                    xbmc/filesystem/filesystem.a \
@@ -70,6 +71,13 @@ DIRECTORY_ARCHIVES=$(DVDPLAYER_ARCHIVES) \
                    xbmc/playlists/playlists.a \
                    xbmc/powermanagement/powermanagement.a \
                    xbmc/programs/programs.a \
+                   xbmc/pvr/addons/pvraddons.a \
+                   xbmc/pvr/channels/pvrchannels.a \
+                   xbmc/pvr/dialogs/pvrdialogs.a \
+                   xbmc/pvr/pvr.a \
+                   xbmc/pvr/recordings/pvrrecordings.a \
+                   xbmc/pvr/timers/pvrtimers.a \
+                   xbmc/pvr/windows/pvrwindows.a \
                    xbmc/rendering/rendering.a \
                    xbmc/settings/settings.a \
                    xbmc/storage/storage.a \
@@ -157,6 +165,19 @@ ifneq (@DISABLE_GOOM@,1)
   VIS_DIRS+=xbmc/visualizations/Goom
 endif
 
+PVR_DIRS=\
+	xbmc/pvrclients/MediaPortal \
+	xbmc/pvrclients/mythtv \
+	xbmc/pvrclients/mythtv-cmyth \
+	xbmc/pvrclients/vdr-vnsi \
+	xbmc/pvrclients/tvheadend \
+	xbmc/pvrclients/pvr-demo
+
+LIBADDON_DIRS=\
+	lib/addons/library.xbmc.addon \
+	lib/addons/library.xbmc.pvr \
+	lib/addons/library.xbmc.gui \
+
 CONFLUENCE_MEDIA=addons/skin.confluence/media
 SKIN_DIRS=$(CONFLUENCE_MEDIA)
 
@@ -166,7 +187,7 @@ SKIN_DIRS+=$(TOUCHED_MEDIA)
 endif
 
 DIRS= $(BIN_DIRS) $(EC_DIRS) $(XBMCTEX_DIRS) $(DVDPCODECS_DIRS) $(PAPCODECS_DIRS) \
-	$(LIB_DIRS) $(SS_DIRS) $(VIS_DIRS) $(SKIN_DIRS)
+	$(LIB_DIRS) $(SS_DIRS) $(VIS_DIRS) $(PVR_DIRS) $(LIBADDON_DIRS) $(SKIN_DIRS)
 
 LIBS=@LIBS@
 CFLAGS=@CFLAGS@
@@ -187,8 +208,8 @@ all : Makefile externals xbmc.bin xbmc-xrandr skins
 
 include Makefile.include
 
-.PHONY : dllloader exports visualizations screensavers eventclients papcodecs \
-	dvdpcodecs imagelib codecs externals force skins
+.PHONY : dllloader exports pvrclients visualizations screensavers eventclients \
+	papcodecs dvdpcodecs imagelib codecs externals force libaddon skins
 
 # hack targets to keep build system up to date
 Makefile : config.status $(addsuffix .in, $(AUTOGENERATED_MAKEFILES))
@@ -249,6 +270,17 @@ visualizations: $(VIS_DIRS)
 
 screensavers: $(SS_DIRS)
 
[...126514 lines suppressed...]
 
+  if (item.GetPath().Left(17) == "pvr://recordings/")
+  {
+    if (!g_PVRManager.IsStarted())
+      return false;
+
+    /* For recordings we check here for a available stream URL */
+    CPVRRecording *tag = g_PVRRecordings->GetByPath(item.GetPath());
+    if (tag && !tag->m_strStreamURL.IsEmpty())
+    {
+      CStdString stream = tag->m_strStreamURL;
+
+      /* Isolate the folder from the filename */
+      size_t found = stream.find_last_of("/");
+      if (found == CStdString::npos)
+        found = stream.find_last_of("\\");
+
+      if (found != CStdString::npos)
+      {
+        /* Check here for asterix at the begin of the filename */
+        if (stream[found+1] == '*')
+        {
+          /* Create a "stack://" url with all files matching the extension */
+          CStdString ext = URIUtils::GetExtension(stream);
+          CStdString dir = stream.substr(0, found).c_str();
+
+          CFileItemList items;
+          CDirectory::GetDirectory(dir, items);
+          items.Sort(SORT_METHOD_FILE ,SORT_ORDER_ASC);
+
+          vector<int> stack;
+          for (int i = 0; i < items.Size(); ++i)
+          {
+            if (URIUtils::GetExtension(items[i]->GetPath()) == ext)
+              stack.push_back(i);
+          }
+
+          if (stack.size() > 0)
+          {
+            /* If we have a stack change the path of the item to it */
+            CStackDirectory dir;
+            CStdString stackPath = dir.ConstructStackPath(items, stack);
+            item.SetPath(stackPath);
+          }
+        }
+        else
+        {
+          /* If no asterix is present play only the given stream URL */
+          item.SetPath(stream);
+        }
+      }
+      else
+      {
+        CLog::Log(LOGERROR, "CGUIWindowTV: Can't open recording, no valid filename!");
+        CGUIDialogOK::ShowAndGetInput(19033,0,19036,0);
+        return false;
+      }
+    }
+  }
+
   PlayMovie(&item);
 
   return true;
diff --git a/xbmc/win32/stdbool.h b/xbmc/win32/stdbool.h
new file mode 100644
index 0000000..87a5575
--- /dev/null
+++ b/xbmc/win32/stdbool.h
@@ -0,0 +1,53 @@
+/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING.  If not, write to
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, if you include this header file into source
+   files compiled by GCC, this header file does not by itself cause
+   the resulting executable to be covered by the GNU General Public
+   License.  This exception does not however invalidate any other
+   reasons why the executable file might be covered by the GNU General
+   Public License.  */
+
+/*
+* ISO C Standard:  7.16  Boolean type and values  <stdbool.h>
+*/
+
+#ifndef _STDBOOL_H
+#define _STDBOOL_H
+
+#ifndef __cplusplus
+
+#define bool    _Bool
+#define true    1
+#define false   0
+
+#else /* __cplusplus */
+
+/* Supporting <stdbool.h> in C++ is a GCC extension.  */
+#define _Bool   bool
+#define bool    bool
+#define false   false
+#define true    true
+
+#endif /* __cplusplus */
+
+/* Signal that all the definitions are present.  */
+#define __bool_true_false_are_defined   1
+
+#endif  /* stdbool.h */
diff --git a/xbmc/windowing/X11/WinSystemX11GLES.cpp b/xbmc/windowing/X11/WinSystemX11GLES.cpp
index a94906d..12fd010 100644
--- a/xbmc/windowing/X11/WinSystemX11GLES.cpp
+++ b/xbmc/windowing/X11/WinSystemX11GLES.cpp
@@ -135,20 +135,6 @@ bool CWinSystemX11GLES::DestroyWindowSystem()
     m_eglSurface = NULL;
   }
 
-  // Needed???
-  if (m_eglWindow)
-  {
-    XDestroyWindow(m_dpy, m_eglWindow);
-    m_eglWindow = 0;
-  }
-
-  // Needed???
-  if (m_wmWindow)
-  {
-    XDestroyWindow(m_dpy, m_wmWindow);
-    m_wmWindow = 0;
-  }
-
   if (m_eglDisplay)
   {
     eglTerminate(m_eglDisplay);
diff --git a/xbmc/windows/GUIMediaWindow.cpp b/xbmc/windows/GUIMediaWindow.cpp
index 0af0748..3da19cd 100644
--- a/xbmc/windows/GUIMediaWindow.cpp
+++ b/xbmc/windows/GUIMediaWindow.cpp
@@ -825,7 +825,8 @@ bool CGUIMediaWindow::Update(const CStdString &strDirectory)
   if (!bSelectedFound)
     m_viewControl.SetSelectedItem(0);
 
-  m_history.AddPath(m_vecItems->GetPath());
+  if (iWindow != WINDOW_PVR || (iWindow == WINDOW_PVR && m_vecItems->GetPath().Left(17) == "pvr://recordings/"))
+    m_history.AddPath(m_vecItems->GetPath());
 
   //m_history.DumpPathHistory();
 
diff --git a/xbmc/windows/GUIWindowSystemInfo.cpp b/xbmc/windows/GUIWindowSystemInfo.cpp
index dcd1fef..b5d91f7 100644
--- a/xbmc/windows/GUIWindowSystemInfo.cpp
+++ b/xbmc/windows/GUIWindowSystemInfo.cpp
@@ -35,9 +35,10 @@
 #define CONTROL_BT_NETWORK  96
 #define CONTROL_BT_VIDEO    97
 #define CONTROL_BT_HARDWARE 98
+#define CONTROL_BT_PVR      99
 
 #define CONTROL_START       CONTROL_BT_STORAGE
-#define CONTROL_END         CONTROL_BT_HARDWARE
+#define CONTROL_END         CONTROL_BT_PVR
 
 CGUIWindowSystemInfo::CGUIWindowSystemInfo(void)
 :CGUIWindow(WINDOW_SYSTEM_INFORMATION, "SettingsSystemInfo.xml")
@@ -151,6 +152,22 @@ void CGUIWindowSystemInfo::FrameMove()
     SetControlLabel(i++, "%s: %s", 22012, SYSTEM_TOTAL_MEMORY);
     SetControlLabel(i++, "%s: %s", 158, SYSTEM_FREE_MEMORY);
   }
+  else if(m_section == CONTROL_BT_PVR)
+  {
+    SET_CONTROL_LABEL(40,g_localizeStrings.Get(19166));
+    int i = 2;
+
+    SetControlLabel(i++, "%s: %s", 19120, PVR_BACKEND_NUMBER);
+    i++; // empty line
+    SetControlLabel(i++, "%s: %s", 19012, PVR_BACKEND_NAME);
+    SetControlLabel(i++, "%s: %s", 19114, PVR_BACKEND_VERSION);
+    SetControlLabel(i++, "%s: %s", 19115, PVR_BACKEND_HOST);
+    SetControlLabel(i++, "%s: %s", 19116, PVR_BACKEND_DISKSPACE);
+    SetControlLabel(i++, "%s: %s", 19019, PVR_BACKEND_CHANNELS);
+    SetControlLabel(i++, "%s: %s", 19163, PVR_BACKEND_RECORDINGS);
+    SetControlLabel(i++, "%s: %s", 19025, PVR_BACKEND_TIMERS);
+  }
+
   CGUIWindow::FrameMove();
 }
 


--- xbmc-10.1-libpng-1.5.patch DELETED ---


--- xbmc-11.0-libpng-1.5-fix-plt-trn-get.patch DELETED ---


More information about the rpmfusion-commits mailing list