Thanks Martin, fix now merged and submitted to svn/trunk.
On 7 January 2012 19:35, Martin von Gagern <[email protected]> wrote: > Hi! > > The xine osg plugin won't compile against xine-lib-1.2.0: > > OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c:2772:25: > error: ‘video_driver_class_t’ has no member named ‘get_identifier’ > OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c:2773:25: > error: ‘video_driver_class_t’ has no member named ‘get_description’ > > This has been reported on Gentoo: https://bugs.gentoo.org/397643 > The relevant commit to the xine-lib repository is > http://anonscm.debian.org/hg/xine-lib/xine-lib-1.2/diff/806b590a4d38/src/xine-engine/video_out.h > > This change addresses the issue. I'm sending the full modified file as > an attachment. It is based on the 3.0.1 release of OSG. I'll also paste > a diff below. You will find a colorized view in the Gentoo bugzilla. > > The xine-lib API changed in the following way: the identifier and > description members are now "const char*" strings instead of "char* > (*)(video_driver_class_t*)" getter function. As the functions in the osg > plugin will always simply return a string literal, without accessing > their argument, it is safe to simply call them with a NULL argument and > use the returned string. This makes it easy to support both API > versions. When you drop support for older xine one day, you might want > to move the string literals to the assignment, getting rid of the > functions in the process. > > The modified code compiles for me. I'm not sure how to test it, as I've > only got OSG around in order to build (and hopefully one day even use) > Flightgear. > > I'm assigning my copyright in this change to the osg project leads. > > Martin von Gagern > > --- OpenSceneGraph-3.0.1.orig/src/osgPlugins/xine/video_out_rgb.c > +++ OpenSceneGraph-3.0.1/src/osgPlugins/xine/video_out_rgb.c > @@ -2769,8 +2769,14 @@ init_class(xine_t* xine, void* vo_visual > clear(rgb_class, sizeof(rgbout_class_t)); > > rgb_class->driver_class.open_plugin = open_plugin; > +#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && > XINE_MINOR_VERSION < 2) > rgb_class->driver_class.get_identifier = get_identifier; > rgb_class->driver_class.get_description = get_description; > +#else > + rgb_class->driver_class.identifier = get_identifier(NULL); > + rgb_class->driver_class.description = get_description(NULL); > +#endif > + > rgb_class->driver_class.dispose = dispose_class; > > return(rgb_class); > > > _______________________________________________ > osg-submissions mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
