[vdr] Black screen on some channels with vdr 1.7.6

Ales Jurik ajurik at quick.cz
Tue May 5 09:59:09 CEST 2009


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



More information about the vdr mailing list