Duncan Webb wrote:

Ville Syrjälä wrote:

On Fri, Nov 25, 2005 at 08:36:41AM +0100, Jiri Svoboda wrote:
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ville Syrjälä
Sent: Thursday, November 24, 2005 6:47 PM
To: Duncan Webb
Cc: [email protected]
Subject: Re: [directfb-users] MPlayer on directfb fails to deinitialisecorrectly

On Mon, Nov 21, 2005 at 10:00:15AM -0100, Duncan Webb wrote:
When I run mplayer with -vo directfb now everything exits but leaves the last frame on the console. The directfb message contain:

(!!!) *** WARNING [Application exited without de-initialization of DirectFB!] *** [core.c:727 in dfb_core_deinit_check()]

At least in my copy of libvo/vo_directfb2.c the Release() function is commented out (line 1024). It seems it doesn't like to to do the preinit() more than once so if you enable the Release() bit you also have to comment out the "if (dfb) return 0;" at line 189. Oh and you should also release the keyboard and event buffer too (around line 995).

Yes, uninit is disabled in vo_directfb2.c. More than one (while playing multiple media files) init/deinit of dfb caused
troubles. So I have commented out dfb deinit.

Hmm. It works with dfbmga. Also dfbmga supports -fixed-vo which means it doesn't do preinit()/uninit() for every file.

This seems to work well on the console; interestingly, it doesn't fully exit when from from a xterm on another machine but that does not matter to me.

Thanks again,
Duncan

------------------------------------------------------------------------

--- main/libvo/vo_directfb2.c   2005-11-25 14:31:10 +0100
+++ main/libvo/vo_directfb2.c-patched   2005-11-25 12:36:58 +0100
@@ -991,20 +991,21 @@
  /*
   * (Release)
   */
-/*
  mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Releasing buffer\n");
  if (buffer) buffer->Release (buffer);
  mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Releasing keyboard\n");
  if (keyboard) keyboard->Release (keyboard);
-*/
+
  if (frame) {
    mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Releasing frame\n");
    frame->Release (frame);
    frame = NULL;
  };

-//  switch off BES
-//  if (layer) layer->SetOpacity(layer,0);
+  if (layer) {
+   mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Setting Opacity 0 (switch off BES)\n");
+   layer->SetOpacity(layer,0);
+  }

  if (layer) {
   mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Releasing layer\n");
@@ -1018,11 +1019,9 @@
   primary = NULL;
  }

-
-/*  mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Releasing DirectFB library\n");
-
+  mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Releasing DirectFB library\n");
  dfb->Release (dfb);
-*/
+
  mp_msg(MSGT_VO, MSGL_INFO,"DirectFB: Uninit done.\n");
}



_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to