summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorDave <vdr@pickles.me.uk>2011-08-25 11:49:36 +0100
committerDave <vdr@pickles.me.uk>2011-08-25 11:49:36 +0100
commitb45ad0563be48c5548d846d9e1f3426381ccd529 (patch)
tree07c5432039a71c9d990659ad1467ff00ca41321f /plugin
parent6d8eee432b613a41ab8da095c3d6a8c892df20a2 (diff)
downloadvdrtva-b45ad0563be48c5548d846d9e1f3426381ccd529.tar.gz
vdrtva-b45ad0563be48c5548d846d9e1f3426381ccd529.tar.bz2
Fixed collection of Default Authority list.
Diffstat (limited to 'plugin')
-rw-r--r--plugin/vdrtva.c37
1 files changed, 18 insertions, 19 deletions
diff --git a/plugin/vdrtva.c b/plugin/vdrtva.c
index 7790713..95ad231 100644
--- a/plugin/vdrtva.c
+++ b/plugin/vdrtva.c
@@ -714,25 +714,24 @@ void cTvaFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length
SI::SDT::Service SiSdtService;
for (SI::Loop::Iterator it; sdt.serviceLoop.getNext(SiSdtService, it); ) {
cChannel *chan = Channels.GetByChannelID(tChannelID(Source(),sdt.getOriginalNetworkId(),sdt.getTransportStreamId(),SiSdtService.getServiceId()));
- if (!chan) {
- return;
- }
- cChanDA *chanDA = ChanDAs->GetByChannelID(chan->Number());
- if (!chanDA) {
- SI::Descriptor *d;
- for (SI::Loop::Iterator it2; (d = SiSdtService.serviceDescriptors.getNext(it2)); ) {
- switch (d->getDescriptorTag()) {
- case SI::DefaultAuthorityDescriptorTag: {
- SI::DefaultAuthorityDescriptor *da = (SI::DefaultAuthorityDescriptor *)d;
- char DaBuf[Utf8BufSize(1024)];
- da->DefaultAuthority.getText(DaBuf, sizeof(DaBuf));
- chanDA = ChanDAs->NewChanDA(chan->Number());
- chanDA->SetDA(DaBuf);
- }
- break;
- default: ;
- }
- delete d;
+ if (chan) {
+ cChanDA *chanDA = ChanDAs->GetByChannelID(chan->Number());
+ if (!chanDA) {
+ SI::Descriptor *d;
+ for (SI::Loop::Iterator it2; (d = SiSdtService.serviceDescriptors.getNext(it2)); ) {
+ switch (d->getDescriptorTag()) {
+ case SI::DefaultAuthorityDescriptorTag: {
+ SI::DefaultAuthorityDescriptor *da = (SI::DefaultAuthorityDescriptor *)d;
+ char DaBuf[Utf8BufSize(1024)];
+ da->DefaultAuthority.getText(DaBuf, sizeof(DaBuf));
+ chanDA = ChanDAs->NewChanDA(chan->Number());
+ chanDA->SetDA(DaBuf);
+ }
+ break;
+ default: ;
+ }
+ delete d;
+ }
}
}
}