Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#1049 closed enhancement (fixed)

DVBSignalMonitor needs to be able to monitor NIT/SDT

Reported by: Mark.Buechler@… Owned by: danielk
Priority: minor Milestone: 0.20
Component: dvb Version: head
Severity: low Keywords:
Cc: Ticket locked: no

Description

DVBSignalMonitor thread incorrectly exits the very first time it gets a lock. This is fine unless you're using a rotor and the lock is gained on the wrong transponder on the wrong satellite. Maybe DVBSignalMonitor should exit after a PAT is successfully created? This still doesn't account for the case where transpoder frequencies AND SIDs are identicle on multiple satellites Myth locks onto between rotor begin and end positions.

Attachments (2)

sdt_monitoring.patch (13.8 KB) - added by Janne <janne-mythtv@…> 14 years ago.
patch against mythtv-eit branch
log.txt (19.6 KB) - added by Mark 14 years ago.
backend log

Download all attachments as: .zip

Change History (10)

comment:1 Changed 14 years ago by danielk

The signal monitor probably shouldn't be started until the rotor has properly aimed the antenna. Is there any way to detect that?

comment:2 Changed 14 years ago by danielk

Summary: DVBSignalMonitor thread exits before correct transponder is locked while using a rotorDVBSignalMonitor needs to be able to monitor NIT/SDT

comment:3 Changed 14 years ago by danielk

(In [9565]) Fixes #927, refs #1049, refs #1552. Retunes when we fail to see video after a while (for DVB-S).

This is mainly intended to help DVB-S, where sometimes tuning fails due to DiSEqC and other hardware and driver issues.

This should be backed out and moved to DVBSignalMonitor once #1049 is addressed. At the moment we never know if we are on the right transport, which is especially problematic when there is a rotor involved. Once #1049 is implemented we will know, and then we can safely move this code to the signal monitor which also means the UI won't freeze up while tuning DVB-S channels.

comment:4 Changed 14 years ago by Stuart Auchterlonie

Implementing NIT/SDT monitoring in DVBSignalMonitor would allow us to fix #1485 in a more correct way, and make scanning behave better overall.

We would then be able to tell the signal monitor what we were after, which would eliminate the need to implement any type of state machine in the scanner....

comment:5 Changed 14 years ago by danielk

(In [9798]) Refs #1035. Refs #1049. This is a continuation of the refactor started in [9790].

This makes it possible for DVBRecorder and SIParser to use a DVBStreamData in addition to a ATSCStreamData.

This allows us to move more of the DVB specific EIT stuff from SIParser to DVBStreamData.

I also referenced #1049, because this lets us use a DVBStreamData in DVBSignalMonitor and then pass it along to both the DVBRecorder and DVBSIParser; which simplifies the implementation of NIT/SDT monitoring.

This also adds SetStreamData?() and GetStreamData?() stubs to DTVRecorder, this allows us to get rid of a few of the ifdef's in TVRec. TVRec has also been modified to use a DVBStreamData rather than an ATSCStreamData when starting a signal monitor for a non-ATSC digital channel.

comment:6 Changed 14 years ago by Janne <janne-mythtv@…>

Type: defectenhancement

I'll attach a patch that implements sdt-monitoring for DVB standard conforming channels. Please read my email for annotations.

Changed 14 years ago by Janne <janne-mythtv@…>

Attachment: sdt_monitoring.patch added

patch against mythtv-eit branch

comment:7 Changed 14 years ago by danielk

Resolution: fixed
Status: newclosed

(In [9844]) Refs #1035. Fixes #1049. Adds SDT monitoring to DTVSignalMonitor in mythtv-eit branch.

What this does is require a matching SDT table for DVB channels before decide that we are on the right transport. This especially helps with DVB-S tuning, but also lets us collect the SDT table in the DTVSignalMonitor which allows us to dependably collect DVB EIT now that the SIParser class is gone.

This also changes the scanning for ATSC/MPEG a bit. We've been inserting a networkid of '1' instead of '0' for these transports for a while. There is a db update in dbcheck to fix existing transports and some changes in siscan to insert these properly in future channel scans.

Please test/debug so that I can merge this with SVN-head soon.

Changed 14 years ago by Mark

Attachment: log.txt added

backend log

comment:8 Changed 14 years ago by danielk

(In [10132]) Refs #1552. Refs #1049. Removes DVB retuning hack from SVN head.

This should no longer be needed now that #1049 has been fixed.

Note: See TracTickets for help on using tickets.