Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Softdevice 0.0.7pre2 crash w/ DFB, CLE266



Hello,

I'm back from holidays and have tried to test the brand new softdevice release, with no luck...
This is an exception thrown in cDFBVideoOut::SetParams() by a call to videoLayer->SetScreenLocation()

I added a few lines to get more info :

--- vdr-plugin-softdevice-0.0.7pre2.orig/video-dfb.c 2004-07-25 21:56:23.000000000 +0200
+++ vdr-plugin-softdevice-0.0.7pre2/video-dfb.c 2004-07-31 16:42:18.000000000 +0200
@@ -495,11 +495,25 @@
videoSurface = NULL;

if (desc.caps & DLCAPS_SCREEN_LOCATION)
+// if (0)
{
+ try
+ {
+ fprintf(stderr,"videoLayer->SetScreenLocation(%f, %f, %f, %f)",
+ (float) lxoff / (float) dwidth,
+ (float) lyoff / (float) dheight,
+ (float) lwidth / (float) dwidth,
+ (float) lheight / (float) dheight);
videoLayer->SetScreenLocation((float) lxoff / (float) dwidth,
(float) lyoff / (float) dheight,
(float) lwidth / (float) dwidth,
(float) lheight / (float) dheight);
+ }
+ catch (DFBException *ex)
+ {
+ fprintf(stderr,"Caught: action=%s, result=%s", ex->GetAction(), ex->GetResult());
+ exit(1);
+ }
}
else
{
--- end diff


The resulting vdr output is :

================================
root@vdr:~# vdr --config=/etc/vdr --video=/home/video --lib=/usr/lib/vdr/plugins --shutdown=/bin/true --plugin='softdevice -vo dfb:'
[softdevice] processing args
[softdevice] argv [0] = softdevice
[softdevice] argv [1] = -vo
[softdevice] initializing Plugin
[softdevice] Initializing Video Out
[softdevice] ffmpeg version(0.4.8) build(4680)
[dfb] init
(*) DirectFB/Config: Parsing config file '/etc/directfbrc'.

---------------------- DirectFB v0.9.21 ---------------------
(c) 2000-2002 convergence integrated media GmbH
(c) 2002-2004 convergence GmbH
-----------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (with MMX support) (2004-07-31 11:34)
(*) Direct/Memcpy: Using MMXEXT optimized memcpy()
(*) Direct/Modules: suppress module 'keyboard'
(*) Direct/Modules: suppress module 'lirc'
(*) DirectFB/Genefx: MMX detected and enabled
(*) Direct/Modules: suppress module 'cle266'
(*) DirectFB/Graphics: VIA/S3G UniChrome 0.4 (-)
(*) DirectFB/WM: Default 0.1 (Convergence GmbH)
(!!!) *** WARNING [no video mode set yet] *** [../../../src/core/layers.c:536 in dfb_screen_rectangle()]
(!!!) *** WARNING [no video mode set yet] *** [../../../src/core/layers.c:536 in dfb_screen_rectangle()]
[dfb] RAM: 33554432 bytes
[dfb] Accellerated Functions: FillRectange DrawRectange DrawLine FillTriangle Blit StretchBlit All
[dfb] Drawing Flags: Blend Xor
[dfb] Surface Blitting Flags: BlendAlpha BlendColorAlpha Colorize SrcColorkey DstColorkey Deinterlace
[dfb] Supported video Modes are: 720x576@32 720x576@16
[dfb] Enumeratig display Layers
Layer 0 FBDev Primary Layer Type: graphics
Caps: brightness contrast saturation surface
Layer 1 VIA Unichrome Video Type: graphics picture video
Caps: deinterlacing dst_colorkey opacity screen_location surface
This is our videoLayer
(!!!) *** WARNING [no video mode set yet] *** [../../../src/core/layers.c:536 in dfb_screen_rectangle()]
uc_overlay: color-keying is disabled
Layer 2 VIA Unichrome DVD Subpicture Type: graphics picture video
Caps: opacity surface
uc_overlay: color-keying is disabled
[dfb] width = 720, height = 576
[dfb] got fmt = 0x00418c04 bpp = 32
[dfb] Using this layer for OSD: (FBDev Primary Layer - [720x576])
osdSurface::
- videoonly
- flipping
videoSurface::
- videoonly
[dfb] Configuring CooperativeLevel for Overlay
[dfb] Configuring ColorKeying
uc_overlay: color-keying is disabled
[dfb] Configuring CooperativeLevel for OSD
[dfb] Using this layer for OSD: FBDev Primary Layer
[dfb] Using this layer for Video out: VIA Unichrome Video
[dfb] (re)configuring Videolayer to 720 x 576 (720x576)
videoLayer->SetScreenLocation(0.000000, 0.000000, 1.000000, 1.000000)Caught: action=IDirectFBDisplayLayer::SetScreenLocation(float, float, float, float), result=Invalid area present! (!!!) *** WARNING [Application exited without deinitialization of DirectFB!] *** [../../../src/core/core.c:638 in dfb_core_deinit_check()]
================================

The interesting bit : "Caught: action=IDirectFBDisplayLayer::SetScreenLocation(float, float, float, float), result=Invalid area present!"


I tried to not call videoLayer->SetScreenLocation() (with the "if (0)") but it just crashes a few lines after that.

I also tried different contents for /etc/directfbrc :
fbdev=/dev/fb0
#mode=720x576
#depth=32
#pixelformat=AiRGB
#pixelformat=ARGB
#sync
disable-module=keyboard
disable-module=lirc
disable-module=cle266


Versions :
* vdr 1.3.11
* softdevice 0.0.7pre2
* directfb 0.9.21 from CVS 20040622 (applied the epia patch attached to the pre1 release mail)
* fusionsound + dfb++ 0.9.21 from CVS 20040616
* ffmpeg 0.4.8
* kernel 2.4.26-epia2
* Debian "testing"
* EPIA M 10000 mobo, Skystar2 budget DVB-S


TIA all.

As a side note : which of the output method is the most tested/stable ? I don't really wan't to test Xv (no X on that box), but is Vidix ready and less subject to tweaks than DFB? (I tried FB, but the CPU is not strong enough).

--
NH





Home | Main Index | Thread Index