Fixed detecting short channel names for "Kabel Deutschland"

This commit is contained in:
Klaus Schmidinger 2005-08-27 09:29:30 +02:00
parent 7ef6d79884
commit fe37211da0
3 changed files with 10 additions and 4 deletions

View File

@ -1214,6 +1214,7 @@ Marco Schl
is waiting is waiting
for improving resetting CAM connections for improving resetting CAM connections
for fixing handling EPG data for time shifted events for fixing handling EPG data for time shifted events
for fixing detecting short channel names for "Kabel Deutschland"
Jürgen Schmitz <j.schmitz@web.de> Jürgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP for reporting a bug in displaying the current channel when switching via the SVDRP

View File

@ -3732,3 +3732,5 @@ Video Disk Recorder Revision History
report that lead to this). report that lead to this).
- Removed the TUNER_LOCK_TIMEOUT in cDevice::AttachReceiver() since it caused more - Removed the TUNER_LOCK_TIMEOUT in cDevice::AttachReceiver() since it caused more
trouble than it fixed. trouble than it fixed.
- Fixed detecting short channel names for "Kabel Deutschland", who uses a comma
as delimiter (thanks to Marco Schlüßler).

11
sdt.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: sdt.c 1.14 2005/05/14 09:39:46 kls Exp $ * $Id: sdt.c 1.15 2005/08/27 09:27:47 kls Exp $
*/ */
#include "sdt.h" #include "sdt.h"
@ -64,11 +64,14 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
char *ps = compactspace(ShortNameBuf); char *ps = compactspace(ShortNameBuf);
if (!*ps && cSource::IsCable(Source())) { if (!*ps && cSource::IsCable(Source())) {
// Some cable providers don't mark short channel names according to the // Some cable providers don't mark short channel names according to the
// standard, but rather go their own way and use "name>short name": // standard, but rather go their own way and use "name>short name" or
char *p = strchr(pn, '>'); // "name, short name":
char *p = strchr(pn, '>'); // fix for UPC Wien
if (!p)
p = strchr(pn, ','); // fix for "Kabel Deutschland"
if (p && p > pn) { if (p && p > pn) {
*p++ = 0; *p++ = 0;
strcpy(ShortNameBuf, p); strcpy(ShortNameBuf, skipspace(p));
} }
} }
sd->providerName.getText(ProviderNameBuf, sizeof(ProviderNameBuf)); sd->providerName.getText(ProviderNameBuf, sizeof(ProviderNameBuf));