[mythtv] DVB debugging results
Leandro Dardini
ldardini at tiscali.it
Mon May 19 23:53:07 EDT 2003
Debugging dvb code, I found two main reasons of why dvb is not playing.
First, in tvrec.cpp, in CheckChannel, read the last line. The
chan->GetCurrentInput(); return "" instead of Television (or what you have
as cardinput in your database). Following GetCurrentInput, it seems
currentcapchannel is -1. I am sorry, but I don't know what is the meaning of
currentcapchannel and where it is initialized (or maybe __not__
initialized).
I forced this assigning "Television" to channelinput. Isaac, don't flame me,
this is __only__ to get past this point.
bool TVRec::CheckChannel(ChannelBase *chan, const QString &channum,
QSqlDatabase *&a_db_conn, pthread_mutex_t
&a_db_lock)
{
if (!db_conn)
return true;
a_db_conn = db_conn;
a_db_lock = db_lock;
pthread_mutex_lock(&db_lock);
MythContext::KickDatabase(db_conn);
bool ret = false;
QString channelinput = chan->GetCurrentInput();
Second. The polarization value is a string, not an int. Here the patch...
Index: libs/libmythtv/dvbchannel.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/dvbchannel.cpp,v
retrieving revision 1.1
diff -u -d -r1.1 dvbchannel.cpp
--- libs/libmythtv/dvbchannel.cpp 14 May 2003 02:43:29 -0000 1.1
+++ libs/libmythtv/dvbchannel.cpp 19 May 2003 20:45:34 -0000
@@ -258,10 +258,10 @@
QString option;
if (dvb_type == DVBChannel::DVB_S)
{
- int opt_int = query.value(1).toInt();
- if (opt_int == 'V' || opt_int == 'v')
+ QString opt_int = query.value(1).toString();
+ if (opt_int == "V" || opt_int == "v")
s.pol_v = true;
- else if (opt_int == 'H' || opt_int == 'h')
+ else if (opt_int == "H" || opt_int == "h")
s.pol_v = false;
else
return false;
However, with this patch applied I get:
linux:/usr/local/src/mythtv-cvs/mythtv# mythbackend
Starting up as the master server.
trying to change to channel 1
channel exists
Option:160,80
got tuning parameters
trying to change to freq 11766
Using DVB card "STV0299/TSA5059/SL1935 based"
tuning DVB-S to L-Band:1083107177, Pol:v Srate=27500, 22kHz=on
polling....
Getting frontend event
FE_STATUS: FE_HAS_SIGNAL FE_HAS_CARRIER
polling....
Getting frontend event
FE_STATUS: FE_HAS_SIGNAL FE_TIMEDOUT FE_HAS_CARRIER
Not able to lock to the signal on the given frequency
Tune freq result: -1
tuning failed
I go to bed...
Leandro
More information about the mythtv-dev
mailing list