Mailing List archive

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

[vdr] Re: ANNOUNCE: Softdevice plugin. Use /dev/fb for output



alexw@undercover.mine.nu wrote:

Hi Roland,


That's really a nice job. I hope you still improve your plugin ;-)

I did some tests with a Matrox G250 card. The result is not fabulous. As you mention in the REAME, the fbdev output is not OK. I am able to see the startup channel message OSD and a VDR crash. Sometimes with a I-Frame in background.

As fbdev was not working I decided to switch to the directfb output possibility. I took today's CVS (directfb and dfb++). After complete installation I am able to run the fb_cpuload test program. That part is OK.
The plugins compiles without any warning. But when I run VDR I receive an error dealing with dfb_config.
.../libdirectfb_fbdev.o: undefined symbol: dvb_config

I did some investigation and the error comes from the Creation of the dfb = DirectFB::Create(); line.
sounds like the directfb version that was used when linking the softdevice plugin does not matches the one used when compiling the requested system module (e.g. /usr/local/lib/directfb-0.9.21/systems/libdirectfb_fbdev.so or /usr/local/lib/directfb-0.9.21/systems/libdirectfb_sdl.so).

Have you had multiple directfb versions installed in the past? Does your distribution installs directfb somewhere? if so either uninstall the old files or force the softdevice plugin to use the correct directfb version (by using the correct directfb-config script and setting up LD_LIBRARY_PATH correctly).

In any case you might want to ask such directfb related questions on the directfb mailing list - the people there will be happy to give you all the help you need to get directfb running.


Q2: Is there any special reason to use a IDirectFB object instead of an IDirectFB_C object?
class DirectFB is the DFB++ class. IDirectFB_C is not an object but the corresponding C struct. dfb++.h renames the C structs and adds the _C suffix in order to avoid name clashes:

---- from dfb++.h: ------

#define IDirectFB IDirectFB_C
#define IDirectFBDisplayLayer IDirectFBDisplayLayer_C
#define IDirectFBSurface IDirectFBSurface_C
#define IDirectFBPalette IDirectFBPalette_C
#define IDirectFBWindow IDirectFBWindow_C
#define IDirectFBInputDevice IDirectFBInputDevice_C
#define IDirectFBEventBuffer IDirectFBEventBuffer_C
#define IDirectFBFont IDirectFBFont_C
#define IDirectFBImageProvider IDirectFBImageProvider_C
#define IDirectFBVideoProvider IDirectFBVideoProvider_C
#define IDirectFBDataBuffer IDirectFBDataBuffer_C

#include <directfb.h>

#undef IDirectFB
#undef IDirectFBDisplayLayer
#undef IDirectFBSurface
#undef IDirectFBPalette
#undef IDirectFBWindow
#undef IDirectFBInputDevice
#undef IDirectFBEventBuffer
#undef IDirectFBFont
#undef IDirectFBImageProvider
#undef IDirectFBVideoProvider
#undef IDirectFBDataBuffer

class DirectFB;
class IDirectFB;
class IDirectFBDisplayLayer;
class IDirectFBSurface;
class IDirectFBPalette;
class IDirectFBWindow;
class IDirectFBInputDevice;
class IDirectFBEventBuffer;
class IDirectFBFont;
class IDirectFBImageProvider;
class IDirectFBVideoProvider;
class IDirectFBDataBuffer;

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

hope that helps,

Holger



--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index