Fixed adding new source types in case they are already registered

This commit is contained in:
Klaus Schmidinger 2014-03-09 12:11:32 +01:00
parent f8058586f9
commit a9f1297022
5 changed files with 20 additions and 6 deletions

View File

@ -1183,6 +1183,8 @@ Rolf Ahrenberg <Rolf.Ahrenberg@sci.fi>
existing edited version of a recording existing edited version of a recording
for adding code for parsing LCN and AVC descriptors to libsi for adding code for parsing LCN and AVC descriptors to libsi
for fixing clearing non-editable members in the channel editor for fixing clearing non-editable members in the channel editor
for reporting a problem with adding new source types in case they are already
registered
Ralf Klueber <ralf.klueber@vodafone.com> Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark for reporting a bug in cutting a recording if there is only a single editing mark

View File

@ -8203,7 +8203,7 @@ Video Disk Recorder Revision History
- Fixed detecting broken video data streams when recording. - Fixed detecting broken video data streams when recording.
- Fixed handling frame detection buffer length (reported by Eike Sauer). - Fixed handling frame detection buffer length (reported by Eike Sauer).
2014-03-08: Version 2.1.6 2014-03-09: Version 2.1.6
- Revoked "Fixed some compiler warnings with Clang 3.4.1" from ci.c, because this - Revoked "Fixed some compiler warnings with Clang 3.4.1" from ci.c, because this
did not compile with older versions of gcc (thanks to Sören Moch). did not compile with older versions of gcc (thanks to Sören Moch).
@ -8215,3 +8215,5 @@ Video Disk Recorder Revision History
on some HD channels to get stuck and resulted in buffer overflows. on some HD channels to get stuck and resulted in buffer overflows.
- Fixed handling PAT packets when detecting frames, so that they can be properly - Fixed handling PAT packets when detecting frames, so that they can be properly
taken into account when regenerating the index of a recording. taken into account when regenerating the index of a recording.
- Fixed adding new source types in case they are already registered (reported by Rolf
Ahrenberg).

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: sourceparams.c 1.2 2010/03/06 11:13:39 kls Exp $ * $Id: sourceparams.c 3.1 2014/03/09 12:03:09 kls Exp $
*/ */
#include "sourceparams.h" #include "sourceparams.h"
@ -21,8 +21,8 @@ cSourceParam::cSourceParam(char Source, const char *Description)
return; return;
} }
SourceParams.Add(this); SourceParams.Add(this);
if (!strchr("ACST", Source)) // no, it's not "ATSC" ;-) if (!Sources.ContainsSourceType(source))
Sources.Add(new cSource(Source, Description)); Sources.Add(new cSource(source, Description));
dsyslog("registered source parameters for '%c - %s'", source, Description); dsyslog("registered source parameters for '%c - %s'", source, Description);
} }
else else

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: sources.c 3.5 2013/12/28 11:33:08 kls Exp $ * $Id: sources.c 3.6 2014/03/09 12:05:42 kls Exp $
*/ */
#include "sources.h" #include "sources.h"
@ -124,3 +124,12 @@ cSource *cSources::Get(int Code)
} }
return NULL; return NULL;
} }
bool cSources::ContainsSourceType(char SourceType)
{
for (cSource *p = First(); p; p = Next(p)) {
if (cSource::ToChar(p->Code()) == SourceType)
return true;
}
return false;
}

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: sources.h 3.2 2013/08/21 10:27:32 kls Exp $ * $Id: sources.h 3.3 2014/03/09 11:59:49 kls Exp $
*/ */
#ifndef __SOURCES_H #ifndef __SOURCES_H
@ -62,6 +62,7 @@ public:
class cSources : public cConfig<cSource> { class cSources : public cConfig<cSource> {
public: public:
cSource *Get(int Code); cSource *Get(int Code);
bool ContainsSourceType(char SourceType);
}; };
extern cSources Sources; extern cSources Sources;