[mythtv] Patch to dvbrecorder.cpp

Matt Lovett mattlovett at gmail.com
Sun Oct 24 20:29:56 UTC 2004


Hi all,

I'm trying to get a dvb-t card (one of the new nova-t ones) going with
myth, and i've found a bug in dvbrecorder.cpp. I'm not sure if it's
worth noting, there could be other issues at play too, but it seemed
like a good idea to note it down:

line 567, the call to LocalProcessData saves the complete read buffer,
for each packet. If more than one packet is read then are in all kinds
of trouble (coping packets out more than once, running off the end of
the buffer as the start pointer moves along), and we mess up the
stream that we're writing.

            if (recordts)
            {
                LocalProcessData(&pktbuf[0], readsz);
                continue;
            }

The fix is trivial, just copy out MPEG_TS_PKT_SIZE instead of readsz.
Sorry it's not a diff.... but it's so simple I hope this is ok.

There's some code, here's a question ;)

I noticed this as I was trawling the DVB-T code, because I'm having
trouble tuning into some channels under myth (lots of errors about the
stream being corrupt). However, recoding direct to disk with tzap &
cat gives me perfect video, so there's something odd going on.

What I wanted to do was turn on 'Record Transport Stream', but it's currently
disabled in DVBRecorded::SetOption()...

    else if (name == "recordts")
    {
        if (value == 1)
            GENERAL("Was told to record transport stream,"
                    " but this feature is broken, not enabling.");
//        recordts = (value == 1);

My queston is - in what way is it broken? If there are some other deep
issues then I guess I'll back off, but if the list don't know of any
then I'll dust off the compiler and try re-enabling it.... but if you
know something that I don't then please save me from wasting my time!

Cheers,

Matt


More information about the mythtv-dev mailing list