[mythtv] Re: Help!
John Patrick Poet
john at BlueSkyTours.com
Wed Dec 1 01:44:40 UTC 2004
John Patrick Poet wrote:
> 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
Of course, now that I look at that, it is wrong. Completely removing
the test for a valid pcrpidIndex would have had the same effect. Looks
like the PCRPID is just being ignored elsewhere.
John
More information about the mythtv-dev
mailing list