Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 144842 - xmms-pipe does not work with xosd or xmms-crossfade plugins
Summary: xmms-pipe does not work with xosd or xmms-crossfade plugins
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Luis Medinas (RETIRED)
Keywords: PMASKED
Depends on: xmms-must-die
  Show dependency tree
Reported: 2006-08-23 04:20 UTC by Róbert Čerňanský
Modified: 2006-10-23 00:57 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---

Patch to enclose select() into loop. (signalbreak.patch,426 bytes, patch)
2006-08-28 03:11 UTC, Róbert Čerňanský
Details | Diff
Fixed ebuild that applies the patch. (xmms-pipe-0.5.3.ebuild,796 bytes, text/plain)
2006-08-28 03:15 UTC, Róbert Čerňanský

Note You need to log in before you can comment on or make changes to this bug.
Description Róbert Čerňanský 2006-08-23 04:20:33 UTC
When xosd (x11-libs/xosd) plugin is enabled in xmms, the xmms-pipe plugin does not work.

When xmms is started, xmms-pipe creates a pipe /tmp/xmmspipe-in_<user>.0 and symlink to it ~/.xmms/inpipe. This works correctly.

After sending a command to pipe it should be executed by xmms. For example:

$ echo play > ~/.xmms/inpipe

should start playing current song. This does not work, xmms does not execute any command sended to pipe. No error is printed.

When I disable xosd plugin (Preferences -> General Plugins -> On Screen Display) and restart xmms, the xmms-pipe works correctly.

Tried these versions, same bug with all of them:
media-sound/xmms: 1.2.10-r14, 1.2.10-r15
media-plugins/xmms-pipe: 0.5.3, 0.5.5 (not in portage)
x11-libs/xosd: 2.2.8-r1, 2.2.14-r1

(In the following scenario is xosd plugin disabled.)
The situation with Crossfade plugin (media-plugins/xmms-crossfade-0.3.8) is similar, except that xmms-pipe stops working after playing is started. So after xmms start, the pipe works. When I start play (no matter how; via pipe or by click on play button), the pipe stops working (does not execute commands anymore). xmms must be restarted to get pipe work again.

$ emerge --info
Portage 2.1-r2 (default-linux/amd64/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.17-gentoo-r4 x86_64)
System uname: 2.6.17-gentoo-r4 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.12.4
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
CFLAGS="-O2 -march=athlon64 -fomit-frame-pointer -fweb -pipe"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=athlon64 -fomit-frame-pointer -fweb -pipe"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
LINGUAS="en sk cs ru"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
USE="amd64 3dnowex 7zip X Xaw3d a52 aac aalib acpi aim alsa avi bash-completion bdf berkdb bitmap-fonts bluetooth bzip2 bzlib cairo caps cdparanoia cdr cli crypt css cups dga dlloader dri dts dv dvd dvdr editor edl emacs emboss encode ethereal exif fbcon ffmpeg firefox flac flash font-server foomaticdb fortran ftp gdbm gif gimpprint gphoto2 gpm gs gtk gtk2 gtkhtml guile iconv icq imagemagick imap imlib ipv6 isdnlog jabber jack jbig jpeg jpeg2k ladcca lcms leim libcaca lirc live lm_sensors lzw lzw-tiff mad maildir matroska memlimit mikmod mime mng motif mozsvg mp3 mpeg mplayer msn mule musepack musicbrainz ncurses network new-login nls nocd nowin nptl nvidia ofx ogg oggvorbis openal opengl oscar oss pam pcre pda pdf pdflib perl png pnp portaudio ppds pppd python qt qt3 qt4 quicktime rar readline recode reflection rtc samba sasl sdl server session snmp sockets sox speex spell spl ssl subtitles svg tabs tcl tcltk tcpd teamarena theora threads tiff tk truetype truetype-fonts type1-fonts unicode usb userlocales vcd vorbis wmf wxgtk1 wxwindows x264 xface xml xmms xorg xosd xpm xscreensaver xv xvid xvmc yahoo zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux linguas_en linguas_sk linguas_cs linguas_ru userland_GNU video_cards_nvidia video_cards_nv video_cards_fbdev video_cards_vesa"
Comment 1 Róbert Čerňanský 2006-08-28 03:08:45 UTC
I created a patch for xmms-pipe to fix this bug.

While xmms-pipe was waiting in select() function, it was interrupted by a signal and thread was ended. So I enclosed it into do ... while loop to repeat select() if it was interrupted by a signal.

I'll attach new ebuild and patch.
Comment 2 Róbert Čerňanský 2006-08-28 03:11:50 UTC
Created attachment 95264 [details, diff]
Patch to enclose select() into loop.

Patch belongs to files/ subdir.
Comment 3 Róbert Čerňanský 2006-08-28 03:15:00 UTC
Created attachment 95265 [details]
Fixed ebuild that applies the patch.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-10-23 00:57:40 UTC
xmms and all plugins are now package.masked and will be removed from the tree in one month.