mpegtspacketizer: Fix PCR LUT table
authorEdward Hervey <edward@collabora.com>
Thu, 1 Aug 2013 08:58:23 +0000 (10:58 +0200)
committerEdward Hervey <edward@collabora.com>
Fri, 2 Aug 2013 08:41:25 +0000 (10:41 +0200)
We were only resetting the first 512 values of the lookup table instead
of the whole 8192.
This resulted in any PCR PID over 0x0200 ... ending up taking the first PCR
table around :(

gst/mpegtsdemux/mpegtspacketizer.c

index 8ed14c0..449547a 100644 (file)
@@ -168,7 +168,7 @@ flush_observations (MpegTSPacketizer2 * packetizer)
     g_free (priv->observations[i]);
     priv->observations[i] = NULL;
   }
-  memset (priv->pcrtablelut, 0xff, 0x200);
+  memset (priv->pcrtablelut, 0xff, 0x2000);
   priv->lastobsid = 0;
 }
 
@@ -306,7 +306,7 @@ mpegts_packetizer_init (MpegTSPacketizer2 * packetizer)
   priv->mapped_size = 0;
   priv->offset = 0;
 
-  memset (priv->pcrtablelut, 0xff, 0x200);
+  memset (priv->pcrtablelut, 0xff, 0x2000);
   memset (priv->observations, 0x0, sizeof (priv->observations));
   priv->lastobsid = 0;