Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 22788 - XMMS playing .ogg files -- click-hold drag window -- pauses xmms for unknown reason
Summary: XMMS playing .ogg files -- click-hold drag window -- pauses xmms for unknown ...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Brandon Hale (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-06-13 15:38 UTC by fiberchunks
Modified: 2003-10-07 13:15 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description fiberchunks 2003-06-13 15:38:21 UTC
start xmms, import both an mp3 and ogg into xmms.  

Play ogg -- then click-hold and drag the window around the desktop while ogg is
playing -- this, on my system, and another whom I've talked to, pauses the xmms
ogg ouput.  This does not happen with mp3s.  Therefore I suspect it has
something to do with the cpu cycles involved and libogg (but this is mere
speculation - I have no hard data to back this up.)

This does not happen when you scroll in a window of any type (tried in
web-browser and in xterm). The only time (that I've found so far), that this
happens is when doing the above.

NOTE: this is xmms 'pausing' output, not just un-heard audio, as xmms will
resume playing where it paused the ogg once you release the window.

Reproducible: Always
Steps to Reproduce:
1. Start xmms
2. Load both an ogg and mp3 file
3. Play ogg file
4. Click-hold and drag a window around the desktop for > 2 seconds -- xmms will
pause ogg output.
5. Play mp3 file -- do same from #4 -- xmms does not pause output.

Actual Results:  
XMMS ogg output paused -- stream was somehow interrupted.

Expected Results:  
Should keep playing output.  Perhaps a renicing of xmms is in order, but this
will not fix the problem for the 'average' non-root user.  



Programs I had running:
Multiple x-terms
Epiphany
Xchat2

Hardware information:
Linux horkinfiberchunks 2.4.20-gentoo-r5 #1 Sun Jun 1 23:16:45 EDT 2003 i686 AMD
Athlon(tm)  AuthenticAMD GNU/Linux

lspci output
00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP]
00:0e.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8233 PCI to ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06)
00:11.2 USB Controller: VIA Technologies, Inc. USB (rev 1b)
00:11.3 USB Controller: VIA Technologies, Inc. USB (rev 1b)
00:11.4 USB Controller: VIA Technologies, Inc. USB (rev 1b)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 70)
01:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4800]
(rev a1)

Kernel Option information:
Pre-emption is enabled -- bigmem is not
Sources: gentoo-sources

Memory information:
Mem:        902792     892504      10288          0     175808     413888

Software versions:
XMMS:
 media-sound/xmms-1.2.7-r20

libvorbis:
media-libs/libvorbis-1.0-r2

libogg:
media-libs/libogg-1.0

Per top: xmms has a nice value of 0

Any other information that may be important, please let me know, and I will
reproduce environment and try to capture necessary data.

I considered this a 'major' severity, as there is something wrong with a default
xmms plugin:
Comment 1 fiberchunks 2003-06-13 15:57:55 UTC
I forgot to add to my original post, that I fiddled with the ogg player plug in buffer sizes and pre-load percentages under the configuration tab -- upped it to 2048 k buffer (and variations thereof), and 90% preload (and variations thereof), with no success.

XMMS ogg plugin is version 1.2.7 (libvorbis.so)

Also, my CFLAGS="march=athlon-xp -O2 -pipe"


Can't think of anything else at the moment

Regards
Comment 2 fiberchunks 2003-06-13 16:07:42 UTC
Another note:
Ran ogg123 <file.ogg> as a regular user, and did the methods mentioned above -- the problem does NOT exist with ogg123.  So it must, I assume, be related to the xmms ogg plugin.

Extra data:
Top output with ogg123:
32250 foo      15   0  2092 2088 1444 S  1.3  0.2   0:00.35 ogg123                                             
32252 foo      15   0  2092 2088 1444 R  0.7  0.2   0:00.12 ogg123

note the nice values above -- 15 versus 0 for xmms, which really makes no sense. CPU usage is, however, higher with ogg123 as opposed to xmms -- but the problem is non-existant -- there is no pausing of output while dragging windows around.

note also, not sure how pertinent this is, but the ogg123 buffer was always 96.9% full during playback.  

Also note, I have used the same .ogg/mp3 tracks for all this testing.

Regards,
Comment 3 Andrew Bevitt 2003-06-14 01:24:28 UTC
I know this may not be of direct help to tracking down the problem, but I tested under windowmaker and kde and had no problems playing an ogg file (in xmms) but when I used fluxbox and played the same ogg file in xmms and tried moving the windows as above I experienced the same problem.

kinetik on #gentoo mentioned that his fluxbox version was 0.1.14* and was having the same difficulty, I am using fluxbox-0.9.3 so it is not version specific. Saying that it is simply a flux problem is yet to be shown though.
Comment 4 Andrew Bevitt 2003-06-14 02:11:59 UTC
OK ive been doing some futher experimenting with both fluxbox version 0.1.* and 0.9.* and have seemingly come across an interesting issue. 
Using the ALSA output plugin
0.9.* stalls instantly when moving the window, but when you try to move the window again straight after everything works fine.
0.1.* stalls instantly irrespective.

Using esound
0.9.* Only the XMMS window does not get refreshed (ie the scope bars stop moving) but music will play continuously.
0.1.* Stalls after 5 or 6 seconds everytime

Using OSS
0.9.* Could not test (not setup of oss)
0.1.* Same as esound

Using Artsd
No problems with either (probably because this was done under KDE)

The window refresh is obiviously a flux issue, but the sound output is seemingly something larger possibly fluxbox freezing all processes until the window redraw is complete. Not sure though... and that would be rather silly.

Will look into it more later...
Comment 5 fiberchunks 2003-06-15 19:11:04 UTC
An additional note to the above -- this does happen with liteamp as well.  Apparently this IS a fluxbox issue -- not sure what, but it's very odd.  Also note that when dragging a window, while using mplayer, the same effect is found. 

Somehow, dragging windows in flux causes all processes to be backgrounded?  I dunno.

Regards,
Comment 6 fiberchunks 2003-06-16 18:01:33 UTC
New information:
cyfred on #gentoo, seems to have discovered the 'real' issue.  And that issue seems to be with fluxbox and the X function LockDisplay.  My initial assumptions are wrong.  

It seems that when focus is given to moving a window about, fluxbox calls the LockDisplay function, which leads to: 1) all output in other windows not in focus halting updates / refresh, 2) all ogg output from an X window device being halted as well.  

This still does not happen with mp3 files, so that is kind of a mystery.  Cyfred is going to fiddle with fluxbox code and see if it can't temporarily be disabled for testing purposes.

Regards,
Comment 7 fiberchunks 2003-06-16 18:08:03 UTC
never mind the above comment about it NOT happening with mp3.  It happens with that manner of file as well -- I believe that once cyfred investigates the flux code more, he'll find the source of the issue.

Regards,
Comment 8 Andrew Bevitt 2003-06-16 19:17:44 UTC
OK this thing just escalated slightly.

When fiberchunks noticed that mp3's were having the same issue in liteamp I tried emerging liteamp to duplicate that. Problem I couldn't. On an off shot I recompiled xmms and wouldnt you know it... Ogg file play back worked fine aswell.

The primary difference appears to be that I (cyfred) use gcc 3.3 and fiberchunks is using 3.2.3 -- from what Ive seen looking through fluxbox / XFree code and from what we've (as a community) have seen with GCC 3.3 and its code _strictness_ as such I think what is happening along the line somewhere is that a macro has been defined in one compiler and that has changed the way X handles its locking. That cant be entirely the issue though, as a recompile of the player (in my case xmms) with GCC 3.3 resulted in normal operation.

Tracking this through the source may actually be a little more difficult than expected. Seemingly though as it does only happen under fluxbox (unless someone else comes forward) it would be how fluxbox calls XMoveWindow which calls LockDisplay that is creating the biggest problem -- XTHREADS might be the best place to start looking I think.
Comment 9 fiberchunks 2003-06-22 18:27:59 UTC
to add another little interesting nugget to this discussion, someone on #gentoo asked me about this, and mentioned that, after compiling a kernel with preemption support, his xmms under gnome2 seemed to exhibit the same behavior.  I asked to follow up here, and post additional comments.  Hopefully that will happen -- I may try recompiling the kernel on my box with gcc 3.2.3 and no pre-emption, to check that out, and see if that has any merit (which it seems it very well might?)

Regards,
Comment 10 Nick Hadaway 2003-07-05 01:13:13 UTC
this problem is *most likely* not specific to ogg files... 

debian has an open bug which relates to this type of problem... with no distinct answer... 
http://bugs.debian.org/cgi-bin/bugreport.cgi?archive=no&bug=71118

and on the xmms side... there were some people that had problems in conjunction with AC97 chipset audio drivers in earlier kernels but that's about the closest thing to your problem.

I have tested mp3 and ogg files with both the alsa and oss output and I have not been able to recreate your problem.  (Currently using WindowMaker)

I wonder if this issue shows itself in blackbox as well as fluxbox?
I'll test more and report what I find.

NOTE: I am using a kernel with preempt enabled.
Comment 11 fiberchunks 2003-09-11 14:08:50 UTC
Additional info, and a workaround.

If you enable the 'opaque window movement' item in the fluxbox config (from the root menu), this problem goes away (at least for me it does.)

Also, it seems that this is inevitable (according to han on #fluxbox).  Apparently it's not going to be fixed, as it isn't on fluxbox's list of bugs to fix, so i dunno what the solution will be (i.e. if it will ever work with transparent window movement).

Anyway, here's the current list of bugs, if anyone's interested:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/fluxbox/fluxbox/BUGS


Regards,
Comment 12 Brandon Hale (RETIRED) gentoo-dev 2003-09-14 11:33:00 UTC
I've made the fluxbox devels aware of this and they say it will go on their TODO.
Comment 13 Brandon Hale (RETIRED) gentoo-dev 2003-10-07 13:15:07 UTC
This is clearly not a Gentoo bug, and upstream has been made aware. Closing
with WONTFIX.