[EMAIL PROTECTED] wrote:
I finally got DirectFB (0.9.20) setup and working on my new test system
(using a G450!).

Argh, a G450... sorry I missed that, I just woke up! I guess you should be using 'dfgmga'.


But now comes the problem I am having with freevo & directfb.
I have set in my freevo.conf "display = directfb"
And when I go to play a movie, all I get is a black screen, and no video /
audio comes out. Pretty much the same problem as the poster below had back
in March.

Ok, if you use 'dfbmga' then OSD_STOP_WHEN_PLAYING = 1 gets set automaticly, which might fix your problem (you can set that anyways in local_conf.py).


The attached patch (against CVS) contains my directfb changes (which I'd still like to commit) and using 'directfb' may work for you with no further changes.

-Rob
Index: freevo_config.py
===================================================================
RCS file: /cvsroot/freevo/freevo/freevo_config.py,v
retrieving revision 1.345
diff -u -r1.345 freevo_config.py
--- freevo_config.py    4 Jul 2004 08:05:12 -0000       1.345
+++ freevo_config.py    8 Jul 2004 11:29:07 -0000
@@ -938,7 +938,7 @@
     OSD_OVERSCAN_X = 20
     OSD_OVERSCAN_Y = 10
 
-if CONF.display == 'dfbmga':
+if CONF.display in ( 'directfb', 'dfbmga' ):
     OSD_OVERSCAN_X = 50
     OSD_OVERSCAN_Y = 50
 
@@ -952,7 +952,7 @@
 #
 OSD_STOP_WHEN_PLAYING = 0
 
-if CONF.display in ( 'dfbmga', 'dxr3', 'dga' ):
+if CONF.display in ( 'directfb', 'dfbmga', 'dxr3', 'dga' ):
     OSD_STOP_WHEN_PLAYING = 1
 
 #
@@ -1043,7 +1043,7 @@
 # prio <0 has no effect unless run as root.
 MPLAYER_NICE         = -20             
 
-if CONF.display == 'dfbmga':
+if CONF.display in ( 'directfb', 'dfbmga' ):
     MPLAYER_ARGS_DEF     = ('-autosync 100 -nolirc ' +
                             '-autoq 100 -fs ')
 else:
Index: contrib/debian/freevo.templates
===================================================================
RCS file: /cvsroot/freevo/freevo/contrib/debian/freevo.templates,v
retrieving revision 1.2
diff -u -r1.2 freevo.templates
--- contrib/debian/freevo.templates     25 Oct 2003 14:44:02 -0000      1.2
+++ contrib/debian/freevo.templates     8 Jul 2004 11:29:07 -0000
@@ -1,6 +1,6 @@
 Template: freevo/display
 Type: select
-Choices: x11, fbdev, dxr3, mga, dfbmga, dga
+Choices: x11, fbdev, dxr3, mga, directfb, dfbmga, dga
 Description: Video output
  Choose the output method to use for Freevo
 
Index: src/osd.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/osd.py,v
retrieving revision 1.163
diff -u -r1.163 osd.py
--- src/osd.py  29 Jun 2004 18:29:20 -0000      1.163
+++ src/osd.py  8 Jul 2004 11:29:08 -0000
@@ -339,10 +339,9 @@
         self.width  = config.CONF.width
         self.height = config.CONF.height
 
-        if config.CONF.display== 'dxr3':
+        if config.CONF.display == 'dxr3':
             os.environ['SDL_VIDEODRIVER'] = 'dxr3'
-
-        if config.CONF.display == 'dfbmga':
+        elif config.CONF.display in ( 'directfb', 'dfbmga' ):
             os.environ['SDL_VIDEODRIVER'] = 'directfb'
 
         # sometimes this fails
Index: src/setup_freevo.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/setup_freevo.py,v
retrieving revision 1.16
diff -u -r1.16 setup_freevo.py
--- src/setup_freevo.py 20 Apr 2004 17:33:59 -0000      1.16
+++ src/setup_freevo.py 8 Jul 2004 11:29:08 -0000
@@ -129,7 +129,7 @@
 
    --display=DISP               set the display
                                   DISP can be x11, fbdev, dxr3, mga, 
-                                  dfbmga or dga
+                                  directfb, dfbmga or dga
                                   
    --tv=NORM                    set the TV standard
                                   NORM can be ntsc, pal or secam
@@ -167,7 +167,7 @@
 
 def check_config(conf):
     vals_geometry = ['800x600', '768x576', '640x480']
-    vals_display = ['x11', 'fbdev', 'dfbmga', 'mga', 'dxr3', 'dga']
+    vals_display = ['x11', 'fbdev', 'directfb', 'dfbmga', 'mga', 'dxr3', 'dga']
     vals_tv = ['ntsc', 'pal', 'secam']
     vals_chanlist = ['us-bcast', 'us-cable', 'us-cable-hrc',
                      'japan-bcast', 'japan-cable', 'europe-west',
@@ -316,7 +316,7 @@
     check_config(conf)
 
     # set geometry for display/tv combinations without a choice
-    if conf.display == 'dfbmga':
+    if conf.display in ( 'directfb', 'dfbmga' ):
         if conf.tv == 'ntsc':
             conf.geometry = '720x480'
         else:
Index: src/tv/plugins/tvtime.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/tv/plugins/tvtime.py,v
retrieving revision 1.36
diff -u -r1.36 tvtime.py
--- src/tv/plugins/tvtime.py    6 Jun 2004 17:15:10 -0000       1.36
+++ src/tv/plugins/tvtime.py    8 Jul 2004 11:29:08 -0000
@@ -476,9 +476,9 @@
             outputplugin = config.CONF.display
             if config.CONF.display == 'x11':
                 outputplugin = 'Xv'
-            if config.CONF.display == 'mga':
+            elif config.CONF.display == 'mga':
                 outputplugin = 'mga'
-            if config.CONF.display == 'dfbmga':
+            elif config.CONF.display in ( 'directfb', 'dfbmga' ):
                 outputplugin = 'directfb'
 
             if mode == 'vcr':
Index: src/www/__init__.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/www/__init__.py,v
retrieving revision 1.7
diff -u -r1.7 __init__.py
--- src/www/__init__.py 18 Nov 2003 12:58:38 -0000      1.7
+++ src/www/__init__.py 8 Jul 2004 11:29:08 -0000
@@ -5,12 +5,12 @@
 
 class PluginInterface(plugin.DaemonPlugin):
     def __init__(self):
-        if config.CONF.display in ('dxr3', 'dfbmga'):
+        if config.CONF.display in ('dxr3', 'directfb', 'dfbmga'):
             print 'For some strange reason, the starting of the webserver inside'
-            print 'Freevo messes up with the DXR3 and dfbmga output. The webserver'
+            print 'Freevo messes up with the DXR3 and directfb output. The webserver'
             print 'plugin will be disabled. Start it from outside Freevo with'
             print 'freevo webserver [start|stop]'
-            self.reason = 'dxr3 or dfbmga output'
+            self.reason = 'dxr3 or directfb output'
             return
         plugin.DaemonPlugin.__init__(self)
         self.pid = None

Reply via email to