Re: vdr-1.7.1 video stream format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 24 Nov 2008 14:41:44 +0100, Stefan Lucke wrote
> - dumping the data I got via PlayVideo() to a file neither ffplay nor
>   mplayer can identify stream info from dumped data.

Unless I've overlooked some section repacker somewhere, there's a bug in
cPatPmtGenerator. I've already sent the attached patch to Klaus, but he didn't
have time to look at it yet.

Frank
--- remux.c.orig	2008-11-13 13:39:48.000000000 +0100
+++ remux.c	2008-11-13 16:32:57.000000000 +0100
@@ -2298,6 +2298,7 @@
   p[i++] = 0x40; // flags (3), pid hi (5)
   p[i++] = 0x00; // pid lo
   p[i++] = 0x10; // flags (4), continuity counter (4)
+  p[i++] = 0x00; // pointer field (payload unit start indicator is set)
   int PayloadStart = i;
   p[i++] = 0x00; // table id
   p[i++] = 0xB0; // section syntax indicator (1), dummy (3), section length hi (4)
@@ -2367,13 +2368,18 @@
      MakeCRC(buf + i, buf, i);
      // split the PMT section into several TS packets:
      uchar *q = buf;
+     bool pusi = true;
      while (i > 0) {
            uchar *p = pmt[numPmtPackets++];
            int j = 0;
            p[j++] = 0x47; // TS indicator
-           p[j++] = 0x40 | (P_PNR >> 8); // flags (3), pid hi (5)
+           p[j++] = (pusi ? 0x40 : 0) | (P_PNR >> 8); // flags (3), pid hi (5)
            p[j++] = P_PNR & 0xFF; // pid lo
            p[j++] = 0x10; // flags (4), continuity counter (4)
+           if (pusi) {
+              p[j++] = 0x00; // pointer field (payload unit start indicator is set)
+              pusi = false;
+              }
            int l = TS_SIZE - j;
            memcpy(p + j, q, l);
            q += l;
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux