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
for improving resetting CAM connections
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>
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).
- Removed the TUNER_LOCK_TIMEOUT in cDevice::AttachReceiver() since it caused more
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
* 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"
@ -64,11 +64,14 @@ void cSdtFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
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, '>');
// standard, but rather go their own way and use "name>short name" or
// "name, short name":
char *p = strchr(pn, '>'); // fix for UPC Wien
if (!p)
p = strchr(pn, ','); // fix for "Kabel Deutschland"
if (p && p > pn) {
*p++ = 0;
strcpy(ShortNameBuf, p);
strcpy(ShortNameBuf, skipspace(p));
}
}
sd->providerName.getText(ProviderNameBuf, sizeof(ProviderNameBuf));