summaryrefslogtreecommitdiff
path: root/sdt.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-05-14 09:47:06 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2005-05-14 09:47:06 +0200
commitd7053e30ac3e971e8b27d2ae16b000e60cf302e3 (patch)
tree398d359550521e656503fd31d24804321cb5152b /sdt.c
parent06e038b6fb9f2fe8882a8f5ffd9112504e3a45ad (diff)
downloadvdr-d7053e30ac3e971e8b27d2ae16b000e60cf302e3.tar.gz
vdr-d7053e30ac3e971e8b27d2ae16b000e60cf302e3.tar.bz2
Using '>' as separator for short channel names on cable channels
Diffstat (limited to 'sdt.c')
-rw-r--r--sdt.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sdt.c b/sdt.c
index 8bb70092..dcf6dc1b 100644
--- a/sdt.c
+++ b/sdt.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: sdt.c 1.13 2004/10/31 12:10:20 kls Exp $
+ * $Id: sdt.c 1.14 2005/05/14 09:39:46 kls Exp $
*/
#include "sdt.h"
@@ -62,6 +62,15 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
sd->serviceName.getText(NameBuf, ShortNameBuf, sizeof(NameBuf), sizeof(ShortNameBuf));
char *pn = compactspace(NameBuf);
char *ps = compactspace(ShortNameBuf);
+ if (!*ps && cSource::IsCable(Source())) {
+ // Some cable providers don't mark short channel names according to the
+ // standard, but rather go their own way and use "name>short name":
+ char *p = strchr(pn, '>');
+ if (p && p > pn) {
+ *p++ = 0;
+ strcpy(ShortNameBuf, p);
+ }
+ }
sd->providerName.getText(ProviderNameBuf, sizeof(ProviderNameBuf));
char *pp = compactspace(ProviderNameBuf);
if (channel) {