--- ../xine-0.9.3/xineDevice.c	2009-06-17 20:06:35.000000000 +0200
+++ xineDevice.c	2010-02-08 22:54:00.000000000 +0100
@@ -1539,7 +1546,13 @@ fclose(ff);
   {
 #if APIVERSNUM >= 10701
     if (Length >= TS_SIZE)
-      m_tsVideoPid = TsPid(Data);   
+    {
+#if APIVERSNUM >= 10712
+      m_tsVideoPid = PatPmtParser()->Vpid();
+#else
+      m_tsVideoPid = TsPid(Data);
+#endif
+    }
 #endif
     return Length;
   }
@@ -4119,6 +4132,8 @@ store_frame(jumboPESdata, todo, __LINE__
   
   void cXineDevice::MakePrimaryDevice(bool On)
   {
+    cDevice::MakePrimaryDevice(On);
+
     xfprintf(stderr, "-------------------------\n");
     xfprintf(stderr, "MakePrimaryDevice: %d\n", On);
     xfprintf(stderr, "=========================\n");
