[mythtv] Four issues

William Uther willu.mailingLists at cse.unsw.edu.au
Sun Mar 6 12:04:57 UTC 2005


Hi,
   I am seeing four issues with current CVS.  I'd like to help tracking 
them (at least the first two) down, but I'm unsure where to start.  I 
do AI, video streaming is new to me.

   The first two issues are by far the most annoying.  Interestingly, 
they are mutually exclusive :).  I use a DVB-T card.  If I use PS then 
I lose sound.  If I use TS then I get strange timing issues.

   First the sound.  I've seen people here talk about it.  The DVB card 
is set to return the DVB program stream.  Occasionally sound drops out 
- usually at the start of the recording, or when there is a glitch in 
the signal.  (I must admit I've only verified the 'start of recording' 
one with current cvs.  The correlation with glitches is from CVS of a 
week ago.)  I've grabbed verbose output for this before, and couldn't 
see anything unusual.

   If I switch to recording TS streams then channel change takes longer. 
  The really annoying thing is the time stretch issue.  On two of the 
five channels I have (SBS and 7) everything is fine.  On the other 
three channels (ABC, 9 and 10), the timing is strange.  In particular, 
video seems to play fine (normal speed), but when recording the 'total 
time' of the video ticks over about 5 times slower than normal.  When 
the recording ends, its 'total time' value is only 1/5th of the actual 
length of time recorded (e.g 6 mins for a 30 min show).  During 
playback, the video runs at normal speed, and the 'current time' 
counter ticks over at normal speed.  If you're watching while 
recording, then the current time can catch up with the 'total time' 
entry.  The video keeps playing after you reach 'total time', but the 
info display just shows 6 min / 6 min.  Also, when you skip forward or 
backwards, the system skips the current time to the appropriate 
location (+30s or -5s) , but because the recorded timestamps were 
ticking over slowly, this end up being a skip of about 5 times the 
length it should have.

   Oh, as you would expect the glitches are a property of the recorded 
stream, not the playback system.  If you record in PS mode and lose 
sound, it is gone regardless of where you play back.  If you record one 
of the bad channels in TS mode, then the timing is wrong regardless of 
where you play it back.  And two others on the users list have reported 
similar timing issues.

   Anyway, I don't know the video code very well.  Any suggestions as to 
where to start looking?  Where is timing information stored in the TS 
stream?

   The third issue is with the recording priorities screen.  If you 
adjust priorities in the main screen then everything works well.  (i.e. 
ProgramRecPriority::changeRecPriority() in 
programs/mythfrontend/programrecpriority.cpp seems to work fine)  
However, if you edit a program from the list, and immediately exit back 
to the list (you don't need to change the program at all - just enter 
the edit dialog and then cancel), then the priority adjustment based on 
recording type is reset to 0.  (i.e. something in 
ProgramRecPriority::edit() is borked)  Exiting out of the whole 
recording priorities list and then re-entering it causes the priority 
adjustments to be redisplayed correctly.  I couldn't see anything 
obviously wrong with ProgramRecPriority::edit(), especially since 
ProgramRecPriority::FillList(), which I believe works, looks very 
similar.  This is not a high priority for me so I thought I'd post it 
here in case anyone else wants to take a look.

   The fourth issue is with CVS of a week ago, so it may have been 
fixed.  I recently did a full reinstall with CVS from one week ago (and 
only upgraded to CVS head today).  During the full reinstall I got an 
error when I first ran mythfilldatabase.  I got a complaint that the 
table 'callsignnetworkmap' didn't exist.  I just pulled the line that 
created it out of my backup, but I think it strange that if it is 
needed, it wasn't created automatically.  A grep of the source reveals 
that it is only used in two places:  libmythtv/dbcheck.cpp is supposed 
to create it (don't know why it hadn't - I had just run mythtv-setup).  
Otherwise mythfilldatabase/filldata.cpp is the only file to use it.  
The use inside mythfilldatabase worries me a little.  It seems like it 
is fairly irrelevant to DVB use.  The DVB scanning code is getting 
channel names/numbers/etc, and the channel numbers are different from 
what tv_grab_au returns.  What should be in this table, and who should 
be putting it there?

Thanks for any pointers to help me fix these issues,

Will          :-}

--
Dr William Uther                           National ICT Australia
Phone: +61 2 9385 6357               Computer Science and Engineering
Email: willu at cse.unsw.edu.au          University of New South Wales
Web: http://www.cse.unsw.edu.au/~willu/     Sydney, Australia



More information about the mythtv-dev mailing list