[mythtv] bug fix? for external channel changing....
curtis at penguinbrat.com
Mon Dec 15 18:45:14 EST 2003
Hi, Im new to posting to development lists - so I dont know the process,
but here it goes...
Im using MythTV with my cable box, and obviously using the external
channel changer option. The issue I was having was that Myth would issue
the command to change channels and then itself change channels (or
reset, or what ever) before the channel was actually changed. The
external app, was still chaning channels while Myth has already reset it
self, and dropping the OSD display's.
I went into the code, and noticed that the code to do this was
issueing a fork, and then a execl call with "sh -c $APPNAME $CHANNEL &".
The problem is that the parent process waits for the executed PID to
finish which is going to be the shell itself and not the program, the
shell exists cleanly beacuse the program goes off into the background.
Simply removing the ampersand (&) from the execl command string, fixes
the issue - myth freezes while the command is executing, and then does
the reset or what not, when the command is done and the channel has been
changed and everything goes good from there.
I posted a little about this on the mythtv-users list, and another
user asked me about it tried the change and his problems were resolved
also. He had skipping audio, while I had choppy video, after changing
channels. I've also had screwed up recordings - where the blank screen
that the cable box does when changing channels, tells Myth that it is a
comercial; so when I go back to play the recording - it immideately
starts fastforwding looking for the end of the comercial....
orignal-> QString command = QString("%1 %2
revised-> QString command = QString("%1
I've only done one patch in my life - and it was a while ago, and dont
want to screw anything up. If this is a valid change, and you want me to
make a one, I'll give it a shot...
More information about the mythtv-dev