Ticket #3374: arena.diff

File arena.diff, 2.6 KB (added by Wolfgang <mythtv@…>, 17 years ago)
  • libs/libmythtv/eithelper.cpp

     
    387387                    seriesId = desc.ContentId();
    388388            }
    389389        }
     390       
     391        // The german station arena uses the premiere direct feeds to broacast
     392        // sport events like the german bundesliga on some cable providers.
     393        // Use the linkage descriptor to fill the epg with these sport events.
     394        desc_list_t linkages =
     395             MPEGDescriptor::FindAll(list, DescriptorID::linkage);
     396        if ((eit->ServiceID()==50)&&(linkages.size()>0))
     397        {
     398            for(uint j=0;j<linkages.size();j++)
     399            {   
     400                LinkageDescriptor linkage(linkages[j]);
     401                uint networkid         = linkage.OriginalNetworkID();
     402                uint tsid              = linkage.TSID();
     403                uint serviceid         = linkage.ServiceID();
     404                uint linkagetype       = linkage.LinkageType();
     405                unsigned char enc_ch[1] = { 0x05 };
     406                const unsigned char *enc =
     407                    (fix & EITFixUp::kFixPremiere) ? enc_ch : NULL;
     408                QString subevent       = dvb_decode_text(linkage.PrivateData_N8(),linkage.PrivateDataLength_N8(),enc,1);
    390409
     410                uint chanid = GetChanID(serviceid,networkid,tsid);
     411
     412                VERBOSE(VB_EIT, LOC + QString("NIT:%1 TID:%2 SID:%3 TITLE:%4 %5").arg(networkid).arg(tsid).arg(serviceid).arg(title).arg(subevent));
     413                if (!chanid)
     414                    continue;
     415
     416                QDateTime starttime = MythUTCToLocal(eit->StartTimeUTC(i));
     417                EITFixUp::TimeFix(starttime);
     418                QDateTime endtime   = starttime.addSecs(eit->DurationInSeconds(i));
     419
     420                DBEvent *event = new DBEvent(chanid,
     421                                             title,     subevent,      subevent,
     422                                             QObject::tr("Sports"),  kCategorySports,
     423                                             starttime, endtime,       fix,
     424                                             false,     subtitled,
     425                                             stereo,    hdtv,
     426                                             "",    "");
     427                db_events.enqueue(event);
     428               
     429            }
     430        }
     431       
     432
    391433        QDateTime starttime = MythUTCToLocal(eit->StartTimeUTC(i));
    392434        EITFixUp::TimeFix(starttime);
    393435        QDateTime endtime   = starttime.addSecs(eit->DurationInSeconds(i));