Opened 13 years ago

Closed 13 years ago

#9336 closed Bug Report (fixed)

EIT-scanning fails on encrypted channels

Reported by: tommy.alander@… Owned by: Stuart Auchterlonie
Priority: minor Milestone: 0.25
Component: MythTV - EIT Version: 0.24
Severity: low Keywords: eit
Cc: Ticket locked: no

Description

Eit doesn't gather any data on encrypted channels. It used to work prior to the 0.25 release.

The scanner tries to tune to the correct channel but logs "PID xxx status: Encrypted"

I can provide more logs if needed.

Attachments (3)

log.txt (3.1 KB) - added by Tommy Alander <tommy.alander@…> 13 years ago.
log with unencrypted channel
log2.txt (3.3 KB) - added by Tommy Alander <tommy.alander@…> 13 years ago.
log with encrypted channel
eit.diff (589 bytes) - added by Tommy Alander <tommy.alander@…> 13 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 13 years ago by Kenni Lund [kenni a kelu dot dk]

Priority: majorminor
Severity: mediumlow

Do you mean "prior to the 0.24 release" or are you talking about trunk?

Please run your backend with -v eit,extra and attach the log to this ticket.

comment:2 Changed 13 years ago by Kenni Lund [kenni a kelu dot dk]

Status: newassigned

comment:3 Changed 13 years ago by Kenni Lund [kenni a kelu dot dk]

Status: assignedinfoneeded

Changed 13 years ago by Tommy Alander <tommy.alander@…>

Attachment: log.txt added

log with unencrypted channel

Changed 13 years ago by Tommy Alander <tommy.alander@…>

Attachment: log2.txt added

log with encrypted channel

comment:4 Changed 13 years ago by Tommy Alander <tommy.alander@…>

I'm using 0.24. It used to work in 0.23.1.

My problem is that full epg is only sent on two channels that i'm aware of. Both are encrypted. The other channels only profile two events, current and next. Full epg are at least three days.

comment:5 Changed 13 years ago by Tommy Alander <tommy.alander@…>

Status: infoneededassigned

comment:6 Changed 13 years ago by Tommy Alander <tommy.alander@…>

After doing some research it looks like the eit scanner is waiting for a signal lock which will never happen. I tried a quick hack and removed these lines:

if ((flags & kDTVSigMon_WaitForCrypt) && !matchingCrypt.IsGood?())

return false;

from dtvsignalmonitor.cpp. Now it is working. I will research more...

comment:7 Changed 13 years ago by danielk

In tv_rec.cpp@2086 there is this code:

        if (EITscan)
        {
            sm->GetStreamData()->SetVideoStreamsRequired(0);
            sm->IgnoreEncrypted(true);
        }

It is supposed to make sure the kDTVSigMon_WaitForCrypt flag is not set. This isn't really using the API as intended, but it should work. I think the problem is we're only running that code for MPEG tunes where there is no EIT and not for ATSC and DVB tunes where there is EIT.

Can you try moving that code up to just above:

  sm->SetRotorTarget(1.0f);

a few lines earlier and report back whether that works?

Changed 13 years ago by Tommy Alander <tommy.alander@…>

Attachment: eit.diff added

comment:8 Changed 13 years ago by Tommy Alander <tommy.alander@…>

Not exactly, but your suggestion put me on the right track. The problem was that the "if(eitscan)" section was missing in the dvbtuneing part. I added that and now it's working.

Patch attched.

comment:9 Changed 13 years ago by Github

Milestone: unknown0.25
Resolution: fixed
Status: assignedclosed

EIT Scanning: Parse for EIT even if the Audio and Video PIDs are encrypted.

Tommy Alander reported (and Daniel K diagnosed) an issue where a bit of code had been overlooked. When EIT scanning MPEG channels, we correctly told the rec code to ignore encryption status when the tune was for EIT scanning. That same block of code was missing from DVB tuning. Add the missing code.

Fixes #9336.

Branch: master Changeset: 464e261b2392893da9afb9766aba4719930a2789

Note: See TracTickets for help on using tickets.