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

Reply via email to