fix not-display video 14/25014/1
authorBoram Park <boram1288.park@samsung.com>
Thu, 24 Jul 2014 09:08:11 +0000 (18:08 +0900)
committerBoram Park <boram1288.park@samsung.com>
Thu, 24 Jul 2014 09:08:11 +0000 (18:08 +0900)
Change-Id: I40f18bb35fb09931edde5de53d00b9eb65ac970f

src/xv/sec_video.c

index 1f19f5d..03c0d66 100644 (file)
@@ -511,6 +511,26 @@ _secVideoGetTvoutMode (SECPortPrivPtr pPort)
         output = OUTPUT_LCD;
     }
 
+    /* OUTPUT_LCD is default display. If default display is HDMI,
+     * we need to change OUTPUT_LCD to OUTPUT_HDMI
+     */
+    if (output == OUTPUT_LCD)
+    {
+        xf86CrtcPtr pCrtc = secCrtcGetAtGeometry (pPort->pScrn,
+                      (int)pPort->d.pDraw->x, (int)pPort->d.pDraw->y,
+                      (int)pPort->d.pDraw->width, (int)pPort->d.pDraw->height);
+        int c = secCrtcGetConnectType (pCrtc);
+
+        if (c == DRM_MODE_CONNECTOR_LVDS || c == DRM_MODE_CONNECTOR_Unknown)
+            output = OUTPUT_LCD;
+        else if (c == DRM_MODE_CONNECTOR_HDMIA || c == DRM_MODE_CONNECTOR_HDMIB)
+            output = OUTPUT_EXT;
+        else if (c == DRM_MODE_CONNECTOR_VIRTUAL)
+            output = OUTPUT_EXT;
+        else
+            XDBG_NEVER_GET_HERE (MVDO);
+    }
+
     if (pPort->drawing == ON_PIXMAP)
         output = OUTPUT_LCD;