Ticket #2811: serieslink.patch
File serieslink.patch, 4.7 KB (added by , 17 years ago) |
---|
-
libs/libmythtv/eit.h
59 59 const QDateTime &_start, const QDateTime &_end, 60 60 uint _fixup, 61 61 bool _captioned, bool _subtitled, 62 bool _stereo, bool _hdtv) : 62 bool _stereo, bool _hdtv, 63 const QString &_seriesId, const QString &_programId) : 63 64 title(_title), subtitle(_subtitle), 64 65 description(_desc), 65 66 category(_category), … … 70 71 partnumber(0), parttotal(0), 71 72 syndicatedepisodenumber(QString::null), 72 73 fixup(_fixup), flags(0), 73 category_type(_category_type) 74 category_type(_category_type), 75 seriesId(_seriesId), 76 programId(_programId) 74 77 { 75 78 flags |= (_captioned) ? kCaptioned : 0; 76 79 flags |= (_subtitled) ? kSubtitled : 0; … … 136 139 uint32_t fixup; 137 140 unsigned char flags; 138 141 unsigned char category_type; 142 QString seriesId; 143 QString programId; 139 144 140 145 static const unsigned char kCaptioned = 0x1; 141 146 static const unsigned char kSubtitled = 0x2; -
libs/libmythtv/eit.cpp
135 135 " closecaptioned, subtitled, stereo, hdtv, " 136 136 " partnumber, parttotal, " 137 137 " syndicatedepisodenumber, " 138 " airdate, originalairdate " 138 " airdate, originalairdate, " 139 " seriesid, programid " 139 140 "FROM program " 140 141 "WHERE chanid = :CHANID AND " 141 142 " manualid = 0 AND " … … 167 168 query.value(5).toDateTime(), query.value(6).toDateTime(), 168 169 fixup, 169 170 query.value(7).toBool(), query.value(8).toBool(), 170 query.value(9).toBool(), query.value(10).toBool()); 171 query.value(9).toBool(), query.value(10).toBool(), 172 QString::fromUtf8(query.value(16).toString()), 173 QString::fromUtf8(query.value(17).toString()) 174 ); 171 175 172 176 prog.partnumber = query.value(11).toUInt(); 173 177 prog.parttotal = query.value(12).toUInt(); … … 338 342 " partnumber = :PARTNO, parttotal = :PARTTOTAL, " 339 343 " syndicatedepisodenumber = :SYNDICATENO, " 340 344 " airdate = :AIRDATE, originalairdate=:ORIGAIRDATE, " 341 " listingsource = :LSOURCE " 345 " listingsource = :LSOURCE, " 346 " seriesid = :SERIESID, programid = :PROGRAMID " 342 347 "WHERE chanid = :CHANID AND " 343 348 " starttime = :OLDSTART "); 344 349 … … 361 366 query.bindValue(":AIRDATE", lairdate.isEmpty() ? "0000" : lairdate); 362 367 query.bindValue(":ORIGAIRDATE", loriginalairdate); 363 368 query.bindValue(":LSOURCE", 1); 369 query.bindValue(":SERIESID", seriesId.utf8()); 370 query.bindValue(":PROGRAMID", programId.utf8()); 364 371 365 372 if (!query.exec()) 366 373 { -
libs/libmythtv/eithelper.cpp
349 349 category_type = content.GetMythCategory(0); 350 350 } 351 351 352 desc_list_t contentIds = 353 MPEGDescriptor::FindAll(list, DescriptorID::dvb_content_identifier); 354 QString programId = "", seriesId = ""; 355 for (uint j = 0; j < contentIds.size(); j++) 356 { 357 const unsigned char * desc(contentIds[j]); 358 if (desc[2] == 0xc4) 359 { 360 for (uint k = 0; k < desc[3]; k++) 361 programId += (char)desc[k+4]; 362 } 363 else if (desc[2] == 0xc8) 364 { 365 for (uint k = 0; k < desc[3]; k++) 366 seriesId += (char)desc[k+4]; 367 } 368 } 369 352 370 uint chanid = GetChanID( 353 371 eit->ServiceID(), eit->OriginalNetworkID(), eit->TSID()); 354 372 … … 364 382 category, category_type, 365 383 starttime, endtime, fix, 366 384 false, subtitled, 367 stereo, hdtv); 385 stereo, hdtv, 386 seriesId, programId); 368 387 db_events.enqueue(event); 369 388 } 370 389 }