Joerg-Cyril.Hoehle@t-systems.com wrote:
This will allow me to enable one more testcase when I'll eventually submit the long awaited update to mciwave tests.
- if (dwFlags & MCI_WAIT)
- {
FIXME("MCI_WAIT not implemented\n");
- if (wmw->hFile == 0) {
- FIXME("Save file with zero-length sample\n");
- return MCIERR_INTERNAL; }
- WAVE_mciStop(wDevID, 0, NULL);
- WAVE_mciStop(wDevID, MCI_WAIT, NULL);
Please don't change the indentation style of the code. Also, it's not clear to me why you have removed the MCI_WAIT fixme, added MCI_WAIT to mciStop, and treat hFile == 0 as a zero-length sample.
Dmitry Timoshkov wrote:
Please don't change the indentation style of the code.
Oops!
Also, it's not clear to me why you have removed the MCI_WAIT fixme,
Because there's nothing to fix. My tests revealed no difference w/ or w/o WAIT flag.
added MCI_WAIT to mciStop,
It doesn't actually matter, since WAIT is ignored in Stop and it is synchronous anyway (currently), but I wanted to make it crystal clear that Save should wait for the completion of the Stop command before accessing the buffers.
and treat hFile == 0 as a zero-length sample.
That's the state of the MCI prior to the record command; only "Record" will create a (temp) file in Wine. Yet "Open new; Save" must work. That is the boundary case that my (yet unreleased) tests trigger. The native MCI then creates a formaly correct .wav file with the current format and a zero-length sample embedded therein. Funny, isn't it?
Regards, Jörg Höhle