diff options
author | nox <nox@FreeBSD.org> | 2012-02-26 23:22:37 +0800 |
---|---|---|
committer | nox <nox@FreeBSD.org> | 2012-02-26 23:22:37 +0800 |
commit | 43ee86bbe02ddd769636f9076096c9871a4f8b95 (patch) | |
tree | deefe265cb512ac12217d02a6d9cf5f09e408e70 /graphics/osg-devel | |
parent | 3d59b95822df4fff8ceaf461bcf666bc3ecd7e26 (diff) | |
download | freebsd-ports-gnome-43ee86bbe02ddd769636f9076096c9871a4f8b95.tar.gz freebsd-ports-gnome-43ee86bbe02ddd769636f9076096c9871a4f8b95.tar.zst freebsd-ports-gnome-43ee86bbe02ddd769636f9076096c9871a4f8b95.zip |
- Update multimedia/libxine to 1.2.1 with a commit merged from hg
to fix DVB support. (which still is broken for tuners using
hardware pid filtering, like when running webcamd with
"-m dvb-usb-init.force_pid_filter_usage=1".)
- Add patches to fix build of ports depending on libxine to:
audio/amarok,
graphics/gimageview [1], graphics/pornview [1],
graphics/osg [2], graphics/osg-devel [2],
multimedia/emotion,
x11/kdelibs4 [3],
multimedia/kmplayer,
multimedia/konverter,
multimedia/qdvdauthor [4],
multimedia/vdr-plugin-xineliboutput,
multimedia/xfce4-media [5],
multimedia/xine_artsplugin,
multimedia/k9copy-kde4 [6]
- Fix RUN_DEPENDS= xine... which should be LIB_DEPENDS for audio/atunes . [7]
- Mark multimedia/phonon-xine BROKEN which refuses to build with
libxine 1.2.x and is deprecated upstream. [3]
- Disable XINE knob for x11/eaglemode for which I don't have a fix. [2]
- Note: multimedia/kaffeine runs after rakuco's x11/kdelibs4 fix,
but it only shows a green window at least with mp4 or ts files.
(avi files and audio still work.) It seems the kaffeine developers
have found this too and are now switching away from libxine in
their git repo - so I guess we'll have a broken kaffeine at least
until they release a new version.
- Bump PORTREVISIONs for ports depending on libxine by default.
- Add optional libbluray support to multimedia/libxine and
multimedia/vdr-plugin-xineliboutput.
PR: ports/165057 [6]
Submitted by: nox (self) [6], rakuco [3]
Approved by: dinoex (maintainer, via irc) [1],
amdmi3 (maintainer, via private email) [2],
kde@ (rakuco, via irc) [3],
Phil Oleson <oz@nixil.net> (maintainer, via private email) [4],
xfce@ (rene, via irc) [5],
Eduardo Gielamo Oliveira <egoliveira@gmail.com> (maintainer) [6],
lme (maintainer, via irc) [7]
Thanx to: Darren Salt (upstream libxine maintainer) for a few
hints on irc to help with patching ports depending
on deprecated libxine features
Diffstat (limited to 'graphics/osg-devel')
-rw-r--r-- | graphics/osg-devel/Makefile | 2 | ||||
-rw-r--r-- | graphics/osg-devel/files/patch-src-osgPlugins-xine-video_out_rgb.c | 98 |
2 files changed, 99 insertions, 1 deletions
diff --git a/graphics/osg-devel/Makefile b/graphics/osg-devel/Makefile index a03c23a9d6d3..016151f3a0ce 100644 --- a/graphics/osg-devel/Makefile +++ b/graphics/osg-devel/Makefile @@ -131,7 +131,7 @@ PLIST_SUB+= OPENVRML="@comment " .if defined(WITH_XINE) FORCE_REQUIRE+= Xine -LIB_DEPENDS+= xine.1:${PORTSDIR}/multimedia/libxine +LIB_DEPENDS+= xine.2:${PORTSDIR}/multimedia/libxine PLIST_SUB+= XINE="" .else FORCE_IGNORE+= Xine diff --git a/graphics/osg-devel/files/patch-src-osgPlugins-xine-video_out_rgb.c b/graphics/osg-devel/files/patch-src-osgPlugins-xine-video_out_rgb.c new file mode 100644 index 000000000000..8de96028579f --- /dev/null +++ b/graphics/osg-devel/files/patch-src-osgPlugins-xine-video_out_rgb.c @@ -0,0 +1,98 @@ +--- src/osgPlugins/xine/video_out_rgb.c.orig ++++ src/osgPlugins/xine/video_out_rgb.c +@@ -51,6 +51,11 @@ + #include "xine/video_out.h" + #include "video_out_rgb.h" + ++#if !(XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)) ++#define round round_not ++#include <libavutil/mem.h> ++#undef round ++#endif + + #define THIS "video_out_rgb" + +@@ -2237,9 +2242,15 @@ rgbout_frame_dispose(vo_frame_t* vo_fram + + EVAL(vo_frame != NULL) + ++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) + release(frame->chunk[0]); + release(frame->chunk[1]); + release(frame->chunk[2]); ++#else ++ av_freep(frame->chunk[0]); ++ av_freep(frame->chunk[1]); ++ av_freep(frame->chunk[2]); ++#endif + free(frame); + + FAILURE: +@@ -2303,9 +2314,15 @@ rgbout_update_frame_format(vo_driver_t* + this->frame_width = frame->width; + this->frame_height = frame->height; + ++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) + release(frame->chunk[0]); + release(frame->chunk[1]); + release(frame->chunk[2]); ++#else ++ av_freep(frame->chunk[0]); ++ av_freep(frame->chunk[1]); ++ av_freep(frame->chunk[2]); ++#endif + + CHECK_FRAME: + switch(frame->format) +@@ -2322,6 +2339,7 @@ CHECK_FRAME: + frame->vo_frame.pitches[0] = (frame->width > 7) ? frame->width : 8; + frame->vo_frame.pitches[1] = (frame->width > 15) ? (frame->width >> 1) : 8; + frame->vo_frame.pitches[2] = frame->vo_frame.pitches[1]; ++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) + frame->vo_frame.base[0] = (uint8_t*) xine_xmalloc_aligned(16, + frame->vo_frame.pitches[0] * frame->height, + &(frame->chunk[0])); +@@ -2331,6 +2349,14 @@ CHECK_FRAME: + frame->vo_frame.base[2] = (uint8_t*) xine_xmalloc_aligned(16, + frame->vo_frame.pitches[2] * (frame->height >> 1), + &(frame->chunk[2])); ++#else ++ frame->vo_frame.base[0] = (uint8_t*)(frame->chunk[0] = ++ av_mallocz(frame->vo_frame.pitches[0] * frame->height)); ++ frame->vo_frame.base[1] = (uint8_t*)(frame->chunk[1] = ++ av_mallocz(frame->vo_frame.pitches[1] * (frame->height >> 1))); ++ frame->vo_frame.base[2] = (uint8_t*)(frame->chunk[2] = ++ av_mallocz(frame->vo_frame.pitches[2] * (frame->height >> 1))); ++#endif + } + break; + +@@ -2346,9 +2372,14 @@ CHECK_FRAME: + frame->vo_frame.pitches[0] = (frame->width > 3) ? (frame->width << 1) : 8; + frame->vo_frame.pitches[1] = 0; + frame->vo_frame.pitches[2] = 0; ++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) + frame->vo_frame.base[0] = (uint8_t*) xine_xmalloc_aligned(16, + frame->vo_frame.pitches[0] * frame->height, + &(frame->chunk[0])); ++#else ++ frame->vo_frame.base[0] = (uint8_t*)(frame->chunk[0] = ++ av_mallocz(frame->vo_frame.pitches[0] * frame->height)); ++#endif + frame->vo_frame.base[1] = NULL; + frame->vo_frame.base[2] = NULL; + } +@@ -2769,8 +2800,13 @@ 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); |