[vdr] Black screen on some channels with vdr 1.7.6

alexw alexw at undercover.mine.nu
Tue May 5 13:52:57 CEST 2009


Hi,

You can also add one more case :

case 0x19: // advanced codec HD digital television service

Rgds,

Alex

Marek Hajduk wrote:
> I made recording with vdr 1.7.7 and prewious patches.
> I get picture with several errors. Here: 
> http://rapidshare.com/files/229350889/2009-05-05.10.45.1220-0.rec.tar.gz.html
>
> BR
>
> Marky
> Marek Hajduk píše v Út 05. 05. 2009 v 10:41 +0200:
>   
>> I have tu confirm, that I used both patches and it now works-I get
>> picture. But picture has errors.
>>
>> BR
>>
>> Marky
>>
>>
>> Ales Jurik píše v Út 05. 05. 2009 v 09:59 +0200:
>>     
>>> On Tuesday 05 of May 2009, Klaus Schmidinger wrote:
>>>       
>>>> On 05/05/09 00:04, Ales Jurik wrote:
>>>>         
>>> ...
>>>       
>>>>> Many thanks, it seems to works (with type of 2), but it is necessary to
>>>>> set "Update channels" to "no".
>>>>>           
>>>> Please try this:
>>>>
>>>> --- remux.c     2009/05/03 14:43:25     2.20
>>>> +++ remux.c     2009/05/05 07:27:21
>>>> @@ -795,6 +795,7 @@
>>>>                    scanner <<= 8;
>>>>                    scanner |= Data[i];
>>>>                    switch (type) {
>>>> +                    case 0x01: // MPEG 1 video
>>>>                      case 0x02: // MPEG 2 video
>>>>                           if (scanner == 0x00000100) { // Picture Start
>>>> Code if (synced && Processed)
>>>>
>>>> With this you should be able to turn "Update channels" on again.
>>>>
>>>> Klaus
>>>>         
>>> Thanks for pointing me to the problem. But for working it it was necessary to 
>>> add these two changes more:
>>>
>>> --- remux.c	2009-05-05 09:44:01.000000000 +0200
>>> +++ remux.c	2009-05-05 09:50:56.854167360 +0200
>>> @@ -481,6 +481,7 @@ void cPatPmtParser::ParsePmt(const uchar
>>>       for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {
>>>           dbgpatpmt("     stream type = %02X, pid = %d", 
>>> stream.getStreamType(), stream.getPid());
>>>           switch (stream.getStreamType()) {
>>> +           case 0x01: // MPEG1
>>>             case 0x02: // STREAMTYPE_13818_VIDEO
>>>             case 0x1B: // MPEG4
>>>                        vpid = stream.getPid();
>>> @@ -702,7 +703,7 @@ cFrameDetector::cFrameDetector(int Pid, 
>>>    newFrame = independentFrame = false;
>>>    numPtsValues = 0;
>>>    numIFrames = 0;
>>> -  isVideo = type == 0x02 || type == 0x1B; // MPEG 2 or MPEG 4
>>> +  isVideo = type == 0x01 || type == 0x02 || type == 0x1B; // MPEG 1,2 or 4
>>>    frameDuration = 0;
>>>    framesInPayloadUnit = framesPerPayloadUnit = 0;
>>>    payloadUnitOfFrame = 0;
>>>
>>> Now it seems to works as on older vdr versions (with PES), but video 
>>> discontinuities are still present on Spektrum (as on many other channels from 
>>> other providers). On STB's these discontinuities are not present in video.
>>>
>>> Thanks and BR,
>>>
>>> Ales
>>>
>>> _______________________________________________
>>> vdr mailing list
>>> vdr at linuxtv.org
>>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>>>       
>> _______________________________________________
>> vdr mailing list
>> vdr at linuxtv.org
>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>>     
>
>
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>   





More information about the vdr mailing list