Opened 17 years ago
Closed 13 years ago
#5530 closed Patch - Feature (Won't Fix)
Canal Satellite Caraibes proprietary EIT support
Reported by: | Owned by: | Stuart Auchterlonie | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | MythTV - EIT | Version: | Master Head |
Severity: | medium | Keywords: | dvb, eit |
Cc: | Ticket locked: | no |
Description
You will find here the different patches. Note that I use the 0.21.fixes branch (and not latest, so let me know if rejects happen). The patches are split into different files. For now everything compiles and runs without crashing (at least on my box). But it does not do what it is supposed to. So I also post it here so I can get comments ;-)
Description:
- Added collection parsing of the BAT (Bouquet association table) as it is needed to get an index for the channels.
- Added colletion and parsing of several tables containing eit for all channels on all transponders.
What does not work: well the pids needed are added to the listening pids but I do not collect any of the corresponding tables. I hope someone can help here.
Attachments (12)
Change History (38)
Changed 17 years ago by
Attachment: | csat-dvbtables.diff added |
---|
Changed 17 years ago by
Attachment: | csat-mpegtables.diff added |
---|
Changed 17 years ago by
Attachment: | csat-streamlisteners.diff added |
---|
Changed 17 years ago by
Attachment: | csat-eithelper.diff added |
---|
Changed 17 years ago by
Attachment: | csat-mpegtables.2.diff added |
---|
Changed 17 years ago by
Attachment: | csat-dtvsignalmonitor.diff added |
---|
Changed 17 years ago by
Attachment: | csat-dvbstreamdata.diff added |
---|
comment:1 Changed 17 years ago by
comment:2 Changed 17 years ago by
eallaud, you are missing files from the diffs, add these with svn add before making the patch. Please also just create one svn diff against _trunk_. Most of this patch gets rejected by 'patch' currently.
Changed 17 years ago by
Attachment: | 5530-v1.patch added |
---|
portion of patch that i could make apply to trunk w/cleanups
comment:3 Changed 17 years ago by
You're right I forgot to put the new files here. Anyway I will regenerate everything against trunk. I hope not to have indenting problems in the files... :(
comment:4 Changed 17 years ago by
OK I rebased the patch on trunk and it applies cleanly. I dont know if it compiles though because I need to sort out a qt4/qt3 parallel install now that I need both (I want to keep 0.21.fixes alongside trunk).
comment:5 Changed 17 years ago by
New version, should apply cleanly (generated via svn diff). Here it does compile. I am still trying to repair a dvb driver problem so testing will be possible in a short while...
Changed 17 years ago by
Attachment: | csat-eit-20080711.diff added |
---|
comment:6 Changed 17 years ago by
Manu, I think you missed the concept of the table classes. Parse() should not be doing string substitutions and the like, at most it should collect some offsets.
code like this is no good:
j = (*p & 0x70) >> 4; schedule.duration = ( (p[0] & 0x0F)*256 + p[1] ) * 60; schedule.theme = (p[2] >> 4) & 0x0F;
You need accessors in the class so you call a methods like "GetDuration?()" or "GetTheme?()".
Methods like "GetSchedules?(...)" do not belong in these classes. The table classes are supposed to be as thin as humanly possible wrappers around the raw data.
Also, please have a look at http://www.mythtv.org/wiki/index.php/Coding_Standards
comment:7 Changed 17 years ago by
Are you talking about the ...InfoTable? class? I put it here by ignorance, there is no corresponding table in the stream, it is just a class that centralizes all the info gathered from the different in-stream tables. Should I just put it in eithelper.*? Also I tested it more extensively and everything works fine but I have some troubles understanding the pid adding/removing stuff. Also for the time being the UI part where you select the proprietary eit is not present, I intend to work on it after everything works.
comment:8 Changed 17 years ago by
One more thing about the "design": I need several PSIP tables to be able to insert eit in the db: eg one table has several shows (title+starttime+duration+the different showings) and then each show has its summary in a separate table, which means that before I can get rid of the PSIP table holding the shows I need to get the 100 summary tables. So the idea is to parse them right away, add the info using an object CSatCaraibesInfo that holds everything together and submit every complete eit. This way we do not cache a bunch of tables for a while (the schedule tables and summary tables are not in sync at all!!). Does that make sense and is compatible with the coding standards? Thx
comment:9 Changed 17 years ago by
OK here is a new try; I simplified to the extreme the tables classes (all but the BouquetAssociationTable? one, this will come later if what I did with the others is OK with you). I pushed all the real parsing in a new class CSatCaraibesEIT that I put in a new header and source files (csatcaraibeseit.h/cpp). As you can see I put some VERBOSE in the pid code because I still do not understand it. For example cyclingfilters is called numerous times although I dont think it is needed (it looks like my card has no trouble having all the needed filters setup at the same time); also I changed the filter params for the 0x11 PID as I needed to receive the BAT. Moreover I was unable to get my pid added correctly to the others so I hacked things in such a way that it is added even in the filters delete part. OK I hope this is closer to what you expect; BTW I used your emacs indent macros, but it does not seem to be the same as what is used for the sources, but this can be changed easily afterwards.
Changed 17 years ago by
Attachment: | csat-eit-20080723.diff added |
---|
comment:10 Changed 17 years ago by
One more problem: in eithelper.cpp I use GetChanID to get the channel id from the DB but it seems to always fail; but I printed the query and did it by hand on mysql command line and go a good result, so something is fishy there, any idea? Thx
comment:12 Changed 17 years ago by
New version:
- No more BAT parsing, it turned out that this was not working;
- Added IsRedundant? support to avoid the parsing of tables we already caught;
This works for me (tm) here: it adds EIT for up to 14 days, and when the dvb eit kicks in it adds new info to the one I got before with the proprietary EIT.
Changed 17 years ago by
Attachment: | csat-eit-20080803.diff added |
---|
comment:14 Changed 16 years ago by
Status: | new → assigned |
---|
comment:15 Changed 16 years ago by
Any interest in this? I maintain it for myself for now but as I will perhaps have some spare time I would like to know if it is interesting for me to try, I dont want to spend some time of that if there is no interest in merging it. Thx.
comment:16 Changed 16 years ago by
Milestone: | unknown → 0.22 |
---|---|
Status: | assigned → started |
comment:17 Changed 16 years ago by
Hmm I do not parse the BAT anymore as the info I extracted wasn't useful for my purposes. Could you outline what pieces I could submit first, or do you prefer to review everything when you think your tree has stabilized enough? Thx
comment:18 Changed 16 years ago by
Milestone: | 0.22 → 0.23 |
---|---|
Status: | started → assigned |
deprecated started state
comment:19 Changed 16 years ago by
Component: | eit → MythTV - EIT |
---|
comment:20 Changed 15 years ago by
Milestone: | 0.23 → 0.24 |
---|
This is a feature and we are currently in feature freeze. Bumping to 0.24
comment:21 Changed 15 years ago by
Version: | 0.21-fixes → Trunk Head |
---|
comment:22 Changed 15 years ago by
Milestone: | 0.24 → 0.25 |
---|
I just haven't had time to work on this for this release.
comment:24 Changed 13 years ago by
Milestone: | 0.25 → 0.26 |
---|---|
Type: | enhancement → Patch - Feature |
If this doesn't make 0.26 then it's probably never going to happen and should be put out of it's misery.
comment:25 Changed 13 years ago by
This patch can be dropped: I use now a standalone version (much easier to deal with new myth versions) and apparently it is only useful to me ;-)
comment:26 Changed 13 years ago by
Milestone: | 0.26 → unknown |
---|---|
Resolution: | → Won't Fix |
Status: | assigned → closed |
Ok, let's put it out of it's misery.
Just one comment: I dont know if the format used by Canal Satellite here (in the caribbean) is the same as in France. Adventurous users can try it.