[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