By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 845

Summary: Build issue: xine-artsplugin FTBFS with newer xine API
Product: TDE Reporter: L0ner <sh4dou>
Component: tdemultimediaAssignee: Calvin Morrison <mutantturkey>
Status: RESOLVED FIXED    
Severity: major CC: bugwatch, darrella, ktbz.aoneshot.eliddell
Priority: P5    
Version: R14.0.0 [Trinity]   
Hardware: All   
OS: Linux   
Compiler Version: gcc (GCC) 4.6.2 20120120 TDE Version String: 3.5.13
Application Version: Application Name: xine-artsplugin
Attachments: reenables xine-artsplugin compilation.
artsd log when tried to play audio file in artsplay using xine-artsplugin
Update patch with preprocessor checks

Description L0ner 2012-02-02 10:34:13 CST
API from newer xine versions has changed thus blocking compilation of 
xine-artsplugin. I wrote patch to re-eanable compilation but it still seems 
broken, since upon loading plugin crashes artsd, or result is in arts 
complaining about this plugin. Besides amarok can't detect this plugin as it's 
sound engine (may be unrelated/archlinux specific).
Comment 1 L0ner 2012-02-02 10:35:32 CST
Created attachment 316 [details]
reenables xine-artsplugin compilation.
Comment 2 L0ner 2012-02-02 12:09:21 CST
Created attachment 317 [details]
artsd log when tried to play audio file in artsplay using xine-artsplugin
Comment 3 Calvin Morrison 2012-02-13 09:02:44 CST
Okay so this might only affect Arch at this point, but itll hit everyone else when their distro hits the broken API

Looking into it
Comment 4 Calvin Morrison 2012-02-13 09:02:44 CST
Okay so this might only affect Arch at this point, but itll hit everyone else when their distro hits the broken API

Looking into it
Comment 5 L0ner 2012-02-13 11:04:49 CST
The bes thing would be to include some sort of version check. In qt3 there are statements like "#if PNG_LIBPNG_VER_MAJOR>1" to check the libpng version. Those are preprocessor statements. Maybe something similiar would do the trick.
ie:

#if XINE_VERSON<"version that breaks API"
use_older_api();
#else
use_never_aip();
#endif

That would enable usage of the code with both older and never xine api.
Comment 6 ktbz.aoneshot.eliddell 2012-03-14 11:42:29 CDT
When we (Gentoo) had problems with xine while compiling kaffeine, the watershed version turned out to be xine-lib 1.2.0—it and everything after it caused breakage, but earlier versions (1.1.19, 1.1.20) worked fine.  So 1.2.0 is probably our "version that breaks API" and the one that needs to be checked for changes.
Comment 7 Darrell 2012-04-28 15:11:33 CDT
Created attachment 567 [details]
Update patch with preprocessor checks

I'm attaching an updated patch for tdemultimedia. The patch uses preprocessor checks and therefore should work for xine-libs on both sides of the change.

I do not have a system with xine-libs > 1.1.19. Therefore I can only test that the patch works with that version.

Please test!
Comment 8 Darrell 2012-05-08 14:52:34 CDT
Patch pushed to GIT in hash 15b9ce53.

Resolved.

Thanks for the patch!