Le 09/12/15 03:18, Vadim Zhukov a écrit :
2015-09-03 23:15 GMT+03:00 Alexandre H <openbs...@wanadoo.fr>:
Le 09/02/15 13:23, Nigel Taylor a écrit :

On 09/01/15 23:54, Alexandre H wrote:

Le 08/27/15 01:22, Nigel Taylor a écrit :

On 08/25/15 22:58, Alexandre H wrote:

Hello,

Please, have a look to the following bug.

Environment:

           System      : OpenBSD 5.8
           Details     : OpenBSD 5.8 (CUSTOM.MP-2) #0: Fri Jul 31
19:48:09
CEST 2015

r...@makix.my.domain:/usr/src/sys/arch/amd64/compile/CUSTOM.MP-2

           Architecture: OpenBSD.amd64
           Machine     : amd64
       I have already sent the dmesg to tech@ the 4 august

Description:

           5.8 amd64 :
       With kdebase alone artsd work as excepted.
       With kdebase and kdemultimedia artsd coredumps with ogg & mp3 and
work with wav.
       The bug happens in 5.7-release and 5.8.

How-To-Repeat:


1) In 5.7-release or 5.8 you need to install kdebase-3.5.10 and
kdemultimedia-3.5.10.

2) With KDE3 started, you stop artsd :
kill -15 $(ps -aux|grep artsd|grep -v grep|awk '{print $2}')

3) You check that artsd is stopped :
ps -aux|grep artsd

4) In a ttyC (or in a Konsole) you launch a new artsd :
artsd

5) In another ttyC (or in another Konsole) you launch the following
command (you can choose another mp3 or a ogg file) :
artsplay song57.mp3

In the first console you will have the following output :

artsd:/usr/local/lib/libarts_xine.so.0.0: undefined symbol
'ao_new_port'
lazy binding failed!
Segmentation fault (core dumped)

And you will find a file artsd.core.
-----------------------------------------------------------
# gdb -e artsd -c artsd.core
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "amd64-unknown-openbsd5.8".
Core was generated by `artsd'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libpthread.so.19.0...done.
Loaded symbols for /usr/lib/libpthread.so.19.0
Loaded symbols for /usr/local/bin/artsd
Reading symbols from /usr/local/lib/libsoundserver_idl.so.2.0...done.
Loaded symbols for /usr/local/lib/libsoundserver_idl.so.2.0
Reading symbols from /usr/local/lib/libkmedia2_idl.so.2.0...done.
Loaded symbols for /usr/local/lib/libkmedia2_idl.so.2.0
Reading symbols from /usr/local/lib/libartsflow.so.2.0...done.
Loaded symbols for /usr/local/lib/libartsflow.so.2.0
Reading symbols from /usr/local/lib/libmcop.so.2.0...done.
Loaded symbols for /usr/local/lib/libmcop.so.2.0
Reading symbols from /usr/local/lib/libgmodule-2.0.so.4200.1...done.
Loaded symbols for /usr/local/lib/libgmodule-2.0.so.4200.1
Reading symbols from /usr/local/lib/libglib-2.0.so.4200.1...done.
Loaded symbols for /usr/local/lib/libglib-2.0.so.4200.1
Reading symbols from /usr/local/lib/libiconv.so.6.0...done.
Loaded symbols for /usr/local/lib/libiconv.so.6.0
Reading symbols from /usr/local/lib/libpcre.so.3.0...done.
Loaded symbols for /usr/local/lib/libpcre.so.3.0
Reading symbols from /usr/local/lib/libintl.so.6.0...done.
Loaded symbols for /usr/local/lib/libintl.so.6.0
Reading symbols from /usr/local/lib/libgthread-2.0.so.4200.1...done.
Loaded symbols for /usr/local/lib/libgthread-2.0.so.4200.1
Reading symbols from /usr/local/lib/libartsflow_idl.so.2.0...done.
Loaded symbols for /usr/local/lib/libartsflow_idl.so.2.0
Reading symbols from /usr/local/lib/libaudiofile.so.1.0...done.
Loaded symbols for /usr/local/lib/libaudiofile.so.1.0
Reading symbols from /usr/local/lib/libFLAC.so.10.0...done.
Loaded symbols for /usr/local/lib/libFLAC.so.10.0
Reading symbols from /usr/local/lib/libogg.so.6.2...done.
Loaded symbols for /usr/local/lib/libogg.so.6.2
Reading symbols from /usr/lib/libsndio.so.6.0...done.
Loaded symbols for /usr/lib/libsndio.so.6.0
Reading symbols from /usr/local/lib/libvorbis.so.9.0...done.
Loaded symbols for /usr/local/lib/libvorbis.so.9.0
Reading symbols from /usr/local/lib/libvorbisfile.so.6.0...done.
Loaded symbols for /usr/local/lib/libvorbisfile.so.6.0
Reading symbols from /usr/local/lib/libvorbisenc.so.3.1...done.
Loaded symbols for /usr/local/lib/libvorbisenc.so.3.1
Reading symbols from /usr/local/lib/libmad.so.2.1...done.
Loaded symbols for /usr/local/lib/libmad.so.2.1
Reading symbols from /usr/local/lib/libmcop_mt.so.2.0...done.
Loaded symbols for /usr/local/lib/libmcop_mt.so.2.0
Reading symbols from /usr/lib/libstdc++.so.57.0...done.
Loaded symbols for /usr/lib/libstdc++.so.57.0
Reading symbols from /usr/lib/libm.so.9.0...done.
Loaded symbols for /usr/lib/libm.so.9.0
Symbols already loaded for /usr/lib/libpthread.so.19.0
Reading symbols from /usr/lib/libc.so.80.1...done.
Loaded symbols for /usr/lib/libc.so.80.1
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
Reading symbols from /usr/local/lib/libartsmidi.so.1.0...done.
Loaded symbols for /usr/local/lib/libartsmidi.so.1.0
Reading symbols from /usr/local/lib/libartsmidi_idl.so.1.0...done.
Loaded symbols for /usr/local/lib/libartsmidi_idl.so.1.0
Reading symbols from /usr/local/lib/libartsbuilder.so.1.0...done.
Loaded symbols for /usr/local/lib/libartsbuilder.so.1.0
Reading symbols from /usr/local/lib/libarts_xine.so.0.0...done.
Loaded symbols for /usr/local/lib/libarts_xine.so.0.0
Reading symbols from /usr/local/lib/libxine.so.32.0...done.
Loaded symbols for /usr/local/lib/libxine.so.32.0
Reading symbols from /usr/X11R6/lib/libfontconfig.so.9.1...done.
Loaded symbols for /usr/X11R6/lib/libfontconfig.so.9.1
Reading symbols from /usr/X11R6/lib/libfreetype.so.24.0...done.
Loaded symbols for /usr/X11R6/lib/libfreetype.so.24.0
Reading symbols from /usr/lib/libz.so.5.0...done.
Loaded symbols for /usr/lib/libz.so.5.0
Reading symbols from /usr/lib/libexpat.so.11.0...done.
Loaded symbols for /usr/lib/libexpat.so.11.0
Reading symbols from /usr/X11R6/lib/libpthread-stubs.so.2.0...done.
Loaded symbols for /usr/X11R6/lib/libpthread-stubs.so.2.0
Reading symbols from /usr/local/lib/libxdg-basedir.so.2.0...done.
Loaded symbols for /usr/local/lib/libxdg-basedir.so.2.0
Reading symbols from /usr/local/lib/libavutil.so.12.3...done.
Loaded symbols for /usr/local/lib/libavutil.so.12.3
Reading symbols from /usr/X11R6/lib/libX11.so.16.1...done.
Loaded symbols for /usr/X11R6/lib/libX11.so.16.1
Reading symbols from /usr/X11R6/lib/libxcb.so.3.1...done.
Loaded symbols for /usr/X11R6/lib/libxcb.so.3.1
Reading symbols from /usr/X11R6/lib/libXext.so.13.0...done.
Loaded symbols for /usr/X11R6/lib/libXext.so.13.0
Reading symbols from /usr/X11R6/lib/libXau.so.10.0...done.
Loaded symbols for /usr/X11R6/lib/libXau.so.10.0
Reading symbols from /usr/X11R6/lib/libXdmcp.so.11.0...done.
Loaded symbols for /usr/X11R6/lib/libXdmcp.so.11.0
#0  _dl_bind (object=0x10f5811d400, index=Variable "index" is not
available.
) at /usr/src/libexec/ld.so/amd64/rtld_machine.c:383
383                     *(volatile int *)0 = 0;         /* XXX */
(gdb) bt full
#0  _dl_bind (object=0x10f5811d400, index=Variable "index" is not
available.
) at /usr/src/libexec/ld.so/amd64/rtld_machine.c:383
           rel = (Elf64_Rela *) 0x10fb3e570c0
           sym = Variable "sym" is not available.
(gdb) list
383                     *(volatile int *)0 = 0;         /* XXX */
384             }
385
386             newval = ooff + this->st_value + rel->r_addend;
387
388             if (sobj->traced && _dl_trace_plt(sobj, symn))
389                     return newval;
390
391             /* if GOT is protected, allow the write */
392             if (object->got_size != 0) {
-----------------------------------------------------------
Adding --enable-debug for configure change nothing.
The last update on arts3 change nothing.
Hopefully it's only artsd with kdemultimedia who has this bug.

Fix:

I found nothing really useful on the web and the lists.
I have tried some little hacks, no one work.
After some researchs I found two similar errors related to respectively
_x_ao_new_port and ao_new_port with ld in
/usr/ports/pobj/kdemultimedia-3.5.10/build-amd64/config.log :
-----------------------------------------------------------
configure:42290: checking for _x_ao_new_port in -lxine
configure:42325: cc -o conftest -DNDEBUG -O2  -O2 -pipe
-DQT_THREAD_SUPPORT   -L/usr/local/lib -L/usr/local/lib/qt3
-L/usr/X11R6/lib    -L/usr/local/lib/kde3 -L/usr/local/lib/db4
-L/usr/local/lib/samba -L/usr/local/lib conftest.c -lxine -pthread  >&5
/usr/local/lib/libxine.so.32.0: warning: warning: strcpy() is almost
always misused, please use strlcpy()
/usr/local/lib/libxine.so.32.0: warning: warning: strcat() is almost
always misused, please use strlcat()
/usr/local/lib/libxine.so.32.0: warning: warning: sprintf() is often
misused, please use snprintf()
/tmp//cczltori.o: In function `main':
conftest.c:(.text+0x7): undefined reference to `_x_ao_new_port'
collect2: ld returned 1 exit status
configure:42331: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "kdemultimedia"
| #define VERSION "3.5.10"
| #define KDELIBSUFF ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_SGI_STL 1
| #define HAVE_STRLCAT 1
| #define HAVE_STRLCAT_PROTO 1
| #define HAVE_STRLCPY 1
| #define HAVE_STRLCPY_PROTO 1
| #define HAVE_CRYPT 1
| #define kde_socklen_t socklen_t
| #define ksize_t socklen_t
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_RES_INIT 1
| #define HAVE_RES_INIT_PROTO 1
| #define SIZEOF_INT 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_LONG 8
| #define SIZEOF_CHAR_P 8
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_UNSIGNED_LONG 8
| #define HAVE_VSNPRINTF 1
| #define HAVE_SNPRINTF 1
| #define HAVE_LIBZ 1
| #define HAVE_LIBPNG 1
| #define HAVE_LIBJPEG 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_DIRENT_H 1
| #define STDC_HEADERS 1
| #define HAVE_FCNTL_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_FILIO_H 1
| #define HAVE_SYS_AUDIOIO_H 1
| #define HAVE_SYS_SEM_H 1
| #define HAVE_STRING_H 1
| #define HAVE_GETOPT_H 1
| #define HAVE_MACHINE_ENDIAN_H 1
| #define HAVE_USLEEP 1
| #define HAVE_SNPRINTF 1
| #define TIME_WITH_SYS_TIME 1
| #define RETSIGTYPE void
| #define HAVE_OGG_VORBIS 1
| #define HAVE_VORBIS 2
| #define OGG_VORBIS 1
| #define HAVE_SOUNDCARD_H 1
| #define CDDA_PARANOIA 1
| #define HAVE_TAGLIB 1
| #define HAVE_AKODE 1
| #define HAVE_ARTS 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_LIBAUDIOFILE 1
| #define HAVE_MUSICBRAINZ 0
| #define HAVE_GSTREAMER 1
| #define GSTREAMER_VERSION 10
| #define HAVE_LIBTHEORA 1
| #define HAVE_LIBFLAC 1
| #define HAVE_LIBOGGFLAC 1
| #define USE_ARTS 1
| #define HAVE_PTHREAD_H 1
| #define HAVE_SOUNDCARD_H 1
| #define ATTRIBUTE_ALIGNED_MAX 64
| #define X11_SHARED_MEM 1
| #define X11_DGA2 1
| #define X11_XV 1
| #define X11_XVIDMODE 1
| #define OS_BSD 1
| #define HAVE_DIRENT_H 1
| #define STDC_HEADERS 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_FCNTL_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_PATHS_H 1
| #define HAVE_USLEEP 1
| /* end confdefs.h.  */
|
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char _x_ao_new_port ();
| int
| main ()
| {
| return _x_ao_new_port ();
|   ;
|   return 0;
| }
configure:42349: result: no
configure:42365: checking for ao_new_port
configure:42421: cc -o conftest -DNDEBUG -O2  -O2 -pipe
-DQT_THREAD_SUPPORT   conftest.c  >&5
/tmp//ccONgSjb.o: In function `main':
conftest.c:(.text+0x7): undefined reference to `ao_new_port'
collect2: ld returned 1 exit status
configure:42427: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "kdemultimedia"
| #define VERSION "3.5.10"
| #define KDELIBSUFF ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_SGI_STL 1
| #define HAVE_STRLCAT 1
| #define HAVE_STRLCAT_PROTO 1
| #define HAVE_STRLCPY 1
| #define HAVE_STRLCPY_PROTO 1
| #define HAVE_CRYPT 1
| #define kde_socklen_t socklen_t
| #define ksize_t socklen_t
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_RES_INIT 1
| #define HAVE_RES_INIT_PROTO 1
| #define SIZEOF_INT 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_LONG 8
| #define SIZEOF_CHAR_P 8
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_UNSIGNED_LONG 8
| #define HAVE_VSNPRINTF 1
| #define HAVE_SNPRINTF 1
| #define HAVE_LIBZ 1
| #define HAVE_LIBPNG 1
| #define HAVE_LIBJPEG 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_DIRENT_H 1
| #define STDC_HEADERS 1
| #define HAVE_FCNTL_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_FILIO_H 1
| #define HAVE_SYS_AUDIOIO_H 1
| #define HAVE_SYS_SEM_H 1
| #define HAVE_STRING_H 1
| #define HAVE_GETOPT_H 1
| #define HAVE_MACHINE_ENDIAN_H 1
| #define HAVE_USLEEP 1
| #define HAVE_SNPRINTF 1
| #define TIME_WITH_SYS_TIME 1
| #define RETSIGTYPE void
| #define HAVE_OGG_VORBIS 1
| #define HAVE_VORBIS 2
| #define OGG_VORBIS 1
| #define HAVE_SOUNDCARD_H 1
| #define CDDA_PARANOIA 1
| #define HAVE_TAGLIB 1
| #define HAVE_AKODE 1
| #define HAVE_ARTS 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_LIBAUDIOFILE 1
| #define HAVE_MUSICBRAINZ 0
| #define HAVE_GSTREAMER 1
| #define GSTREAMER_VERSION 10
| #define HAVE_LIBTHEORA 1
| #define HAVE_LIBFLAC 1
| #define HAVE_LIBOGGFLAC 1/usr/ports/x11/kde/multimedia3
| #define USE_ARTS 1
| #define HAVE_PTHREAD_H 1
| #define HAVE_SOUNDCARD_H 1
| #define ATTRIBUTE_ALIGNED_MAX 64
| #define X11_SHARED_MEM 1
| #define X11_DGA2 1
| #define X11_XV 1
| #define X11_XVIDMODE 1
| #define OS_BSD 1
| #define HAVE_DIRENT_H 1
| #define STDC_HEADERS 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_FCNTL_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_PATHS_H 1
| #define HAVE_USLEEP 1/usr/ports/x11/kde/multimedia3
| #define _x_ao_new_port ao_new_port
| /* end confdefs.h.  */
| /* Define ao_new_port to an innocuous variant, in case <limits.h>
declares ao_new_port.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define ao_new_port innocuous_ao_new_port
|
| /* System header to define __stub macros and hopefully few
prototypes,
|     which can conflict with char ao_new_port (); below.
|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|     <limits.h> exists even on freestanding compilers.  */
|
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|
| #undef ao_new_port
|
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char ao_new_port ();
| /* The GNU C library defines this for functions which it implements
|     to always fail with ENOSYS.  Some functions are actually named
|     something starting with __ and the normal name is an alias.  */
| #if defined __stub_ao_new_port || defined __stub___ao_new_port
| choke me
| #endif
|
| int
| main ()
| {
| return ao_new_port ();
|   ;
|   return 0;
| }
configure:42444: result: no
-----------------------------------------------------------

So I have tried a more radical hack : adding a real ao_new_port in
libarts_xine.
This means, at least, the file config.log must not have the error.

Firstly (step 1) you must build libxine (it contains _x_ao_new_port)
and
after you launch "make configure" for libarts_xine (step 2) :

Step 1] building the new libxine :
==================================
1.1) I have done a "make clean" and "make configure" in
/usr/ports/multimedia/xine.

1.2) I have added a new declaration for ao_new_port in

/usr/ports/pobj/xine-lib-1.2.6/xine-lib-1.2.6/src/xine-engine/audio_out.h

and
/usr/local/include/xine/audio_out.h
by duplicating _x_ao_new_port

1.3) I have added a new definition for ao_new_port in

/usr/ports/pobj/xine-lib-1.2.6/xine-lib-1.2.6/src/xine-engine/audio_out.c

by duplicating the code for _x_ao_new_port

1.4) I have replaced the call of _x_ao_new_port by ao_new_port in

/usr/ports/pobj/xine-lib-1.2.6/xine-lib-1.2.6/src/xine-engine/load_plugins.c



1.5) I have done a "make build", i have checked if the new files
libxine.so.32.0 and
libxine.a contain the new ao_new_port (ao_new_port.av_sync_methods and
ao_new_port.resample_modes)
The new lib seems good so i have copied the files to /usr/local/lib.

Step 2] launching configure for libarts_xine :
==============================================
2.1) Finaly I have done a "make clean" in
/usr/ports/x11/kde/multimedia3
(where you create libarts_xine)
followed by a "make configure", but in config.log I have always the
same
error!
So it's useless to go further.

It should work!
What is missing?
Thanks for any help.



xine-lib in ports is v1.2.6, kdemultimedia needs changes to use the
later version of xine-lib. That means working out how to replace
_x_ao_new_port.
You don't change xine-lib unless there is an actual error, and the error
is kdemultimedia from KDE 3 is no longer maintained upstream.

To disable xine add --with-xine=No to CONFIGURE_ARGS in the Makefile,
should also change LIB_DEPENDS and WANTLIB, and might need PLIST's
updating, plus a REVISION bump.

I have already tried this.
It doesn't work (it was not a surprise) :

loading extension from '/usr/local/lib/libarts_xine.la' failed: file not
found
MCOP ObjectManager: Could not load extension libarts_xine.la.
MCOP ObjectManager: can't find implementation for xineAudioPlayObject.
Segmentation fault (core dumped)


There shouldn't be any references to xine if disabled.


kdemultimedia 3.5.10 dates from 2008 well before xine-lib 1.2.6 was
available see the cvs log

revision 1.35
date: 2008/08/28 08:52:00; author: espie; state: Exp; lines: +5 -5;
3.5.10

Yes, i know, the KDE team have abandoned KDE3 for KDE4.
But with OpenBSD there are some updates after this date and this
suggest that it works like before.
But no, there is a regression for mp3 and ogg.
Effectively an update is necessary in kdemultimedia in
xine_artsplugin (libarts_xine).



This looks like a KDE 3 fork that fixes xine 1.2 issues

http://www.trinitydesktop.org/


Source files...


http://copernicus.mirrorservice.org/sites/trinitydesktop.org/trinity/releases/3.5.13.2/kdemultimedia-trinity-3.5.13.2.tar.xz



git server here...

https://git.trinitydesktop.org/cgit

Some extracts....

diff --git a/xine_artsplugin/audio_fifo_out.c
b/xine_artsplugin/audio_fifo_out.c
index f5256e1..9255ba2 100644
--- a/xine_artsplugin/audio_fifo_out.c
+++ b/xine_artsplugin/audio_fifo_out.c
@@ -1,6 +1,7 @@
    /*
       This file is part of KDE/aRts (Noatun) - xine integration
       Copyright (C) 2002-2003 Ewald Snel <ew...@rambo.its.tudelft.nl>
+   Copyright (C) 2014 Timothy Pearson <kb9...@pearsoncomputing.net>

       This library is free software; you can redistribute it and/or
       modify it under the terms of the GNU Lesser General Public
@@ -21,29 +22,40 @@
    #include <sys/time.h>
    #include <xine/audio_out.h>

+#if (XINE_MAJOR_VERSION >= 1) && (XINE_MINOR_VERSION >= 2)
+#include <xine/xine_internal.h>
+#include <xine/xine_plugin.h>
+#endif
+



Properly register aRts plugin with Xine >= 1.2.x
This resolves Bug 1905
Diffstat (limited to 'xine_artsplugin/configure.in.in')
-rw-r--r--    xine_artsplugin/configure.in.in    6

1 files changed, 3 insertions, 3 deletions
diff --git a/xine_artsplugin/configure.in.in
b/xine_artsplugin/configure.in.in
index 61168fb..7797d22 100644
--- a/xine_artsplugin/configure.in.in
+++ b/xine_artsplugin/configure.in.in
@@ -232,11 +232,11 @@ int shmCompletionType = XShmGetEventBase(
display );
    AC_LANG_RESTORE()

    dnl Check for new internal xine symbol names
-KDE_CHECK_LIB(xine, _x_ao_new_port, :,
+KDE_CHECK_LIB(xine, ao_new_port, :,
    [
-  AC_DEFINE(_x_ao_new_port, ao_new_port, [Compatibility with older
version of xine])
+  AC_DEFINE(ao_new_port, _x_ao_new_port, [Compatibility with newer
versions of xine])
    ])
-AC_CHECK_FUNC([ao_new_port])
+AC_CHECK_FUNC([_x_ao_new_port])

    AC_ARG_WITH([xine],
      [AC_HELP_STRING([--with-xine],

Yes it was my favorite during my research on the web.
I have already test this and it doesn't work (i don't know if it is
because they use linux).
I have the same error (...undefined symbol 'ao_new_port'...)
But this remind me that i must contact this project!
Did you try this previous patch?



The above patch is only part of the diff for a single commit in git
specifically related to xine >= 1.2.x, that doesn't mean other commits
aren't needed. It looked related to the same problem your having.

Yes it's related to the problem.
The complete patch i was referring in my previous post is available at

https://git.trinitydesktop.org/cgit/tdemultimedia/commit/?id=68cff160cbf2fb0b4865f2b74bb49b8fa1a2a657

Diffstat
-rw-r--r--  xine_artsplugin/Makefile.am  2
-rw-r--r--  xine_artsplugin/audio_fifo_out.c  155
-rw-r--r--  xine_artsplugin/configure.in.in  6
3 files changed, 139 insertions, 24 deletions

In your previous post you give some extracts of this same patch.
If you have not tried it, i hope you will do it.
Anyway thanks for your time!

Unfortunately, I didn't find the correct way to fix the issue, so I
just disabled the xine aRts plugin. It looks like we didn't loose
anything - Kaffeine and Noatun continue to play multimedia files
without problem.

I have tested many files with artsplay, Kaboodle, Noatun and Kaffeine.
And it works!

But some ogg doesn't work.
For example try this one :
artsplay /usr/local/share/sounds/KDE_TypeWriter_Bell.ogg
It should work
Now try this one :
artsplay /usr/local/share/sounds/KDE_Window_Open.ogg
there is no sound, nothing, same with Kaboodle and Noatun, but it works
with Kaffeine.
I have try to know why and it's certainly related to the size of the
file, i have not investigated further for the moment.
All the ogg files who have a size superior to KDE_TypeWriter_Bell.ogg
work but the other doesn't work.
Can you confirm ?

That being said, many many thanks for this patch!
You have resurrected KDEMultimedia-3.5.10!
A KDE3 user is very happy! :)
--
   WBR,
   Vadim Zhukov




Reply via email to