Linux/MythTV: Unterschied zwischen den Versionen

3.456 Bytes hinzugefügt ,  19. März 2009
Zeile 109: Zeile 109:
===MythWeb merkt sich das Mobile Template===
===MythWeb merkt sich das Mobile Template===
Nach Aufruf von MythWeb mit einem mobilen Browser kann es sein, dass das Mobile Template ab dann auch bei einem Desktop Browser verwendet wird. Dies kann man zurücksetzen, indem man '''?RESET_TMPL=true''' an die URL anhängt.
Nach Aufruf von MythWeb mit einem mobilen Browser kann es sein, dass das Mobile Template ab dann auch bei einem Desktop Browser verwendet wird. Dies kann man zurücksetzen, indem man '''?RESET_TMPL=true''' an die URL anhängt.
===Patches für 0.21===
====Bob 2x Deinterlacing funktioniert nicht====
Wenn die NVidia-Treiber eine minimal abweichende Frequenz liefern (z.B. 49.99 Hz statt 50 Hz), dann weigert sich MythTV, Bob 2x Deinterlacing anzuwenden, weil die Bildwiederholfrequenz nicht hoch genug ist.
Im 0.22 Trunk ist das Problem gefixt: http://svn.mythtv.org/trac/ticket/4637
'''Rückportierung des Patches für 0.21''':
Index: mythtv/libs/libmythtv/vsync.cpp
===================================================================
--- mythtv/libs/libmythtv/vsync.cpp    (Revision 19961)
+++ mythtv/libs/libmythtv/vsync.cpp    (Arbeitskopie)
@@ -117,7 +117,8 @@
      m_frame_interval(frameint), m_refresh_interval(refreshint),
      m_interlaced(halve_frame_interval)
  {
-    if (m_interlaced && m_refresh_interval > m_frame_interval/2)
+    int tolerance = m_refresh_interval / 200;
+    if (m_interlaced && m_refresh_interval > ((m_frame_interval/2) + tolerance))
          m_interlaced = false; // can't display both fields at 2x rate
      //cout << "Frame interval: " << m_frame_interval << endl;
@@ -135,7 +136,8 @@
  {
      m_frame_interval = fr;
      m_interlaced = intr;
-    if (m_interlaced && m_refresh_interval > m_frame_interval/2)
+    int tolerance = m_refresh_interval / 200;
+    if (m_interlaced && m_refresh_interval > ((m_frame_interval/2) + tolerance))
          m_interlaced = false; // can't display both fields at 2x rate
      VERBOSE(VB_PLAYBACK, QString("Set video sync frame interval to %1")
====Video Scan fest auf Interlaced einstellen====
Bei DVB-C senden einige Sender (PRO7, SAT1, Kabel1, DMAX, DSF, ...) falsche und dauernd wechselnde Kennungen bzgl. Progressive/Interlaced. Das führt dazu, dass MythTV nicht flüssig abspielt. Man muss dann immer wieder (die Einstellung wird nicht gemerkt) nach Play im OSD den Video Scan auf Interlaced stellen statt automatische Erkennung.
'''Patch, der den Video Scan fest auf Interlaced stellt''':
Index: mythtv/libs/libmythtv/NuppelVideoPlayer.cpp
===================================================================
--- mythtv/libs/libmythtv/NuppelVideoPlayer.cpp (Revision 19961)
+++ mythtv/libs/libmythtv/NuppelVideoPlayer.cpp (Arbeitskopie)
@@ -175,7 +175,7 @@
        video_disp_dim(0,0), video_dim(0,0),
        video_frame_rate(29.97f), video_aspect(4.0f / 3.0f),
        forced_video_aspect(-1),
-      m_scan(kScan_Interlaced),    m_scan_locked(false),
+      m_scan(kScan_Interlaced),    m_scan_locked(true),
        m_scan_tracker(0),
        keyframedist(30),
        // RingBuffer stuff
@@ -924,6 +924,7 @@
          return; // hopefully this will be called again later...
      m_scan_locked = (scan != kScan_Detect);
+    m_scan_locked = true;
      if (scan == m_scan)
          return;
@@ -1025,7 +1026,7 @@
      SetScanType(detectInterlace(scan, m_scan, video_frame_rate,
                                  video_disp_dim.height()));
-    m_scan_locked  = false;
+    m_scan_locked  = true;
      m_scan_tracker = (m_scan == kScan_Interlaced) ? 2 : 0;
  }
@@ -2792,7 +2793,7 @@
      // And initialoze m_scan_tracker to 2 which will immediately switch to
      // progressive if the first frame is progressive in AutoDeint().
      m_scan            = kScan_Interlaced;
-    m_scan_locked      = false;
+    m_scan_locked      = true;
      m_double_framerate = false;
      m_can_double      = false;
      m_scan_tracker    = 2;
1.103

Bearbeitungen