mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed detection of Premiere NVOD channel links
This commit is contained in:
parent
593013c94c
commit
a1663a3612
1
HISTORY
1
HISTORY
@ -5293,3 +5293,4 @@ Video Disk Recorder Revision History
|
||||
- Made skipspace() an inline function (suggested by Tobias Bratfisch) and changed
|
||||
it to handle the most common case of 'no leading space' very fast, and avoid
|
||||
calling isspace(), which made the whole function a lot faster.
|
||||
- Fixed detection of Premiere NVOD channel links (thanks to anonymous).
|
||||
|
13
channels.c
13
channels.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: channels.c 1.53 2006/05/28 15:03:40 kls Exp $
|
||||
* $Id: channels.c 1.54 2007/07/21 14:55:01 kls Exp $
|
||||
*/
|
||||
|
||||
#include "channels.h"
|
||||
@ -1007,6 +1007,17 @@ cChannel *cChannels::GetByChannelID(tChannelID ChannelID, bool TryWithoutRid, bo
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
cChannel *cChannels::GetByTransponderID(tChannelID ChannelID)
|
||||
{
|
||||
int source = ChannelID.Source();
|
||||
int nid = ChannelID.Nid();
|
||||
int tid = ChannelID.Tid();
|
||||
for (cChannel *channel = First(); channel; channel = Next(channel)) {
|
||||
if (channel->Tid() == tid && channel->Nid() == nid && channel->Source() == source)
|
||||
return channel;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool cChannels::HasUniqueChannelID(cChannel *NewChannel, cChannel *OldChannel)
|
||||
{
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: channels.h 1.43 2007/01/07 14:37:35 kls Exp $
|
||||
* $Id: channels.h 1.44 2007/07/21 14:58:36 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __CHANNELS_H
|
||||
@ -239,6 +239,7 @@ public:
|
||||
cChannel *GetByNumber(int Number, int SkipGap = 0);
|
||||
cChannel *GetByServiceID(int Source, int Transponder, unsigned short ServiceID);
|
||||
cChannel *GetByChannelID(tChannelID ChannelID, bool TryWithoutRid = false, bool TryWithoutPolarization = false);
|
||||
cChannel *GetByTransponderID(tChannelID ChannelID);
|
||||
int BeingEdited(void) { return beingEdited; }
|
||||
void IncBeingEdited(void) { beingEdited++; }
|
||||
void DecBeingEdited(void) { beingEdited--; }
|
||||
|
7
eit.c
7
eit.c
@ -8,7 +8,7 @@
|
||||
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
||||
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
|
||||
*
|
||||
* $Id: eit.c 1.123 2007/06/10 12:51:05 kls Exp $
|
||||
* $Id: eit.c 1.124 2007/07/21 14:58:04 kls Exp $
|
||||
*/
|
||||
|
||||
#include "eit.h"
|
||||
@ -197,7 +197,10 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data, bo
|
||||
link->SetName(linkName, "", "");
|
||||
}
|
||||
else if (Setup.UpdateChannels >= 4) {
|
||||
link = Channels.NewChannel(channel, linkName, "", "", ld->getOriginalNetworkId(), ld->getTransportStreamId(), ld->getServiceId());
|
||||
cChannel *transponder = channel;
|
||||
if (channel->Tid() != ld->getTransportStreamId())
|
||||
channel = Channels.GetByTransponderID(linkID);
|
||||
link = Channels.NewChannel(transponder, linkName, "", "", ld->getOriginalNetworkId(), ld->getTransportStreamId(), ld->getServiceId());
|
||||
//XXX patFilter->Trigger();
|
||||
}
|
||||
if (link) {
|
||||
|
Loading…
Reference in New Issue
Block a user