[Bug 7336] Morrowind fails to load title mp3 track

Wine Bugs wine-bugs at winehq.org
Tue Mar 6 23:12:01 CST 2007


http://bugs.winehq.org/show_bug.cgi?id=7336





------- Additional Comments From chris.kcat at gmail.com  2007-06-03 23:12 -------
*
Interesting.  I've been having a problem since the ntdll commit with even 
simple test applications crashing in something to do with thread management.
*

Threading is another problem I've run into recently, although I don't think 
it's the same issue you're having. As it's a bit unrelated to this bug, you 
may want to open a seperate bug report, if one isn't made already.

*
The terrible sound quality was a separate issue; I spent a long time during 
the summer of my SoC project trying to improve it.  As far as I could tell, 
the problem was at DirectSound or deeper; I stopped digging after a week or so 
to focus on the primary part of my project.
*

Yes, DSound or something related is a problem spot for me too. Most drivers 
will crash in DSound's mixer with an 8KB buffer the DSound Renderer tries to 
use, due to a buffer over-read (except OSS with Full acceleration, which I 
think bypasses DSound's mixer). A 16KB buffer seems to work without crashing.

*
Was adding an mpeg stream splitter sufficient to get audio working?  If you 
need help testing your patches, I'd be glad to help.
*

There were other bugs, namely that quartz would only attempt to use the first 
filter found and ACMWrapper was using uninitialized memory, both of which now 
fixed, but the missing built-in mpeg-1 stream splitter was a big problem. 
There's still a remaining problem that quartz will only use the async source 
file reader filter instead of the mp3 source file reader that some codec packs 
install, but using that returns bad media type info, and even native 
quartz.dll won't handle it. It's not essential though as mp3s can still play 
through the stream splitter and acmwrapper (which in turn uses winemp3.acm).

The last remaining "bad" problem is that after fixing a few more ref counting 
bugs, when a filtergraph is stopped it'll release the filters while the 
processing thread is still trying to process the pins. I fix that by holding 
the critical section when the pins are processed, and it locks up sometimes 
when trying to stop the stream, so I'm currently investigating that.

I'll get patches up for testing as soon as I get things organised.

*
I implemented support for MP3 using FFMPEG as part of my SoC project; if 
you're interested in what I did, a tarball of my test applications and patches 
is at http://people.clemson.edu/~sagarm/soc.tgz.
*

IIRC, Alexandre would rather not use external libs like this if possible. You 
may want to talk to him about it. I personally don't mind, although it'll be a 
bit tricky to match the filters that native quartz uses, including their 
input/output, to all run through ffmpeg.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list