[mythtv-users] Analog firewire recordings end early due to 25% fewer frames
Yeechang Lee
ylee at pobox.com
Mon Feb 2 21:56:20 UTC 2009
This is a long story, so please bear with me. Short version: Analog
FireWire recordings are randomly ending early without mythbackend
being aware of this, due to 25% missing frames.
I've been using FireWire capture since my first day with MythTV more
than three years ago. As one of the lucky ones with almost
completely-untrammeled access to subscribed channels, from the start
I've been able to capture all my channels, whether analog (channels
below 100) or digital (100 and up, including both standard-definition
and high-definition). FireWire was, in the grand scheme of things,
pretty rock solid-reliable for me.
In September 1997--almost two years after I began using FireWire--two
things changed (hereafter referred to as "the change") regarding
analog channels over FireWire only:
* Recordings' quality changed. The cable company began removing one
out of every four frames to, I presume, gain bandwidth for
additional digital channels.
mythfrontend's fps figures when playing back post-change recordings
average 22.48, which is exactly 75% of 29.97. This is also apparent
when comparing the displayed times of completed and otherwise-intact
recordings post-change with their actual recording times:
REAL[1] DISPLAYED
31 min 55 sec 23 min 55 sec
61 min 55 sec 46 min 26 sec
106 min 55 sec 80 min 10 sec
[1] I typically use soft padding to start recordings a minute early
and a minute late, and there is generally about five seconds spent up
front on scheduling, channel changing, and signal lock.
The loss of 25% of frames is quite apparent when watching the
resulting recordings. Although completely intact, their quality is
perceptibly inferior to the analog recordings I made through
FireWire before September 1997 (and which, needless to say, display
elapsed times that match real times).
The vast majority of my recordings are OTA and FireWire
high-definition, and so I could live with the diminished quality of
analog recordings, were it not for the fact that, . . .
* Also, post-change, many (about 30-50%) of analog FireWire recordings
fail silently. "Fail," because such recordings end early;
"silently," because mythbackend does not notice and thinks they're
intact. There are no error or other untoward messages of any kind in
mythbackend.log even when running with '-v all', and mythfrontend
colors the recordings as ongoing until they (are supposed to)
finish. Affected recordings generally end after anywhere from a
little over one minute to about 10 minutes in (this is the displayed
time, so real time is about two to 13).
What this is not:
* A settop-box fault. I have two identical DCT-6200 cable boxes and
this issue exists on both. I tried replacing them back post-change,
anyway, without success.
* A FireWire-connection issue. This problem does not occur at all with
digital HD or SD channels.
* A FireWire-setup issue. I've tried each FireWire bandwidth rate in
mythtv-setup from 100 to 800mbps without any change.
My theory is that missing 25% of all frames in the signal is causing
something within mythbackend's FireWire recorder to time out
sometimes, without mythbackend overall noticing.
My questions:
* Is this theory a reasonable one?
* If so, where should I look within the code and what should I look
for?
* Should I file a ticket? The issue began under 0.20-fixes and has
continued through 0.21-fixes. I read -dev and -commits and have not
seen anything since 0.21 shipped akin to this problem.
--
Yeechang Lee <ylee at pobox.com> | San Francisco CA US
More information about the mythtv-users
mailing list