[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