Thomas,
Well, I guess we are both in the same boat. I tried a lot of things and
nothing ever seemed to be able to fix the problem. I guess the real
question now is when you run the command to fix the audio does it ever
break the audio? If you aren't sure, run the command several times on
your 150 while you are recording and see if the audio ever goes bad
again. With my card, issuing "ivtvctl -q 0" always fixed the problem. So
I can use a script to run the command a few seconds after recording
starts. One script suggested in the past is
http://www.mythtv.org/wiki/index.php/Hauppauge_PVR-500#No_sound_on_first_recording
. I tried it out for my PVR 500, but I didn't like it because it was
using nearly 20% CPU on my P3 800. I've attached a program that I wrote
for myself that uses less CPU resources (0% for me). Mine reads the
MythTV log file waiting for the system to start recording (Consequently
it will only fix scheduled recordings and not live tv). When MythTV
starts recording on my PVR 500, it will issue the commands to fix the
sound within 5 seconds. You will most likely have to modify this script
to make it run on your own system. If you would like to use the script
and are having trouble figuring out how exactly to modify it, just let
me know. Let us know how it goes on fixing your problem.
Jonathan
Doug Butterworth wrote:
I know it sounds silly, but a good 30 second to 1 min power off might
help. This has worked wonders for me and others in the past when
doing firmware updates. Based on what you typed, it sounds like you
just reloaded ivtv. I can't guarantee this will help, but it is a
good place to start.
I tried the 30 second powerdown this morning and it didn't help.
#!/usr/bin/perl
#This program should never cause damage to your system. However, in the event
that it does, I am in no way responsible. Use at your own risk.
close(STDOUT);
$filesize = -s "/var/log/mythtv/mythbackend.log";
write_log("IVTV: Started IVTV Audio Fix Script\n");
$i = 0;
open(FILE, "/var/log/mythtv/mythbackend.log") or die("Could not open log file");
for (;;)
{
for ($curpos = tell(FILE); $_ = <FILE>;$curpos = tell(FILE))
{
if($i != 0) #Don't parse anything if I've just started
{
if($_ =~ /^\d+\-\d+\-\d+ \d+\:\d+\:\d+\.\d+ Started
recording\: .+ on cardid (\d), sourceid 1/)
{
$cardid = $1;
if($cardid == 2)
{
write_log("IVTV: Resetting Audio on
Card 2\n");
system("/usr/local/bin/ivtvctl -d
/dev/video1 -q 0");
}
elsif($cardid == 3)
{
write_log("IVTV: Resetting Audio on
Card 3\n");
system("/usr/local/bin/ivtvctl -d
/dev/video2 -q 0");
}
}
}
}
sleep(5);
if($i == 13)
{
$nfilesize = -s "/var/log/mythtv/mythbackend.log";
if($nfilesize < $filesize)
{
write_log("IVTV Audio Fix Script detected a log
rotation.\n");
$filesize = 0;
$curpos = 0;
close(FILE);
open(FILE,"/var/log/mythtv/mythbackend.log") or
die("Could Not Reopen Log File");
}
else
{
$filesize=$nfilesize;
}
$i = 0;
}
$i++;
seek(FILE, $curpos, 0);
}
close(FILE);
print "I'm not supposed to get here.\n";
sub write_log()
{
$message = $_[0];
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = localtime(time);
$year += 1900;
$mon += 1;
open(LOGFILE,">>/var/log/mythtv/mythbackend.log");
print LOGFILE "$year\-$mon\-$mday $hour:$min:$sec $message";
close(LOGFILE);
}
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users