Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#1155 closed defect (fixed)

EIT helper only updates first DVB card's EPG data

Reported by: dan.sheridan@… Owned by: danielk
Priority: minor Milestone: 0.20
Component: dvb Version: head
Severity: medium Keywords:
Cc: Ticket locked: no


I have just added a second DVB card to my system. The first DVB card continues to get updated EPG data from the UK DVB EPG. The second card has no data for any of its channels.

In my logs I see, for example,

2006-01-30 17:03:14.436 MSqlQuery: SELECT chanid, useonairguide FROM channel, dtv_multiplex WHERE serviceid = 14592 AND       networkid = 9018 AND       transportid = 12290 AND       channel.mplexid = dtv_multiplex.mplexid

Running this in mysql gives me

| chanid | useonairguide |
|   1196 |             1 |
|   6196 |             1 |

but the code in eithelper.cpp only uses the first chanid for updating the database. The second chanid is discarded.

Attachments (1)

dvb-multiple-eit2.diff (6.6 KB) - added by anonymous 15 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 15 years ago by danielk

Milestone: 0.20
Priority: majorminor
Version: head

Changed 15 years ago by anonymous

Attachment: dvb-multiple-eit2.diff added

comment:2 Changed 15 years ago by dan.sheridan@…

Type: defectpatch

Attached patch fixes it for me. I've addressed the comment in eithelper.cpp:

 *  NOTE: This currently takes a mplexid key for the dtv_multiplex table,
 *        but it should just take a sourceid key for the channel table.

comment:3 Changed 15 years ago by danielk

Type: patchdefect

I'm not going to use the patch since this code will be changed greatly in the EIT rewrite.

But I'm keeping the ticket open.

Can you describe what is happening in more detail. Am I to understand that when card 2 does a scan it never inserts anything because it gets the mplexid for the same channel on card 1, and when finds that it doesn't match the current channel it tosses the data?

comment:4 Changed 15 years ago by dan.sheridan@…

The code as written takes the first result from the query that I pasted in and discards the others, so the channel data for card 1 gets updated every time, even though the data originated from card 2. So no data ever gets inserted for card 2's channels, just for card 1's channels.

Can I pursuade you to use the patch as an interim measure? -- it's not very invasive...

comment:5 Changed 15 years ago by danielk

Resolution: fixed
Status: newclosed

(In [9046]) Closes #1155. Make sure EIT scanner updates the right source if a channel exists on multiple transports with exactly the same params.

comment:6 Changed 15 years ago by dan.sheridan@…

Thanks very much Daniel!

Note: See TracTickets for help on using tickets.