summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--server/connectionVTP.c26
3 files changed, 27 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 38882e3..9f5e570 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -125,6 +125,7 @@ Artem Makhutov
Alwin Esch
for adding XBMC support by extending VTP capabilities
+ for adding VDR 1.7.11 parental rating support for VTP LSTE command
BBlack
for reporting that updating recordings list on CmdPLAY is a bad idea
diff --git a/HISTORY b/HISTORY
index 84723ac..49441fc 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,8 @@
VDR Plugin 'streamdev' Revision History
---------------------------------------
+- added VDR 1.7.11 parental rating support for VTP LSTE command (thanks to
+ Alwin Esch)
- added Lithuanian translation (thanks to Valdemaras Pipiras)
- fixed missing virtual destructor for cTSRemux
- added defines for large file support to Makefile as required by VDR 1.7.4+
diff --git a/server/connectionVTP.c b/server/connectionVTP.c
index 5144457..9cdaaca 100644
--- a/server/connectionVTP.c
+++ b/server/connectionVTP.c
@@ -1,5 +1,5 @@
/*
- * $Id: connectionVTP.c,v 1.25 2009/10/13 06:38:47 schmirl Exp $
+ * $Id: connectionVTP.c,v 1.26 2010/01/29 11:44:52 schmirl Exp $
*/
#include "server/connectionVTP.h"
@@ -40,6 +40,9 @@ private:
#if defined(USE_PARENTALRATING) || defined(PARENTALRATINGCONTENTVERSNUM)
enum eStates { Channel, Event, Title, Subtitle, Description, Vps, Content,
EndEvent, EndChannel, EndEPG };
+#elif APIVERSNUM >= 10711
+ enum eStates { Channel, Event, Title, Subtitle, Description, Vps, Content, Rating,
+ EndEvent, EndChannel, EndEPG };
#else
enum eStates { Channel, Event, Title, Subtitle, Description, Vps,
EndEvent, EndChannel, EndEPG };
@@ -282,7 +285,7 @@ bool cLSTEHandler::Next(bool &Last)
break;
case Vps:
-#if defined(USE_PARENTALRATING) || defined(PARENTALRATINGCONTENTVERSNUM)
+#if defined(USE_PARENTALRATING) || defined(PARENTALRATINGCONTENTVERSNUM) || APIVERSNUM >= 10711
m_State = Content;
#else
m_State = EndEvent;
@@ -308,6 +311,25 @@ bool cLSTEHandler::Next(bool &Last)
} else
return Next(Last);
break;
+#elif APIVERSNUM >= 10711
+ case Content:
+ m_State = Rating;
+ if (!isempty(m_Event->ContentToString(m_Event->Contents()))) {
+ char *copy = strdup(m_Event->ContentToString(m_Event->Contents()));
+ cString cpy(copy, true);
+ strreplace(copy, '\n', '|');
+ return m_Client->Respond(-215, "G %i %i %s", m_Event->Contents() & 0xF0, m_Event->Contents() & 0x0F, copy);
+ } else
+ return Next(Last);
+ break;
+
+ case Rating:
+ m_State = EndEvent;
+ if (m_Event->ParentalRating())
+ return m_Client->Respond(-215, "R %d", m_Event->ParentalRating());
+ else
+ return Next(Last);
+ break;
#endif
case EndEvent: