[mythtv] Re: Help!
John Patrick Poet
john at BlueSkyTours.com
Wed Dec 1 01:31:02 UTC 2004
Daniel Thor Kristjansson wrote:
>On Tue, 30 Nov 2004, John Patrick Poet wrote:
>]Hi Daniel,
>]
>]All of a sudden, I cannot record my CBS channel. This has nothing to do with
>]your hdtvrecorder patch. I can't record that channel with a pure CVS install
>]either. I am hoping you can help me figure out why. I have attached the
>]output from "mythbackend -v record", with your v32 patch in place.
>]
>]I replace the assert in MPEGStreamData::CreatePMT with:
>]
>]#if 0
>] assert(pcrpidIndex>=0); // there must be some reference stream
>]#else
>] if (pcrpidIndex < 0)
>] {
>] VERBOSE(VB_RECORD, QString("pmt.FindPid(0x%1) failed")
>] .arg(pmt.PCRPID(), 0, 16));
>] return false;
>] }
>]#endif
>]
>]The output shows that it is failing to find pmt pid 0x1ffe in the video stream.
>]My other channels work okay. Do you see anything to explain this?
>
>It looks like CBS is sending out a bad stream. The PCRPID should tell
>you which stream is the reference stream for timecodes. This should be
>either the video or audio stream. But it looks like CBS is saying the
>reference stream is 0x1ffe which isn't even in the PMT table (is it
>present at all?). I don't think we actually use the PCR in any of our
>A/V sync methods so it might be safe to just assign the PCRPID to the
>video stream. I don't know if ffmpeg is using the PCR timecodes though...
>
>Of course, it maybe that it is valid to use a completely seperate stream
>for PCR than the video and audio. Someone with the MPEG spec should be
>able to confirm this. In that case we should record the PCR stream...
>
>-- Daniel
>
>
Thanks Daniel!
I changed it to:
int pcrpidIndex = pmt.FindPID(pmt.PCRPID());
if (pcrpidIndex < 0)
pcrpidIndex = _pid_video;
and that fixed the problem.
John
More information about the mythtv-dev
mailing list