[PVR] Can we remove the need for unique broadcast ID for EPG entries?

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
dteirney Offline
Team-XBMC Developer
Posts: 830
Joined: Jul 2007
Reputation: 6
Location: New Zealand
Question  [PVR] Can we remove the need for unique broadcast ID for EPG entries?
Post: #1
It appears like each EPG entry requires a unique integer ID for each TV show. I presume this is something to do with the database keys.

Found this issue because nothing is showing up in my EPG, likely due to lots of the following in the xbmc.log:
"PVRDB - UpdateEpgEntry - invalid EPG tag"

On investigation, this is because the broadcast ID hasn't been set, which is probably because the epg.id struct field wasn't being filled in.

The MythXML interface doesn't provide any sort of unique ID for an EPG entry. Crafting one as an integer will be cumbersome.

Is it possible to instead uniquely identify each show in the EPG database by the channel number and the start time?

Alternatively, can the unique ID be a string and I'll combine the channel number and the start time within the MythTV addon as the unique ID.

Use MythTV for recording TV? Try the integrated MythTV support in XBMC Media Center. Now with commercial skip support built-in and integration with the Movie database!
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,218
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #2
don't have time now, but I'll respond to these questions (and the one you posed on irc) later today.

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,218
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #3
Sorry for the late response. Bit busy today Smile

I wanted to use a unique ID to identify the same program across backends. I thought xmltv uses some sort of unique ID for each program, but I'm not sure about that one.

Channel number + start time doesn't work if you're using multiple backends, so I'll have to use the backend id too for the methods that are currently using it. If we want to use string values, we'd have to allow varchar columns in the db abstraction, or we can't use an index on that column.

I'll make the unique id optional.

Quote:Second one is to do with the channel number vs channel id. Myth deals with channel ID for most things. Channel number is only really used for the remote shortcut stuff. Some of the data API's only return the channel ID from the mythbackend. Not sure what the other PVR's are like in this regard. I'll need to retain a channel number to channel ID in the addon to do conversion for some of the data interfaces.
You can use the channel ID instead, as long as you use it in all places.

Quote:Biggest data / interface headache is going to be with the schedules. Myth things of schedules more than just as "record on this channel at this time block". List of types of recordings that Myth understands at http://www.mythtv.org/wiki/Record_table
For example, in MythTV land you can say "Record this show on any channel at any time of the day" or "Record this show once weekly on this channel"

I'd like the XBMC scheduling interface to be much simpler than the MythTV interface because 80+% of the time the MythTV has way too many options. XBMC will still need to show information about the schedules already in MythTV though.
I agree. We should discuss this on IRC.

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote
dteirney Offline
Team-XBMC Developer
Posts: 830
Joined: Jul 2007
Reputation: 6
Location: New Zealand
Post: #4
dushmaniac Wrote:Channel number + start time doesn't work if you're using multiple backends, so I'll have to use the backend id too for the methods that are currently using it. If we want to use string values, we'd have to allow varchar columns in the db abstraction, or we can't use an index on that column.

I'll make the unique id optional.

Awesome.

dushmaniac Wrote:You can use the channel ID instead, as long as you use it in all places.

What impact will this have on the UI, e.g. the channel number is what should be displayed in the UI, e.g. "1" for "TV ONE" rather than the channel ID of "1002".

If XBMC will support zipping to a channel number using a remote when watching Live TV that might also be a problem. I'll maintain an in memory map of channel IDs to channel numbers for the moment if the other PVR implementations are happily working with channel number.

Use MythTV for recording TV? Try the integrated MythTV support in XBMC Media Center. Now with commercial skip support built-in and integration with the Movie database!
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,218
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #5
dteirney Wrote:What impact will this have on the UI, e.g. the channel number is what should be displayed in the UI, e.g. "1" for "TV ONE" rather than the channel ID of "1002".
the channel number in xbmc isn't the same as the channel number on your backend. the only thing it's really being used for is the initial sorting of the channels list after you added a backend. if it is used for anything else, then it will (have to be) removed.

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,218
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #6
hmm, I didn't think about this properly. a consequence of removing the need of a unique id per channel would be that the ClientChannelNumber may not change for a channel. that's something that cannot be guaranteed for tvheadend (and I think for other backends too).

so you'll have to keep a channel id list internally in the addon if it's not provided by the backend.

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote
dteirney Offline
Team-XBMC Developer
Posts: 830
Joined: Jul 2007
Reputation: 6
Location: New Zealand
Post: #7
MythTV has a unique channel ID per channel. Each channel also has a channel number - something that is meaningful to the user.

Most of the exposed APIs in MythTV pass back the unique channel ID. I'll try and touch base with you on IRC tomorrow morning NZ time to clarify.

Use MythTV for recording TV? Try the integrated MythTV support in XBMC Media Center. Now with commercial skip support built-in and integration with the Movie database!
find quote
opdenkamp Offline
Team-XBMC PVR Developer
Posts: 2,218
Joined: Feb 2009
Reputation: 29
Location: Heerlen, The Netherlands
Post: #8
oh meeh. that's what you get when you're posting after midnight. the epg entry's unique ID can be removed, the unique channel ID can't.

#stupidme Smile

opdenkamp / dushmaniac

xbmc-pvr [Eden-PVR builds] [now included in mainline XBMC, so no more source link here :)]
personal website: [link]

Found a problem with PVR? Report it on Trac, under "PVR - core components". Please attach the full debug log.

If you like my work, please consider donating to me and/or Team XBMC.
find quote