[vdr] Black screen on some channels with vdr 1.7.6

Marek Hajduk mhajduk at francetech.sk
Tue May 5 10:41:41 CEST 2009


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




More information about the vdr mailing list