Opened 19 years ago
Closed 16 years ago
#2695 closed task (fixed)
Channel Scanner cleanup
| Reported by: | danielk | Owned by: | danielk |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.22 |
| Component: | channelscan | Version: | head |
| Severity: | low | Keywords: | |
| Cc: | Stuart Auchterlonie | Ticket locked: | yes |
Description (last modified by )
I'm working on making the Channel Scanner more maintainable and fixing some lingering bugs. This ticket is just to track the progress.
DONE
- It is possible to start the scanner before you set the video source in input connections pane. [fixed in patch]
- It is possible to start the scanner from the channel editor, even if no scannable sources exist. [fixed in patch].
- The scan wizard does not prefer the current card and card input if you launch it from the input connections pane [fixed in patch].
- The scan wizard does not prefer the current source if you launch it from the channel editor pane [fixed in patch].
- The scan wizard does not show always you which card and input it will use when scanning [fixed in patch].
- The scan wizard does not handle multiple input cards correctly. [DONE]
- We should make the Analog scanner work more like the normal channel scanners; at the moment it uses a completely different and mostly unmaintained class for scanning which does not play well with XMLTV or DataDirect channel insertion, does not handle inputs correctly, etc. [DONE]
TODO
- The scan wizard classes interact in strange ways: functional classes access private portions of the UI classes, the ScanWizard fires off events just to run functions it could call directly, etc. [partially fixed in patch]
- #2600 Channel scanner stops scanning after finding (C)VCT
- We need to separate finding channels and inserting them [DONE]
- We should report channels which are in a channels.conf import, but were not found by the scanner (and perhaps allow these to be inserted anyway).
- We should report channels which are in the PAT and have a PMT, but do not show up in a VCT and allow the user to insert these. [DONE]
- We should optionally allow the user to wait for the PAT and PMTs even after a VCT has been found.
- #1866 DVB Scanning - Remaining Issues
- Tuned Scan does not use the information found in the NIT to find other transports to scan, as it did in previous releases.
- Other????
Attachments (8)
Change History (121)
by , 19 years ago
| Attachment: | 2695-v1.patch added |
|---|
comment:1 by , 19 years ago
| Owner: | changed from to |
|---|---|
| Severity: | medium → low |
| Status: | new → assigned |
| Version: | 0.20 → head |
comment:2 by , 19 years ago
(In [11772]) Refs #2695. Fixes a few minor problems with the channel scanner UI and improves the UI/scanner interface.
The problems fixed are:
- It is possible to start the scanner before you set the video source in input connections pane.
- It is possible to start the scanner from the channel editor, even if no scannable sources exist.
- The scan wizard does not prefer the current card and card input if you launch it from the input connections pane.
- The scan wizard does not prefer the current source if you launch it from the channel editor pane.
- The scan wizard does not show always you which card and input it will use when scanning.
The SIScan class itself hasn't been touched in this changeset, I will be fixing some of the functional problems separately.
comment:3 by , 19 years ago
Plus answer these questions (in the ticket):
- Are you using DiSEqC?
no
- How many cards is this source connected to?
only one
comment:4 by , 19 years ago
Commit [11816] should have referenced this ticket: Reworks analog channel scanner to use the standard classes and makes it compatible with datadirect channel updates.
comment:5 by , 19 years ago
(In [12183]) Fixes #2756. Refs #2695. Allows scanner to work properly when DiSEqC input is connected to a source which is also connected to another DiSEqC input.
Before the refactors in #2695 we did not know which input we were scanning so each input had to be connected to a different source, even if the two sources contained the same channels. Now we pass the inputname to the scanner so that it knows which input it should scan if a source is connected to multiple inputs.
comment:7 by , 19 years ago
(In [12419]) Refs #2695. Removes some unused parameters in DiSEqC setup.
These were added to try to simplify DiSEqC setup, but it turned out that fine tuning a DiSEqC setup is a common operation for FTA hobbists so I removed the simplifying code. This removes the paramaters that were used to enable and disable the simple input connections panel but are now unused.
comment:8 by , 19 years ago
I have some problems concerning the scanner too: In my case mythtv is not able to find the some channels even if they were first imported correctly from a channels.conf file (and after that deleted so that mythtv can do the scanning again to make EPG working on these channels): A scan on all known transponders does not give some "special" channles: The "Premiere Direkt" (and other pay per view) channels are missing.
Maybe there is a workaround to fix the database manualy to get EPG working with these few imported channels which the mythtv scanner does not find. I looked into the mythconverg database and found that the cause for the missing EPG maybe lies in the table "dtv_multiplex". For channels which are impoted from a channels.conf file, the "transportid" and "netwokid" in the corresponding entry of the "dtv_multiplex" seems to be alway NULL in comparison to the entries that were made when mythtv does the scanning. Is it possible to fix the EPG on theses channels by fixing this table? Or which other information is missing in the database to get EPG working? And how can this be fixed by hand?
comment:9 by , 19 years ago
comment:10 by , 19 years ago
(In [13257]) Refs #2695. Applies channel scanner patch to channel scanner branch.
This is not a working scanner, it will not insert any channels into the DB. What it does is put all the channels it finds into a data structure which can be processed to insert channels into the DB. The idea is to have all the information we can get before we start inserting the channels, this allows us to address problems such as #3119 where all the channels have the same major and minor channel numbers according to the info in the streams and so that info should be ignored.
comment:11 by , 19 years ago
| Cc: | added |
|---|
comment:12 by , 19 years ago
(In [13397]) Refs #2695. Merges -r13256:13396 from svn head to mythtv-channel-scanner
comment:13 by , 19 years ago
(In [13401]) Refs #2695. Refs #2053. Adds facility for saving newly scanned channels to the DB before processing them for DB insertion. This allows for debugging scans that don't resemble the developer's setup and also should allow for interactive processing in the frontend of automated channel scans in the future.
comment:14 by , 19 years ago
| Component: | mythtv → channelscan |
|---|
comment:15 by , 19 years ago
comment:16 by , 18 years ago
(In [14288]) Refs #3326. Merges r13396:14286 from trunk to mythtv-channel-scanner.
comment:17 by , 18 years ago
(In [14613]) Refs #2695. Merges r14286:14612 from trunk to mythtv-channel-scanner
comment:18 by , 18 years ago
comment:19 by , 18 years ago
(In [14752]) Refs #2695. Merges r14612:14749 from trunk to mythtv-channel-scanner
comment:20 by , 18 years ago
(In [14910]) Refs #2695 Merges r14855:14908 from svn trunk to mythtv-channel-scan.
comment:21 by , 18 years ago
(In [14928]) Refs #2695. Merges r14908:14926 from trunk to mythtv-channel-scan
comment:22 by , 18 years ago
| Milestone: | 0.21 → 0.22 |
|---|
comment:23 by , 18 years ago
(In [17055]) Refs #2695. Partial merge to mythtv-channel-scan from trunk r14926:16500
comment:24 by , 18 years ago
(In [17056]) Refs #2695. Partial merge to mythtv-channel-scan from trunk r16000:16500
comment:25 by , 18 years ago
(In [17057]) Refs #2695. Partial merge to mythtv-channel-scan from trunk r16500:17056
comment:26 by , 18 years ago
(In [17103]) Refs #2695. Fixes some things missed in the merge from from trunk r14926:17056
comment:27 by , 18 years ago
(In [17104]) Refs #2695. Finshes merge of files from trunk r14926:17056
comment:28 by , 18 years ago
comment:29 by , 18 years ago
comment:30 by , 18 years ago
comment:31 by , 18 years ago
comment:32 by , 18 years ago
comment:33 by , 18 years ago
(In [17173]) Refs #2695. Merges r17120:17172 from trunk to channel scanner branch.
comment:34 by , 18 years ago
comment:36 by , 18 years ago
comment:37 by , 18 years ago
comment:38 by , 17 years ago
(In [17601]) Refs #2695. Merges r17172:17300 from trunk to channel scanner branch.
comment:39 by , 17 years ago
(In [17605]) Refs #2695. Merges r17300:17400 from trunk to channel scanner branch.
comment:40 by , 17 years ago
(In [17606]) Refs #2695. Merges r17500:17605 from trunk to channel scanner branch.
comment:41 by , 17 years ago
comment:42 by , 17 years ago
comment:43 by , 17 years ago
comment:44 by , 17 years ago
comment:45 by , 17 years ago
comment:46 by , 17 years ago
comment:47 by , 17 years ago
comment:48 by , 17 years ago
comment:49 by , 17 years ago
comment:51 by , 17 years ago
comment:52 by , 17 years ago
comment:53 by , 17 years ago
comment:54 by , 17 years ago
(In [17776]) Refs #2695. Merges r17605:17771 from head to mythtv-channel-scanner.
by , 17 years ago
| Attachment: | setup-cs-branch2.log.bz2 added |
|---|
Log of --verbose channelscan,siparser,channel,record from the branch doing a full scan
by , 17 years ago
| Attachment: | setup-svn-head.log.bz2 added |
|---|
Log of setup with --verbose siparser,channel,record against head 17783
comment:55 by , 17 years ago
Regressions noted in the channel scanner branch against head.
- UK LCNs are not picked up nor used.
- UK default authority descriptors are not retrieved from the SDT anymore
- Masses of duplicated channels. Total found = 264(branch) vs 82(head)
- Found some SCTE channels apparently.
- Takes *way* longer to run in the branch.
It appears that it's sitting on each frequency until it hits a timeout while in head it finds all the tables it needs and then proceeds.
Are we hitting a fallback case for broken providers even though we aren't broken?
Stuart
comment:56 by , 17 years ago
Forgot to mention, i've attached logs of both head & branch performing the same full scan.
I've also attached the resulting channel table for each run.
Stuart
comment:57 by , 17 years ago
(In [17795]) Refs #2695. Merges r17771:17794 from trunk to mythtv-channel-scanner.
comment:58 by , 17 years ago
(In [17943]) Refs #2695. Merges r17794:17942 from trunk to mythtv-channel-scanner.
comment:59 by , 17 years ago
Is it possible while working on the channelscanner to include a option to import channels without MythTV checking if the channels are correct? I'm basicly suggesting a "raw import" function besides the existing "checked imported function".
I'm asking because currently MythTV is checking the imported DVB channels following the DVB standard stricly and with this it's not possible to import correct channels when your cableprovider is using a single network id to broadcast channel information.
Of course it would be great if the import function can be fixed to make automaticly scanning work as well, but this is propably a lot more work. I can setup up a test machine if needed for this.
I'm currently adding new chapters about DVB-s/c/t to the official en wiki based manual. Can you let me know if any of this will be build/fixed? I like to include it in the manual. (you can post it on my personal page or discuss it on the myth-dev mailing list). At this moment i'm importing the channel information directly into the database, but this is not something i'm willing to suggest in a manual.
Related topics:
comment:60 by , 17 years ago
Loki, with the new scanner it is really just a matter of writing the UI for it, it keeps all the channel information throughout, including the channels in the channels.conf it did not find any additional info for.
comment:61 by , 17 years ago
(In [19421]) Refs #2695. Merges r17942:18000 from trunk to mythtv-channel-scan
comment:62 by , 17 years ago
(In [19422]) Refs #2695. Merges r18000:19416 from trunk to mythtv-channel-scan
comment:63 by , 17 years ago
(In [19423]) Refs #2695. Merges r19416:19422 from trunk to mythtv-channel-scan
comment:64 by , 17 years ago
(In [19892]) Refs #2695. Merges r19422:19887 from trunk to mythtv-channel-scan
comment:65 by , 17 years ago
comment:66 by , 17 years ago
comment:68 by , 17 years ago
comment:69 by , 17 years ago
comment:70 by , 17 years ago
comment:71 by , 17 years ago
comment:72 by , 17 years ago
comment:73 by , 17 years ago
comment:76 by , 17 years ago
comment:77 by , 17 years ago
comment:78 by , 17 years ago
| Description: | modified (diff) |
|---|
comment:79 by , 17 years ago
comment:81 by , 17 years ago
comment:82 by , 17 years ago
comment:83 by , 17 years ago
(In [19949]) modify TestNextProgramEncryption to avoid a endless loop. Refs #2695
comment:84 by , 17 years ago
(In [20290]) Refs #2695. Merges r19887:20288 from trunk to mythtv-channel-scan
comment:85 by , 17 years ago
comment:86 by , 17 years ago
by , 17 years ago
| Attachment: | 2695-merge-v1.patch added |
|---|
patch to merge channel-scan branch to trunk
comment:87 by , 17 years ago
I've attached a patch that merges the channel scanning branch to trunk. After some re-testing I plan to apply it and delete the channel scanning branch so that the remaining issues can be tackled more quickly in trunk. If you see any show-stoppers please speak up...
comment:89 by , 17 years ago
(In [20416]) Refs #2695. Adds extra debug info to NetworkInformationTable. Prints out the table section number, last section number and IsCurrent flag.
comment:90 by , 17 years ago
comment:91 by , 17 years ago
comment:92 by , 17 years ago
comment:93 by , 17 years ago
(In [20420]) Refs #5562, Refs #2695. A bunch of dvbdescriptor updates.
Creates a ServiceDescriptorMapping class to provide a single point to convert service descriptors.
Make ServiceDescriptor use the ServiceDescriptorMapping class.
Make the BouquetNameDescriptor toString useful.
Enhance the CountryAvailabilityDescriptor to print out country codes.
Finish off ServiceListDescriptor toString. Uses ServiceDescriptorMapping class.
Adds DefaultAuthorityDescriptor.
Add plumbing to print out DefaultAuthorityDescriptor, BouquetNameDescriptor, CountryAvailabilityDescriptor, ServiceListDescriptor when present in the broadcast stream.
comment:94 by , 17 years ago
I'm just noting these for the record, in case i don't get to them before the branch is merged.
Regressions to previous versions of the channel scanner.
UK LCNs (Logical Channel Numbers) The LCN isn't found correctly if the transport being scanned is in the 2nd received part of a multi part NIT. The _received_ is important here. If you get part 2/2 first and it contains your mux then it'll work, it'll also work if you get part 1/2 first and it contains your mux. If it's in the part received 2nd, it doesn't work.
UK Default Authorities. The Default authorities are no longer picked up from the SDT. Technically they are picked up, they just don't make it to the database. However #5562 is about extending the default authority support so it can be retrieved from the BAT, so i'll address the lack of default authority in the database while working on that ticket.
Stuart
follow-up: 96 comment:95 by , 17 years ago
comment:96 by , 17 years ago
comment:97 by , 17 years ago
(In [20423]) Refs #2695. Don't emit ATSCStreamData::HandleTables(): Unknown table messages for tables that we know are DVB tables. Cleans up the debugging output significantly for DVB users.
comment:100 by , 17 years ago
Since the merge, the current patch for dvb-s2 ( ticket 5882 ) does not apply anylonger. This is quite an issue for those using dvb-s2. Would it be possible to obtain a new updated patch for dvb-s2
comment:101 by , 17 years ago
The following files were "deleted" as part of the merge:
/libs/libmythtv/scanwizardhelpers.cpp /libs/libmythtv/scanwizardhelpers.h /libs/libmythtv/scanwizardscanner.cpp /libs/libmythtv/scanwizardscanner.h /libs/libmythtv/siscan.cpp /libs/libmythtv/siscan.h
It is probaly a stupid question, buyt I need to know where did the corresponding code in these 6 files go after the merge ? In other words, what are the file names that include the corresponding code after the merge. Unless I am mistaken, it is not very clear from the ticket. This info is needed for future developement and toa daot ticket 5882 ( s2api) after the merge.
comment:102 by , 17 years ago
| Ticket locked: | set |
|---|
Trac is not a support forum, especially not for legally dubious external patch sets.
comment:103 by , 17 years ago
comment:104 by , 16 years ago
(In [21549]) revert [21040] except channelscan/channelscanner.cpp part. Refs #2695
no need to play tricks with the timeout since UpdateChannelInfo can now correctly signal that the transport is finished.
comment:105 by , 16 years ago
comment:106 by , 16 years ago
(In [21640]) Refs #2695. Move free to air only setting and replace radio services setting with more general service requirements setting. This also drops support for these being specified in the input connection table where it is ambiguous since multiple connections can be made to the same lineup and multiple scans can result in a lineup inconsistent with these settings even if the lineup is only connected to one input.
A later commit will add channel deletion prompting using these settings as a guide.
comment:107 by , 16 years ago
comment:108 by , 16 years ago
comment:110 by , 16 years ago
comment:112 by , 16 years ago
comment:113 by , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
Problems remain in channel scanning but the original problems identified in this task ticket should be fixed now. Please open new tickets for any scanning problems not described in other existing tickets.

Initial patch