aboutsummaryrefslogtreecommitdiff
path: root/multimedia/kmplayer
diff options
context:
space:
mode:
authorJuergen Lock <nox@FreeBSD.org>2012-02-26 15:22:37 +0000
committerJuergen Lock <nox@FreeBSD.org>2012-02-26 15:22:37 +0000
commitd613b75b1d87505cc967bc6f8b7a419b2d57be5b (patch)
treefb8dfa0620864eed2a359680644745507734b86a /multimedia/kmplayer
parent448b972896fbb34deed41c2bf9c30b12c6b16bc6 (diff)
downloadports-d613b75b1d87505cc967bc6f8b7a419b2d57be5b.tar.gz
ports-d613b75b1d87505cc967bc6f8b7a419b2d57be5b.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
Notes
Notes: svn path=/head/; revision=292268
Diffstat (limited to 'multimedia/kmplayer')
-rw-r--r--multimedia/kmplayer/Makefile2
-rw-r--r--multimedia/kmplayer/files/patch-src-xineplayer.cpp170
2 files changed, 171 insertions, 1 deletions
diff --git a/multimedia/kmplayer/Makefile b/multimedia/kmplayer/Makefile
index 32272d6be9ed..f61f934bd0df 100644
--- a/multimedia/kmplayer/Makefile
+++ b/multimedia/kmplayer/Makefile
@@ -7,7 +7,7 @@
PORTNAME= kmplayer
PORTVERSION= 0.10.0c
-PORTREVISION= 6
+PORTREVISION= 7
PORTEPOCH= 2
CATEGORIES= multimedia audio kde
MASTER_SITES= http://freebsd.ricin.com/ports/distfiles/ \
diff --git a/multimedia/kmplayer/files/patch-src-xineplayer.cpp b/multimedia/kmplayer/files/patch-src-xineplayer.cpp
new file mode 100644
index 000000000000..0b63c613d8b8
--- /dev/null
+++ b/multimedia/kmplayer/files/patch-src-xineplayer.cpp
@@ -0,0 +1,170 @@
+--- src/xineplayer.cpp.orig
++++ src/xineplayer.cpp
+@@ -528,7 +528,11 @@ void KXinePlayer::play (int repeat) {
+ xine_event_create_listener_thread (event_queue, event_listener, NULL);
+ if (mrl == "cdda:/") {
+ int nr;
++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)
+ char ** mrls = xine_get_autoplay_mrls (xine, "CD", &nr);
++#else
++ const char * const * mrls = xine_get_autoplay_mrls (xine, "CD", &nr);
++#endif
+ running = 1;
+ for (int i = 0; i < nr; i++) {
+ QString m (mrls[i]);
+@@ -549,7 +553,8 @@ void KXinePlayer::play (int repeat) {
+ return;
+ }
+
+- xine_gui_send_vo_data(stream, XINE_GUI_SEND_VIDEOWIN_VISIBLE, (void *) 1);
++ // xine_gui_send_vo_data(stream, XINE_GUI_SEND_VIDEOWIN_VISIBLE, (void *) 1);
++ xine_port_send_gui_data(vo_port, XINE_GUI_SEND_VIDEOWIN_VISIBLE, (void *) 1);
+
+ running = 1;
+ QString mrlsetup = mrl;
+@@ -859,10 +864,17 @@ protected:
+ case XK_p: // previous
+ mutex.lock ();
+ if (stream) {
++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)
+ xine_event_t xine_event = {
+ XINE_EVENT_INPUT_PREVIOUS,
+ stream, 0L, 0, { 0, 0 }
+ };
++#else
++ xine_event_t xine_event = {
++ stream, 0L, 0,
++ XINE_EVENT_INPUT_PREVIOUS, { 0, 0 }
++ };
++#endif
+ xine_event_send (stream, &xine_event);
+ }
+ mutex.unlock ();
+@@ -871,10 +883,17 @@ protected:
+ case XK_n: // next
+ mutex.lock ();
+ if (stream) {
++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)
+ xine_event_t xine_event = {
+ XINE_EVENT_INPUT_NEXT,
+ stream, 0L, 0, { 0, 0 }
+ };
++#else
++ xine_event_t xine_event = {
++ stream, 0L, 0,
++ XINE_EVENT_INPUT_NEXT, { 0, 0 }
++ };
++#endif
+ xine_event_send (stream, &xine_event);
+ }
+ mutex.unlock ();
+@@ -883,10 +902,17 @@ protected:
+ case XK_u: // up menu
+ mutex.lock ();
+ if (stream) {
++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)
+ xine_event_t xine_event = {
+ XINE_EVENT_INPUT_MENU1,
+ stream, 0L, 0, { 0, 0 }
+ };
++#else
++ xine_event_t xine_event = {
++ stream, 0L, 0,
++ XINE_EVENT_INPUT_MENU1, { 0, 0 }
++ };
++#endif
+ xine_event_send (stream, &xine_event);
+ }
+ mutex.unlock ();
+@@ -895,10 +921,17 @@ protected:
+ case XK_r: // root menu
+ mutex.lock ();
+ if (stream) {
++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)
+ xine_event_t xine_event = {
+ XINE_EVENT_INPUT_MENU3,
+ stream, 0L, 0, { 0, 0 }
+ };
++#else
++ xine_event_t xine_event = {
++ stream, 0L, 0,
++ XINE_EVENT_INPUT_MENU3, { 0, 0 }
++ };
++#endif
+ xine_event_send (stream, &xine_event);
+ }
+ mutex.unlock ();
+@@ -939,7 +972,8 @@ protected:
+ if(xevent.xexpose.count != 0 || !stream || xevent.xexpose.window != wid)
+ break;
+ mutex.lock ();
+- xine_gui_send_vo_data(stream, XINE_GUI_SEND_EXPOSE_EVENT, &xevent);
++ // xine_gui_send_vo_data(stream, XINE_GUI_SEND_EXPOSE_EVENT, &xevent);
++ xine_port_send_gui_data(vo_port, XINE_GUI_SEND_EXPOSE_EVENT, &xevent);
+ mutex.unlock ();
+ break;
+
+@@ -967,17 +1001,25 @@ protected:
+ if (stream) {
+ XMotionEvent *mev = (XMotionEvent *) &xevent;
+ x11_rectangle_t rect = { mev->x, mev->y, 0, 0 };
+- if (xine_gui_send_vo_data (stream, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, (void*) &rect) == -1)
++ // if (xine_gui_send_vo_data (stream, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, (void*) &rect) == -1)
++ if (xine_port_send_gui_data (vo_port, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, (void*) &rect) == -1)
+ break;
+ xine_input_data_t data;
+ data.x = rect.x;
+ data.y = rect.y;
+ data.button = 0;
++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)
+ xine_event_t xine_event = {
+ XINE_EVENT_INPUT_MOUSE_MOVE,
+ stream, &data, sizeof (xine_input_data_t),
+ { 0 , 0 }
+ };
++#else
++ xine_event_t xine_event = {
++ stream, &data, sizeof (xine_input_data_t),
++ XINE_EVENT_INPUT_MOUSE_MOVE, { 0, 0 }
++ };
++#endif
+ mutex.lock ();
+ xine_event_send (stream, &xine_event);
+ mutex.unlock ();
+@@ -1001,17 +1043,25 @@ protected:
+ fprintf(stderr, "ButtonPress\n");
+ XButtonEvent *bev = (XButtonEvent *) &xevent;
+ x11_rectangle_t rect = { bev->x, bev->y, 0, 0 };
+- if (xine_gui_send_vo_data (stream, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, (void*) &rect) == -1)
++ // if (xine_gui_send_vo_data (stream, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, (void*) &rect) == -1)
++ if (xine_port_send_gui_data (vo_port, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, (void*) &rect) == -1)
+ break;
+ xine_input_data_t data;
+ data.x = rect.x;
+ data.y = rect.y;
+ data.button = 1;
++#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2)
+ xine_event_t xine_event = {
+ XINE_EVENT_INPUT_MOUSE_BUTTON,
+ stream, &data, sizeof (xine_input_data_t),
+ { 0, 0 }
+ };
++#else
++ xine_event_t xine_event = {
++ stream, &data, sizeof (xine_input_data_t),
++ XINE_EVENT_INPUT_MOUSE_BUTTON, { 0, 0 }
++ };
++#endif
+ mutex.lock ();
+ xine_event_send (stream, &xine_event);
+ mutex.unlock ();
+@@ -1036,7 +1086,8 @@ protected:
+ }
+
+ if(xevent.type == completion_event && stream)
+- xine_gui_send_vo_data(stream, XINE_GUI_SEND_COMPLETION_EVENT, &xevent);
++ // xine_gui_send_vo_data(stream, XINE_GUI_SEND_COMPLETION_EVENT, &xevent);
++ xine_port_send_gui_data(vo_port, XINE_GUI_SEND_COMPLETION_EVENT, &xevent);
+ }
+ }
+ };