[mythtv] [mythtv-commits] mythtv commit: r19216 by danielk

Daniel Kristjansson danielk at cuymedia.net
Thu Dec 4 23:15:26 UTC 2008


On Thu, 2008-12-04 at 09:24 -0800, Anduin Withers wrote:
> > I'm not committing anything more until tonight. But I already have the
> > QTcpServer/QSocket and QProcess conversion done & tested locally, the
> > code just needs to be cleaned up. The socket porting was pretty simple
> > and gets rid of the need for the MTDServerSocket class. Using QProcess
> > was a little more involved, I had to actually enter the Qt event loop
> > in DVDTranscodeThread::runTranscode() and add a timerEvent() method to
> > handle the status updates and to initiate the exit from the event loop.
> > If you don't enter the Qt event loop tc_process doesn't read the output
> > from the transcode command for updating the transcode progress bar (at
> > least not when you want it to).
> 
> Sounds better than what I had done. My headache was caused by the bits 
> beyond Qt 4 work. The reformatting/renaming merged (well, is merging) 
> terribly with my reformatting/renaming/feature work.

If I had known you were working on the mtd I would have tackled
a different port...

> On the bright side your Qt 4 changes were better.

I figured I might as well fix other problems while I was looking at the
code. I tried to make the server a bit less sluggish by getting rid
of "sleep(X)" calls and replacing them with QWaitCondition calls. It's
still way to sluggish for my tastes, but I'm leaving that to the next
person that visits the mtd code and wants to make some improvements. :)

I cleaned up the remainder of my changes and committed it. The
error/debugging output is a little better now & there is a new define
"DEBUG_STAGE_2" in jobthread. You can use that to skip the ripping
stage and go straight to the transcoding when you are debugging the
transcoding. Just run it normally once until you get to the transcoding
step, then set DEBUG_STAGE_2 to the output vob from the first stage.
You may want to set the "mythdvd.mtd.SaveTranscodeIntermediates"
settings entry to 1 for the first run, but if you kill the mtd before
it tries to delete the intermediaries you don't have to do that.

PS I'm retesting a full rip->transcode right now, unless there are
some problems with that I won't be making any more changes to the
mtd anytime soon.

-- Daniel



More information about the mythtv-dev mailing list