|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
|
|
|
mciwave: need to serialize record and playEric,
I now tested you 2 "async split" patches on a pristine 1.1.31, i.e. without any of my patches. It is a good idea and astep in the right direction. The next step would be to move all possible tests before the split point, e.g. return OUTOFRANGE for bad positions. However, it still hangs in the full tests. I believe the last bug in mciwave will only be nailed down once the play and record loops manage to talk robustly with other commands such as pause and close. E.g., I added calls to mciStop at the top of Play and Resume. It still hangs, proving that the problem is not at start, but within playing/recording. Regards, Jörg Höhle. |
|
|
mciwave: need to serialize record and playEric,
I wrote: >However, it[Wine's MCI] still hangs in the full tests. I believe the last bug in mciwave >will only be nailed down once the play and record loops manage to talk robustly >with other commands such as pause and close. A recent idea of mine is to build upon your thread split work and - ensure at most one player thread is running at any time; - by adding a wmw->thread slot; - and stopping a playing thread before the next play or record starts a new one. This might cause a larger delay when issuing play mysound; play mysound from 0; play mysound from 500 which would require thread destruction and creation, which is much more expensive than just bumping wmw->dwPosition (mor or less safely) while another thread is playing, or starting a new one while the old one is not finished yet (as is currently done, causing subtle bugs). What do you think? BTW, please don't change mciwave now as I still have many patches in the queue. Regards, Jörg Höhle. |
|
|
Re: mciwave: need to serialize record and playJoerg-Cyril.Hoehle@... a écrit :
> Eric, > > I wrote: > >> However, it[Wine's MCI] still hangs in the full tests. I believe the last bug in mciwave >> will only be nailed down once the play and record loops manage to talk robustly >> with other commands such as pause and close. >> > > A recent idea of mine is to build upon your thread split work and > - ensure at most one player thread is running at any time; > - by adding a wmw->thread slot; > - and stopping a playing thread before the next play or record starts a new one. > > This might cause a larger delay when issuing > play mysound; play mysound from 0; play mysound from 500 > which would require thread destruction and creation, which is much more > expensive than just bumping wmw->dwPosition (mor or less safely) while another > thread is playing, or starting a new one while the old one is not finished yet > (as is currently done, causing subtle bugs). > > What do you think? > > BTW, please don't change mciwave now as I still have many patches in the queue. > > yes, actually, only one thread should be running in background, so what you suggest sounds fine A+ -- Eric Pouech "The problem with designing something completely foolproof is to underestimate the ingenuity of a complete idiot." (Douglas Adams) |
| Free embeddable forum powered by Nabble | Forum Help |