Opened 18 years ago
Closed 18 years ago
Last modified 18 years ago
#438 closed patch (fixed)
DVB multiple PMT sections per TSPacket fix
Reported by: | Owned by: | danielk | |
---|---|---|---|
Priority: | minor | Milestone: | 0.19 |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Some DVB channels broadcast multiple PMT sections per TSPacket. The current behavior only parses the first PMT section in the TSPacket skipping or losing some of them. This results in the inability to tune to all of the channels on a transponder due to not finding the PMT. This patch reworks AssemblePSIP and HandleTSTables to loop over the packets to ensure that all the PMT segments are found. It has only been tested on NA DVB signals.
The patch probably needs a few things renamed.
Attachments (1)
Change History (10)
Changed 18 years ago by
Attachment: | multiplePMT.patch added |
---|
comment:1 Changed 18 years ago by
Owner: | changed from Isaac Richards to danielk |
---|
comment:2 Changed 18 years ago by
Status: | new → assigned |
---|
comment:3 Changed 18 years ago by
I saw this crash as well after I added the new field to PESPacket, a make clean of libmythtv solved this for me. I suspected the dependancies were not exactly perfect, but didn't look farther into it. Please let me know if you had done a full rebuild and I'll look farther into the SEGV you are seeing.
I'll rehash the patch with the latest changes from SVN, and fix up the formatting. I'm not sure exactly what I should be changing with respect to "if" being a keyword vs a function. I will need that explained before I can appropriately fix it.
comment:4 Changed 18 years ago by
'if' is not a function, so: 'if (foo)' is preferred over 'if(foo)'.
comment:5 Changed 18 years ago by
I'll try a make clean right now.
Hold off on the formatting changes, I already formatted that version of the patch.
I didn't attach it because it contained some other changes too.
comment:7 Changed 18 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [7438]) Closes #438. (must do make clean). This allows multiple PES Packets per TS Packet.
You must do a "make clean" if you use a DVB or HDTV recorder, otherwise you will probably experience SEGFAULTS.
This is patch submitted by redmundt AT gmail.com, with minor modifications.
redmundt, please confirm this works for you.
This patch causes a SEGFAULT for me:
Also use ANSI C bracing, not K&R in any new code. Don't go over 80 columns, "if" is a keyword not a function, & please document any new methods you add.