Opened 14 years ago
Closed 10 years ago
Last modified 10 years ago
#9592 closed Bug Report - General (Fixed)
No updates via eit
Reported by: | Owned by: | Karl Egly | |
---|---|---|---|
Priority: | minor | Milestone: | 0.28 |
Component: | MythTV - EIT | Version: | 0.24-fixes |
Severity: | medium | Keywords: | eit |
Cc: | Ticket locked: | no |
Description
I'm running ubuntu maverick with myth 0.24-fixes but the epg doesn't get updated.
I have (of course) followed the wiki and enabled eit scans on all appropriate places in mythtv-setup. All channel scanning is done via mythtv-setup, but still no network id was provided so i entered it manually into the database. I live in sweden and use the "comhem" dvb-c network. The network id i entered was 40999. I have also started mythbackend with the options "siparser,eit,channel" to verify that it searches for program schedules. And the backend does search, the problem is that it doesn't seem to find any. My television set finds the epg just fine.
If you need any more info or help debugging/testing please let me know. I am willing to spend a lot of time for this to work again.
Thanks for a great peice of software, i've been using it daily since 0.16.
/Peter
Attachments (2)
Change History (30)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
hello i have the same problem with kabsi - can you explain in detail what to do thanks gerald
comment:3 Changed 14 years ago by
I made a rather primitive hack in 3 files (1 is used by the channelscanner, 2 by actally setup grabbing EIT
Diff :
-
libs/libmythtv/channelscan/channelscan_sm.cpp
diff U3 /root/mythtv-0.24/libs/libmythtv/channelscan/channelscan_sm.cpp /root/mythtv-0.24.rc01/libs/libmythtv/channelscan/channelscan_sm.cpp
old new 999 999 { 1000 1000 // HACK beg -- special exception for this network 1001 1001 // (dbver == "1067") 1002 bool force_guide_present = (sdt->OriginalNetworkID() == 70) ;1002 bool force_guide_present = (sdt->OriginalNetworkID() == 70) || (sdt->OriginalNetworkID() == 222); 1003 1003 // HACK end -- special exception for this network 1004 1004 1005 1005 // Figure out best service name and callsign... -
libs/libmythtv/mpeg/dvbtables.cpp
diff U3 /root/mythtv-0.24/libs/libmythtv/mpeg/dvbtables.cpp /root/mythtv-0.24.rc01/libs/libmythtv/mpeg/dvbtables.cpp
old new 103 103 str.append(QString(" Service #%1 SID(0x%2) ") 104 104 .arg(i, 2, 10).arg(ServiceID(i), 0, 16)); 105 105 str.append(QString("eit_schd(%1) eit_pf(%2) encrypted(%3)\n") 106 .arg(HasEITSchedule(i) ? "t" : " f")107 .arg(HasEITPresentFollowing(i) ? "t" : " f")106 .arg(HasEITSchedule(i) ? "t" : "t") 107 .arg(HasEITPresentFollowing(i) ? "t" : "t") 108 108 .arg(IsEncrypted(i) ? "t" : "f")); 109 109 110 110 if (0 != ServiceDescriptorsLength(i)) -
libs/libmythtv/mpeg/dvbstreamdata.cpp
diff U3 /root/mythtv-0.24/libs/libmythtv/mpeg/dvbstreamdata.cpp /root/mythtv-0.24.rc01/libs/libmythtv/mpeg/dvbstreamdata.cpp
old new 408 408 409 409 for (uint i = 0; i < sdt->ServiceCount(); i++) 410 410 { 411 if (sdt->HasEITSchedule(i) || sdt->HasEITPresentFollowing(i) )411 if (sdt->HasEITSchedule(i) || sdt->HasEITPresentFollowing(i) || true ) 412 412 _dvb_has_eit[sdt->ServiceID(i)] = true; 413 413 } 414 414
comment:4 Changed 14 years ago by
These changes look rather silly, but i wanted to leave the original source intact. regards, R.
comment:5 Changed 13 years ago by
Milestone: | 0.24.1 → unknown |
---|---|
Severity: | high → medium |
Resetting milestone/severity to defaults.
comment:6 follow-up: 16 Changed 13 years ago by
Milestone: | unknown → 0.25 |
---|---|
Status: | new → infoneeded_new |
So in summary, the network indicates no EIT is present even if it's there.
It's always best to try fixing these upstream since most times it's not an intentional on behalf of the broadcaster. Has anyone tried contacting them and reporting the fault?
Has anyone tested again a few months later to see if the broadcast tables are still broken?
I don't think we'll accept a patch that enables EIT regardless, so any 'fix' would have to be along the lines of a fixup, an explicit exception for this and other networks with the same problem.
comment:8 Changed 13 years ago by
Replying to stuartm:
Yes, your summary is correct and the error is still there, contacting the cable-provider results in: they will not fix it, because almost every cable receiver shows EIT data on the affected channels and there is no need to fix anything. In my opinion it would not hurt to act slightly out of the specifications, a good compromise would be to show the absence of EIT-indication on channel scan (e.g.: not ticked checkbox) but try to pull data when the user wants the software to do so - software shoud always do what the user tells it, not what the programmer thinks what is the best for the user ;-) - especially if it has no bad side effects.
comment:9 Changed 13 years ago by
Lets see, Peter (the OP) was talking about ComHem? in Sweden and seems to see #10217
The text and the PDF referenced at http://www.comhem.se/comhem/kundservice/hjalp-med-v-ra-tjanster/hjalp-med-tv/fr-gor-och-svar/-/698504/613272/-/index.html suggest that he might also need #7486 and the correct network_id from the PDF.
It would be nice to test if using the values from dvbsnoop on PID 0x12 would unbreak EIT reception for Peter. (use original_network_id and transport_id from the transmitted EIT sections to seed the values in the dtv_multiplex table)
McBlau? and Gerald have the same issue (no epg) but on KabelSignal? in AT and caused by something completely different (wrong signaling of EIT presence)
comment:10 Changed 13 years ago by
Milestone: | 0.25 → 0.26 |
---|
comment:11 Changed 12 years ago by
another round of Sunday code reading inspired by yet another provider messing up their SDT ... (http://www.mythtv.org/pipermail/mythtv-users/2012-July/336884.html DVB-T Greece?)
After digging the standards and MythTV code I actually do like the idea of obeying "useonairguide" even if the signaling is wrong and defaulting "useonairguide" to enabled for known broken providers.
The ServiceDescriptionTable::toString() patch should be left out imho as it makes debugging harder by printing out false data.
comment:12 follow-up: 15 Changed 12 years ago by
Hi there,
having a similar issue on DVB-T transports in Austria. For some reason I am missing EIT for 3 out of 10 channels. Network ID is the same for all 3 transports, which these channels are on. The multiplex table seems fine. It seems though that maybe those 3 missing EITs come from the same transport. How can I check this? What are the tools and options to debug this correctly?
Other that that I would also support being able to manually force reading EIT for them if possible.
comment:13 Changed 12 years ago by
Milestone: | 0.26 → 0.26.1 |
---|
comment:14 Changed 12 years ago by
Keywords: | EIT removed |
---|---|
Owner: | changed from Stuart Auchterlonie to Karl Egly |
Status: | infoneeded_new → assigned |
comment:15 Changed 12 years ago by
Replying to flori@…:
It would be best to track each provider/country in its own ticket as it gets quite confusion when everything is mixed into one ticket. (this ticket already is about Sweden, Austria, DVB-C and DVB-T) Please follow up in a new ticket to avoid confusion.
How can I check this? What are the tools and options to debug this correctly?
The issue of EIT presence not being properly being signaled can be verified by looking at
EIT_schedule_flag: 0 (0x00) EIT_present_following_flag: 0 (0x00)
in the SDT by running "dvbsnoop -n 1 -nph 0x11" while tuned to the transport in question, see http://dvbsnoop.sourceforge.net/examples/example-sdt.html Both should be "1" for services with guide data present.
Changed 12 years ago by
Attachment: | 0015-Obey-useonairguide-and-enable-it-for-kabelplus-DVB-C.patch added |
---|
variant of the patch
comment:16 Changed 12 years ago by
Replying to stuartm:
any 'fix' would have to be along the lines of a fixup, an explicit exception for this and other networks with the same problem.
The original patch and my variant should
a) forcible enable useonairguide for all channels from the same original_network_id in a fixup style at the time of the channel scan. Its up to the user to manually enable useonairguide for providers that are not fixedup, yet.
b) enable passive EIT collection for all channels. With the optimized negative caching in [374937dd] I value the gain when its needed over the cost when its not needed
c) the active scan will still only steer to transports with at least one channel with useonairguide set
I'm not committing it but posting it here for review instead due to b)
McBlau? / Gerald, can you verify that the SDT still does not signal guide presence after the merger of kabelsignal to kabelplus? I'd appreciate if you can test my variant of the patch if it is still needed.
comment:17 Changed 12 years ago by
To Dekarl:
(sdt->OriginalNetworkID() == 65330)" part for my provider's id. |
I tried the second patch but unfortunately it doesn't work for me. Repatching the first one brought EIT back.
If you decide to commit any patch into myth, could you please add my provider (ERT Greece, 65330) to the list of providers?
Best regards,
Yianni.
comment:18 Changed 11 years ago by
Milestone: | 0.26.1 → 0.28 |
---|
comment:19 follow-up: 20 Changed 11 years ago by
Since this problem is 3 years old and I run into it for the second time and lost a lot of time, I would appreciate this problem fixed. Not especially for me, but for the many newbies.
I use the following patch, as my provider does not send correct SDT information:
index 40d056d..c4d1ce9 --- a/mythtv/libs/libmythtv/mpeg/dvbstreamdata.cpp +++ b/mythtv/libs/libmythtv/mpeg/dvbstreamdata.cpp @@ -436,7 +438,7 @@ void DVBStreamData::ProcessSDT(uint tsid, const ServiceDescriptionTable *sdt) for (uint i = 0; i < sdt->ServiceCount(); i++) { - if (sdt->HasEITSchedule(i) || sdt->HasEITPresentFollowing(i)) + if (sdt->HasEITSchedule(i) || sdt->HasEITPresentFollowing(i) || true) _dvb_has_eit[sdt->ServiceID(i)] = true; }
As a user has to set useonairguide explicitly, I don't see anything positive to check the SDT. When the multiplex has no real EPG data it is fine. When it has EPG data it will be processed based on the useonairguide setting. There is no performance profit checking the SDT beforehand. When I am wrong, please explain.
comment:20 Changed 11 years ago by
Replying to angela.schmid@…:
I use the following patch, as my provider does not send correct SDT information:
So fundamentally, your provider sends the SDT out saying they do not have EIT data when actually they do?
comment:21 Changed 11 years ago by
Yes. One channel is correct, where they send 7 days EPG. All other multipex have no correct setting in the SDT, but I need them, as they only contain 24 hours subtitles.
comment:22 Changed 11 years ago by
Here in Switzerland my provider show exactly the same behavior as angela.schmid states, thus I am also living with this dirty hack to have eit data.
comment:23 Changed 11 years ago by
Wow ! This one is rather old and its fun to see activity here again, meanwhile my provider changed his signaling according to the DVB-Specs, so the problem does not affect me anymore, but its good to see that others have benefits from my Q&D patch. Let's hope the developers will change the code to be more tolerant to ignorant providers...
Best, R.
comment:24 Changed 11 years ago by
This is a mean bug. I have troubles atm with my system hanging once a month. I ran into this problem today for the third time. Hope this get fixed for all of us in 0.27-fixes.
comment:25 Changed 11 years ago by
I have the same issue with community channel C31 in Melbourne Australia. I have sent them an email asking them to look into the issue, but I don't hold high hopes for this.
+1 for an override that is controllable by the user and does no harm. Sometimes you need to have work around that is much easier than compiling from source.
comment:27 Changed 10 years ago by
Resolution: | → Fixed |
---|---|
Status: | assigned → closed |
You should now be able to manually set "use on air guide" in the channel editor for any channel in master. I can add an override per original_network_id to the channel scanner, to simply enable EIT for all channels of the network by default. If your provider needs such treatment then please open one ticket per country/provider with the relevant information.
Replying to lugiber@…:
Hi, i had the same Problem and did a little research by myself. My Provider (kabelsignal.at, NID 222) changed Channels at the end of January and no EPG was received by MythTv? from Feb. 1. on until now (TV-Set showed EPG). The reason is, that in the SDT the flags EIT* are missing, a Test with dvbsnoop showed this. I downloaded the source, did changes in 3 files (assuming EPG* flags are always true) and compiled - EPG is here again.
I think the best fix for this Problem would be, that if "useonairguide" is set on a channel, MythTv? should try to pull EIT regardless of what the SDT says.