[mythtv-users] Firewire on a combo backend/frontend

John P Poet jppoet at gmail.com
Mon Jul 31 16:30:00 UTC 2006


Since capturing firewire video data on my backend machine resulted in
a constant stream of discontinuity errors, I turned my frontend
machine into a combo backend/frontend, and hooked the firewire up
there.

On this frontend machine, I am able to capture pretty clean video via
firewire.  However, if I try to watch anything while it is recording
via firewire, the video is very jumpy, and I get a lot of "video is 30
frames behind audio" type messages.  This is on a Athlon X2 4200,
runing 2.6.17.7.

I figured that it had been long enough since Jim Westfall submitted
his ieee1394 dma patch that it would be a part of 2.6.17, but I
discovered it was not.  After applying his patch:

http://www.gossamer-threads.com/lists/mythtv/dev/187783#187783

and building a new kernel, the video playback while recording problem
is now solved.  I did have to "hand" apply the patch because the
formatting of the dma.c file in 2.6.17 has changed slightly.  Applying
this patch caused the CPU usage of mythbackend to drop from 10-11% to
3-4% while recording via firewire.

Unfortunately, I now had an audio problem.  The sound would drop-out
for a fraction of a second, every couple of seconds.  This only
happened if I was recording via firewire at the same time.  I figured
my firewire port and my sound card must be sharing an interrupt, but a
quick look at the motherboard manual disproved that theory.  I then
check the latencies of those two devices (lspci) and discovered that
both were at 32.  After adjusting both up to 64 (setpci), my audio
problem is also solved.

I still have a little problem with channel changes.  The channel
change program I am using works 100% of the time, when I am testing it
via the command line.  With Myth in control it only seems to be 75%
reliable.  This program changes channels on my SA3250HD via firewire.

I figured that to get 100% reliable channel changes, I would switch to
lirc.  I have an ir-blaster and decided to hook it up along side my
ir-reciever.  Unfortunately, both are serial and therefore use the
lirc_serial driver.  It turns out the lirc_serial driver cannot handle
two serial ports at the same time.  Furthermore, you cannot run two
lirc_serial drivers at the same time.  To get around this, some people
have hacked the lirc source tree to create a lirc_serial1.  This is
actually much harder than it sounds, and is generally a royal PITA.  I
may try a little harder to get channel changes to work via firewire...


John


More information about the mythtv-users mailing list