Opened 15 years ago

Closed 15 years ago

#522 closed defect (fixed)

Newer DirectFB and DFBCardCapabilities

Reported by: kstuard ( Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: medium Keywords: DFBCardCapabilities GetCardCapabilities
Cc: Ticket locked: no



Trying to compile the latest mythtv. Following error encountered:

videoout_directfb.cpp:195: error: ‘DFBCardCapabilities’ does not name a type


Search of Google returned the following page that was of help to me:

It seems that DFBGraphicsDeviceDescription has replaced DFBCardCapabilities and GetDeviceDescription has replaced GetCardCapabilities.

The only file I changed was Files: source:mythtv/libs/libmythtv/videoout_directfb.cpp

Line 195 contains the reference to DFBCardCapabilities. Line 340 contains the reference to GetCardCapabilities.

Once these changes were made, myth compiled without any errors.

Additional Details:

Compiling with qt-embedded-free-3.3.5, DirectFB-0.9.23, and linux-fusion-1.8.

I would submit a diff of this myself, but that would break myth with earlier versions of DirectFB. I do not know which versions the change is in so do not know which #IFDEF and what-not to make the change for all versions.

I will be monitoring this ticket for any additional questions or information you might need.

Change History (4)

comment:1 Changed 15 years ago by kstuard (

I downloaded one of the example programs (DFBSee-0.7.4) to see what they do with the problem of different functions in different versions. Turns out that it wasn't able to handle the change, either. I had to do the change in that program before a make would work without errors.

comment:2 Changed 15 years ago by danielk

Owner: changed from Isaac Richards to danielk

I'll have a look at this.

comment:3 Changed 15 years ago by anonymous

The API changed in 0.9.23, and it is incompatible with previous versions. The only way to support both is conditional code, testing the DirectFB version.

   DFBCardCapabilities cardCapabilities;
   DFBGraphicsDeviceDescription cardDescription;

The corresponding interface function has changed too:

- GetCardCapabilities(data->dfb, &(data->cardCapabilities)), false);
+ GetDeviceDescription(data->dfb, &(data->cardDescription)), false);


comment:4 Changed 15 years ago by danielk

Resolution: fixed
Status: newclosed

(In [7622]) Fixes #522.

Allows MythTV to be compiled with DirectFB 9.23+ as well as current supported versions.

Note: See TracTickets for help on using tickets.