[mythtv] hdtv reorg, crc checking

Daniel Thor Kristjansson danielk at cat.nyu.edu
Mon Feb 2 21:03:43 EST 2004


I hit the message size limit, so go here for the referenced files
  http://www.mrl.nyu.edu/~danielk/mythtv/hdtv-patch2.txt
  http://www.mrl.nyu.edu/~danielk/mythtv/tspacket.h
  http://www.mrl.nyu.edu/~danielk/mythtv/XvMC-err.txt


Here's an updated patch (against cvs)
  * Added a signal strength check on HDTV channels. This is both in
    the hdtv StartStream and in Channel's tuneto.. this means you
    should no longer crash if you tune to an off-air HDTV channel...
  * Added hack to tune to a channel before trying to start the MPEG-2
    stream from the ATSC card. This should really happen in the Channel
    class, but it expects the stream to have started before it sets the
    channel.
  * tspacket now respects the 4 space indentation.
  * mian's 'y' patch is included
    Note: This doesn't work for me, after 'y' I can't change channels
     because the Channel class still thinks I'm using the channels for
     the other tuner. But it does switch cards, so it's part of the way
     there.
  * [Unsafe] Fudged with the error checks on frames in xvmcvideo.c.
    Basically what I _think_ it does now is just garble the screen if
    you get a short lived loss of signal instead of having an assertion
    failure on you. (I've attached the output from the console when one
    of these assertions happens, for someone more knowledgable about
    avcodec to look at.)
  * There is some debugging output... I'd like to see the backend log if
    someone tries this...

Unaddressed
  * On screen overlays need to be done differently when using XvMC,
     currently it slows things down to an unusable state (hitting ESC
     sometimes helps.)
  * Still haven't looked at tossing the bad packets early... May need
     to assemble full PES packets on the backend for this to be done.

-- Daniel
  << When truth is outlawed; only outlaws will tell the truth. >> - RLiegh

On Fri, 30 Jan 2004, Daniel Thor Kristjansson wrote:

]
]I simplified the ProcessData loop that parses TS packets by breaking the
]TS packet parsing out into its own class. After this was done it was
]easy to add CRC checking of PAT and PMT packets. This is still in too
]much flux to be applied to cvs esp with 1.4 on the horizon, but if you are
]using a hdtv card or working on this code it might be useful.
]
]My goal is to add some kind of sanity checking, if not CRC checking, on
]video and audio packets so bad packets aren't written to the stream.
](This causes crashes due to bugs in the av decoder I would also like
]fixed, but one thing at a time...)
]
](I didn't add tspacket.h to the qmake, so either add it or touch
]hdtvrecorder.cpp before a rebuild.)
]
]-- Daniel
]  << When truth is outlawed; only outlaws will tell the truth. >> - RLiegh


More information about the mythtv-dev mailing list